在 a
和 b
之间插入 t
,然后对结果进行标准化处理。参数 t
被限制在 [0, 1] 范围内。
该方法比 Slerp 快,但如果旋转相距很远,其视觉效果也更糟糕。
using UnityEngine;
public class Example : MonoBehaviour { // Interpolates rotation between the rotations // of from and to. // (Choose from and to not to be the same as // the object you attach this script to)
public Transform from; public Transform to; float speed = 0.1f; float t = 0; void Update() { t += Time.deltaTime * speed; transform.rotation = Quaternion.Lerp(from.rotation, to.rotation, t); } }
另请参阅:Slerp、LerpUnclamped。