1、单位四元数
单位四元数表示没有旋转量(角位移),当角度为0或者360度时,对于给定轴会得到单位四元数。
【1,(0,0,0)】和【-1,(0,0,0)】都是单位四元数,表示没有旋转量
在四元数中,用【Quaternion.identity】表示
通常用在实例化对象:Instantiate(obj, Vector3.zero, Quaternion.identity),表示在原点生成一个没有旋转的物体obj
2、四元数插值运算
四元数中同样提供了如同Vector3的插值运算:Lerp和Slerp
在四元数中,Lerp和Slerp只有一些细微差别,由于算法不同,Slerp的效果会好一些
Lerp的效果相比Slerp更快但是如果旋转范围较大,效果较差,所以建议使用Slerp进行插值运算
3、向量指向转四元数
Quaternion. LookRotation(面朝向量)
LookRotation方法可以将传入的面朝向量,转换为对应的四元数角度信息
举例:当人物面朝向像改变时,只需要把目标面朝向传入该函数,便可以得到目标四元数角度信息,之后将人物四元数角度信息改为得到的信息即可达到转向
总结:
(1)单位四元数——用于对象角度初始化
(2)插值运算——用于平滑旋转
(3)向量指向转四元数——用于让对象朝向某方向