Transform.Translate比Rigidbody.MovePosition移动更流畅。
Rigidbody.MovePosition()
...
public Transform target;
...
void Update()//每帧调用
{
...
testMove();
...
}
...
public void testMove()
{
Vector3 dir = target.transform.position - this.transform.position;
Vector3 vector = this.transform.position + dir.normalized * speed * Time.deltaTime;
this.transform.GetComponent<Rigidbody>().MovePosition(vector);
}
...
Transform.Translate
...
public Transform target;
...
void Update()//每帧调用
{
...
testMove();
...
}
...
public void testMove()
{
Vector3 dir = target.transform.position - this.transform.position;
Vector3 vector = this.transform.position + dir.normalized * speed * Time.deltaTime;
this.transform.Translate(dir.normalized * speed * Time.deltaTime, Space.World);
}
...

本文探讨了在Unity中使用Rigidbody.MovePosition()与Transform.Translate()进行物体移动的区别,指出Transform.Translate通常提供更流畅的移动效果。文章引用了多个参考资料来支持这一观点。
最低0.47元/天 解锁文章
2971

被折叠的 条评论
为什么被折叠?



