Legacy Documentation: Version 2017.2 (Go to current version)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Rigidbody.MovePosition

Switch to Manual
public method MovePosition(position: Vector3): void;

Parameters

position The new position for the Rigidbody object.

Description

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.

var teleportPoint: Vector3;
var rb: Rigidbody;

function Start() { rb = GetComponent.<Rigidbody>(); }

function 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).

Did you find this page useful? Please give it a rating: