码迷,mamicode.com
首页 > 编程语言 > 详细

Unity中Quaternion的含义及其使用

时间:2015-04-23 20:01:39      阅读:407      评论:0      收藏:0      [点我收藏+]

标签:旋转   unity   unity3d   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 ==
判断两个四元数是否相等

Unity中Quaternion的含义及其使用

标签:旋转   unity   unity3d   quaternion   

原文地址:http://blog.csdn.net/u012200908/article/details/45224557

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!