position | 刚体对象的新位置。 |
将刚体移动到 /position/。
使用 Rigidbody.MovePosition 移动刚体,符合刚体的插值设置。
如果在刚体上启用了刚体插值,则调用 Rigidbody.MovePosition 会导致在渲染的任意中间帧中的两个位置之间平滑过渡。若要在每个 FixedUpdate 中连续移动刚体,则应使用该方法。
若要将刚体从一个位置传送到另一个位置,并且不渲染任何中间位置,请改为设置 Rigidbody.position。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public Vector3 teleportPoint;
public Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
}
void FixedUpdate() {
rb.MovePosition(transform.position + transform.forward * Time.deltaTime);
}
}
如果将刚体的 isKinematic
设置为 false,则其以不同的方式工作。
它的工作方式类似于 transform.position=newPosition
并传送对象
(而不是平滑过渡)。