а где учат писать такой LERP с динамической точкой старта? для перемещения с равномерной скоростью нужно начальную точку и конечную взять статичными, меняя только коэффициент интерполяции от 0 до 1
например (инцииализацию можете и по-своему сделать)
public GameObject Test;
public Vector3 StartPosition;
public Vector3 TargetPosition;
void Start() {
StartPosition = Test.transform.position;
}
void Update(){
Test.transform.position = Vector3.Lerp(StartPosition, TargetPosition, 5f * Time.deltaTime);
}
то что вы изначально написали может дико зависеть как от FPS так и от погрешности устройства, и вобще криво т.к. не выражает намерений (от куда до куда за сколько пеермещаться должно?)