Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


RotateTowards

Rotates a rotation from towards to.
Read time 2 minutesLast updated 10 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

RotateTowards(Quaternion, Quaternion, float)

Rotates a rotation
from
towards
to
.
public static Quaternion RotateTowards(Quaternion from, Quaternion to, float maxDegreesDelta)

Parameters

The unit quaternion to be aligned with
to
.

The target unit quaternion.

maxDegreesDelta

The maximum angle in degrees allowed for this rotation.

Returns

Type

Description

QuaternionA unit quaternion rotated towards
to
by an angular step of
maxDegreesDelta
.

Remarks

The
from
quaternion is rotated towards
to
by an angular step of
maxDegreesDelta
. The rotation will not overshoot the
to
quaternion. Negative values of
maxDegreesDelta
moves away from
to
until the rotation is exactly the opposite direction.

Examples

using UnityEngine;public class Example : MonoBehaviour{ // The object whose rotation we want to match. public Transform target; // Angular speed in degrees per sec. public float speed = 1.0f; void Update() { // The step size is equal to speed times frame time. var step = speed * Time.deltaTime; // Rotate our transform a step closer to the target's. transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, step); }}

RotateTowards(Quaternion, Quaternion, float)

Rotates a rotation
from
towards
to
.
public static Quaternion RotateTowards(in Quaternion from, in Quaternion to, float maxDegreesDelta)

Parameters

The unit quaternion to be aligned with
to
.

The target unit quaternion.

maxDegreesDelta

The maximum angle in degrees allowed for this rotation.

Returns

Type

Description

QuaternionA unit quaternion rotated towards
to
by an angular step of
maxDegreesDelta
.

Remarks

The
from
quaternion is rotated towards
to
by an angular step of
maxDegreesDelta
. The rotation will not overshoot the
to
quaternion. Negative values of
maxDegreesDelta
moves away from
to
until the rotation is exactly the opposite direction.

Examples

using UnityEngine;public class Example : MonoBehaviour{ // The object whose rotation we want to match. public Transform target; // Angular speed in degrees per sec. public float speed = 1.0f; void Update() { // The step size is equal to speed times frame time. var step = speed * Time.deltaTime; // Rotate our transform a step closer to the target's. transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, step); }}