Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


MovePosition(Vector3)

Moves the kinematic Rigidbody towards position.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.PhysicsModule
public void MovePosition(Vector3 position)

Parameters

position

Provides the new position for the Rigidbody object.

Remarks

Rigidbody.MovePosition moves a Rigidbody and complies with the interpolation settings. When Rigidbody interpolation is enabled, Rigidbody.MovePosition creates a smooth transition between frames. Unity moves a Rigidbody in each FixedUpdate call. The position occurs in world space. To teleport a Rigidbody from one position to another, use Rigidbody.position instead of Rigidbody.MovePosition.

Examples

using UnityEngine;public class Example : MonoBehaviour{ Rigidbody m_Rigidbody; public float m_Speed = 5f; void Start() { //Fetch the Rigidbody from the GameObject with this script attached m_Rigidbody = GetComponent<Rigidbody>(); } void FixedUpdate() { //Store user input as a movement vector Vector3 m_Input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); //Apply the movement vector to the current position, which is //multiplied by deltaTime and speed for a smooth MovePosition m_Rigidbody.MovePosition(transform.position + m_Input * Time.fixedDeltaTime * m_Speed); }}