Version: 5.6
public void MovePosition (Vector3 position);

파라미터

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