我无法创建流畅的Unity 2d对象运动。
我正在使用函数Vector2.MoveTowards(position, destination, speed * Time.deltaTime)
。
我实际上是创建一个空的2d项目,放入单个64x64 png,创建单个脚本并附加到该对象。
我还尝试使用Update,FixedUpdate,LateUpdate,舍入MoveTowards结果,修改时间设置,使用Time.deltaTime,Time.smoothDeltaTime,Time.fixedDeltaTime。还尝试根据FixedUpdate()调用之间的传递毫秒来手动计算传递的距离(而不是MoveTowards)。它实际上是带有单个脚本和单个对象的空项目,并且结结巴巴。计算机资源可用,Unity优先级设置为实时或高。
答案 0 :(得分:0)
使用deltaTime可能会在较低的帧速率或较高的移动速度下产生结结。尝试将deltaTime移动与lerping或interpolated rigidbody结合使用:
勒索的例子:
transform.position = Vector3.Lerp(transform.position, wantedPosition, Time.deltaTime * lerpSpeed);
使用刚体移动的示例:
myRigidbody.MovePosition(wantedPosition);
但这只是片段,因此请在文档中查找。为了对刚体使用插值,Unity创建了tutorial。我想您可以找到很多其他指南...