position | The new position for the Rigidbody object. |
Moves the rigidbody to position
.
Use Rigidbody.MovePosition to move a Rigidbody, complying with the Rigidbody's interpolation setting.
If Rigidbody interpolation is enabled on the Rigidbody, calling Rigidbody.MovePosition results in a smooth transition between the two positions in any intermediate frames rendered. This should be used if you want to continuously move a rigidbody in each FixedUpdate.
Set Rigidbody.position instead, if you want to teleport a rigidbody from one position to another, with no intermediate positions being rendered.
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); } }
If the rigidbody has isKinematic
set false then it works differently.
It works like transform.position=newPosition
and teleports the object
(rather than a smooth transition).