unity Vector2.MoveTowards口吃

时间:2019-10-25 06:43:34

标签: unity3d 2d

我无法创建流畅的Unity 2d对象运动。 我正在使用函数Vector2.MoveTowards(position, destination, speed * Time.deltaTime)。 我实际上是创建一个空的2d项目,放入单个64x64 png,创建单个脚本并附加到该对象。

Project View The code

我还尝试使用Update,FixedUpdate,LateUpdate,舍入MoveTowards结果,修改时间设置,使用Time.deltaTime,Time.smoothDeltaTime,Time.fixedDeltaTime。还尝试根据FixedUpdate()调用之间的传递毫秒来手动计算传递的距离(而不是MoveTowards)。它实际上是带有单个脚本和单个对象的空项目,并且结结巴巴。计算机资源可用,Unity优先级设置为实时或高。

1 个答案:

答案 0 :(得分:0)

使用deltaTime可能会在较低的帧速率或较高的移动速度下产生结结。尝试将deltaTime移动与lerpinginterpolated rigidbody结合使用:
勒索的例子:

transform.position = Vector3.Lerp(transform.position, wantedPosition, Time.deltaTime * lerpSpeed);

使用刚体移动的示例:

myRigidbody.MovePosition(wantedPosition);

但这只是片段,因此请在文档中查找。为了对刚体使用插值,Unity创建了tutorial。我想您可以找到很多其他指南...