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
并传送对象
(而不是平滑过渡)。