Я на самом деле не пользуюсь транслейтом, решил оставить в примере. Видно не надо было...
public class WaypointMove : MonoBehaviour
{
public float speed_move = 10f;
public Transform [] waypoint;
private int i=0;
private bool move = true;
void Update()
{
if (move)
{
var direction = waypoint[i].position - transform.position;
var distance = direction.magnitude;
direction.Normalize();
var movement = speed_move *Time.deltaTime;
if (distance > movement )
{
transform.position += direction * movement;
}
else
{
transform.position = waypoint[i].position;
if (i < waypoint.Length-1)
{
movement -= distance;
transform.position += (waypoint[i+1].position - waypoint[i].position).normalized * movement;
i++;
}
else
{
move = false;
}
}
}
}
}