Unity 如何使用四元数?

  •  
  • 四元数表示一个旋转。我们无需掌握计算,理解用途就可以使用。

    一个四元数Q 有两种用途:

    1.表示状态。表示旋转状态,比如transform的rotation属性就是一个四元数。

    2.表旋转动作。四元数乘以另一个四元数,表示旋转操作的叠加;四元数"乘"一个三维向量,表示对改向量进行 Q表示的旋转。

    Tips: 第一种情况,也可看作从初始状态进行 Q表示的旋转。

    Unity 如何使用四元数?

  • 创建四元数有常用方法如下:

    1.new创建新的四元数

    2.指定旋转轴和角度创建四元数

    3.从欧拉角创建四元数(旋转顺序是zxy)

    4.从起始方向转到结束方向的四元数

    5.根据已有四元数创建逆

    6.直接创建可赋值给transform.rotation的旋转状态四元数

    Unity 如何使用四元数?

  • 用法1:transform组件的rotation属性就是一个四元数(表状态)。可以直接指定

    Unity 如何使用四元数?

  • 用法2:四元数右边乘一个向量,就是按照该四元数旋转(表动作

    Unity 如何使用四元数?

  • 用法3:四元数乘四元数,表旋转的叠加。如图表示先进行q1后进行q2

    Unity 如何使用四元数?

  • 用法4:通过Matrix4x4.SetTRS函数,传入位置(三维矢量),旋转量(四元数),缩放比例(三维矢量),构造矩阵。

    Unity 如何使用四元数?

  • 用法5:通过SLerp进行渐进插值,或者通过额外代码进行均匀插值。

    Unity 如何使用四元数?

猜你喜欢

转载自blog.csdn.net/haneya/article/details/106750762
今日推荐