Unity中Quaternion的含义及其使用

官网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 ==
判断两个四元数是否相等

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值