a | Start unit quaternion value, returned when t = 0. |
b | End unit quaternion value, returned when t = 1. |
t | Interpolation ratio. Value is clamped to the range [0, 1]. |
Quaternion
A unit quaternion spherically interpolated between quaternions a
and b
.
Spherically linear interpolates between unit quaternions a
and b
by a ratio of t
.
Use this to create a rotation which smoothly interpolates between the first unit quaternion a
to the second unit quaternion b
, based on the value of the parameter t
. If the value of the parameter is close to 0, the output will be close to a
, if it is close to 1, the output will be close to b
.
// Interpolates rotation between the rotations "from" and "to" // (Choose from and to not to be the same as // the object you attach this script to)
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform from; public Transform to;
private float timeCount = 0.0f;
void Update() { transform.rotation = Quaternion.Slerp(from.rotation, to.rotation, timeCount); timeCount = timeCount + Time.deltaTime; } }
另请参阅:Lerp、SlerpUnclamped。