本文主要是介绍Unity中四元数常用的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
单位四元数
#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;
这篇关于Unity中四元数常用的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!