单位四元数
#region 单位四元数print(Quaternion.identity);testObj.rotation = Quaternion.identity;//初始化对象时可能会用来赋值Instantiate(testObj,Vector3.zero,Quaternion.identity);#endregion
插值运算
#region 插值运算
//四元数中也提供了如同Vector3的插值运算
//Lerp和Slerp//在四元数中Lerp和Slerp只有一些细微的差别
//由于算法不同
//Slerp的效果会好一些
//Lerp的效果相比Slerp的效果更快但是如果旋转范围较大,效果会较差
//所以建议使用Slerp做插值运算
#endregion
//先快后慢无限接近
A.transform.rotation = Quaternion.Slerp(A.rotation, target.rotation, Time.deltaTime);//匀速变化
time += Time.deltaTime;
B.rotation = Quaternion.Slerp(start, target.rotation, time);
向量指向四元数
Quaternion q = Quaternion.LookRotation(lookB.position - lookA.position);lookA.rotation = q;