Legacy Documentation: Version 5.3
LanguageEnglish
  • C#
  • JS

Script language

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

Rigidbody.MoveRotation

Switch to Manual
public void MoveRotation(Quaternion rot);

Parameters

rot The new rotation for the Rigidbody.

Description

Rotates the rigidbody to rotation.

Use Rigidbody.MoveRotation to rotate a Rigidbody, complying with the Rigidbody's interpolation setting.

If Rigidbody interpolation is enabled on the Rigidbody, calling Rigidbody.MoveRotation will resulting in a smooth transition between the two positions in any intermediate frames rendered. This should be used if you want to continuously rotate a rigidbody in each FixedUpdate.

Set Rigidbody.rotation instead, if you want to teleport a rigidbody from one rotation to another, with no intermediate positions being rendered.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Vector3 eulerAngleVelocity; public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void FixedUpdate() { Quaternion deltaRotation = Quaternion.Euler(eulerAngleVelocity * Time.deltaTime); rb.MoveRotation(rb.rotation * deltaRotation); } }

Teleports the object (rather than a smooth transition) if it has isKinematic set false.