官网API文档:
file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Quaternion.html
Quaternion的意思是四元数,用于代表旋转。
它们是紧致的,不会产生万向节死锁并且能够很容易被插值。Unity内使用Quaternion表示所有的旋转动作。(万向节是什么可以百度下)
四元数是基于复数的,并不容易被直观地理解,因此你基本上从来不需要访问或修改单个Quaternion组件(x,y,z,w);通常你只需要拿到现有的旋转(例如,来自Transform)并使用它们来构造新的旋转(例如,在两个旋转间平滑地插值)。四元数函数的应用中,99%的时间是在应用以下函数(其他函数仅额外使用)Quaternion.LookRotation, Quaternion.Angle, Quaternion.Euler, Quaternion.Slerp, Quaternion.FromToRotation, Quaternion.identity。
你可以使用Quaternion.operator *来将某一次旋转通过另一个旋转角度旋转,或由一个旋转角度来旋转一个向量。
静态变量:
identify
identify是一个只读变量。这个四元数相当于没有旋转,即仍为物体本身。
变量:
eulerAngles
返回表示旋转的欧拉角度。
this [int index]
分别使用 [0]、[1]、 [2]、 [3],访问x、y、z、w组件。
W
四元数的W组件。不要直接修改此组件,除非你很了解四元数。
X
四元数的X组件。不要直接修改此组件,除非你很了解四元数。
Y
四元数的Y组件。不要直接修改此组件,除非你很了解四元数。
Z
四元数的Z组件。不要直接修改此组件,除非你很了解四元数。
构造器:
Quaternion
用给定的x、y、z、w组件,构造新的四元数。
函数:
Set
为一个已经存在的四元数设定x,y,z,w组件。
SetFromToRotation
创建一个从fromDirection到toDirection的旋转。
SetLookRotation
创建一个有具体的forward和upward方向的旋转。
ToAngleAxis
将旋转转换为用“角-轴”表示。
ToString
返回一个完整格式化的四元数字符串。
静态方法:
Angle
返回两个旋转a和b两者之间的角度。
AngleAxis
绕axis轴旋转angle,创建一个旋转。
Dot
两个旋转之间的点乘。
Euler
返回一个旋转角度,绕z轴旋转z度,绕x轴旋转x度,绕y轴旋转y度。
FromToRotation
从fromDirection到toDirection创建一个旋转。
Inverse
返回旋转的反向旋转。
Lerp
通过t值from向to之间插值,并且在操作之后将结果规范化。
LookRotation
创建一个有具体的forward和upward方向的旋转。
RotateTowards
旋转一个角度从from向to。
Slerp
球形插值,通过t值from向to之间插值。
运算符:
operator !=
判断两个四元数是否不等
operator *
合并两个旋转
operator ==
判断两个四元数是否相等