版本: Unity 6 (6000.0)
语言英语
  • C#

Quaternion.Slerp

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每一个修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static Quaternion Slerp(Quaternion a, Quaternion b, float t);

参数

a 开始的单位四元数值,当 t = 0 时返回。
b 结束的单位四元数值,当 t = 1 时返回。
t 插值比率。值被钳制在 [0, 1] 范围内。

返回

Quaternion 在四元数 ab 之间进行球面插值的单位四元数。

描述

通过 t 的比率对单位四元数 ab 进行球面线性插值。

使用此方法创建旋转,该旋转根据参数 t 的值,在第一个单位四元数 a 到第二个单位四元数 b 之间平滑插值。如果参数的值接近 0,则输出将接近 a,如果参数的值接近 1,则输出将接近 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; } }

其他资源: LerpSlerpUnclamped.