-
四元数表示一个旋转。我们无需掌握计算,理解用途就可以使用。
一个四元数Q 有两种用途:
1.表示状态。表示旋转状态,比如transform的rotation属性就是一个四元数。
2.表旋转动作。四元数乘以另一个四元数,表示旋转操作的叠加;四元数"乘"一个三维向量,表示对改向量进行 Q表示的旋转。
Tips: 第一种情况,也可看作从初始状态进行 Q表示的旋转。
-
创建四元数有常用方法如下:
1.new创建新的四元数
2.指定旋转轴和角度创建四元数
3.从欧拉角创建四元数(旋转顺序是zxy)
4.从起始方向转到结束方向的四元数
5.根据已有四元数创建逆
6.直接创建可赋值给transform.rotation的旋转状态四元数
-
用法1:transform组件的rotation属性就是一个四元数(表状态)。可以直接指定
-
用法2:四元数右边乘一个向量,就是按照该四元数旋转(表动作)
-
用法3:四元数乘四元数,表旋转的叠加。如图表示先进行q1后进行q2
-
用法4:通过Matrix4x4.SetTRS函数,传入位置(三维矢量),旋转量(四元数),缩放比例(三维矢量),构造矩阵。
-
用法5:通过SLerp进行渐进插值,或者通过额外代码进行均匀插值。
Unity基础之四元数用法
最新推荐文章于 2022-11-01 10:50:39 发布