1、欧拉角
在Unity中完成绕x轴的四元数声明。
上述方法不是经常用,下面方法为四元数常用方法:
此时的Vector3.forward不是世界坐标下的面朝向,是物体坐标系下自己的面朝向。
我们不能直接修改rotation里的欧拉角的值,我们用Vector3存起来,改变Vector3。
用欧拉角转换成四元数的知识。转换-赋值
此时Rotation x = 90。如果是欧拉角的话 为死锁状态。
运行后发现没有绕y轴转,而是绕Z轴转。
用 欧拉角旋转有万向节死锁。
四元数
1、单位四元数
在Unity中单位四元数的编写:
创建一个cube,rotation的xyz不为0.
在脚本中将它的rotation变为单位四元数。
角度为0,0,0。
作用:初始化物体时,可以将物体的四元数设置为单位四元数。
2、插值运算
将A、B转动到和Cube一样。
先快后慢。
匀速和Vector3同理,不会就回去复习以下。
3、向量指向四元数(重要)
我们想让A指向B,除了LookAt函数外,我们可以用上方的LookRotation函数。我们需要得到AB向量,将AB向量传入LookRotation。将返回的四元数赋予A,就可以使A转向,面朝B。
A朝向了B。
四元数计算(重要)
1、四元数相乘
绕y轴,转20°。
如若还要绕自己的y轴转20°,那么可以再乘一次。
2、四元数乘向量
四元数乘以向量,四元数一定是在前面的。
使用意义:发射不同方向的子弹,面朝向乘以四元数得到不同方向。