欧拉角,Roll-Pitch-Yaw. Roll表示绕X轴旋转,Pitch表示绕Y轴旋转,Yaw表示绕Z轴旋转。
在欧拉角中,三个角度存在层级关系。例如Roll->Pitch->Yaw,Roll旋转时会同时旋转Pitch和Yaw,Pitch旋转时会旋转Yaw,而Yaw旋转时则不能影响前面2个。
在UE4中,层级关系似乎是Yaw->Pitch->Roll。 Pitch一定是第二层级,因为本人测试过当Pitch旋转为±90°的时候,将发生万象锁。
万象锁,即由于第二层级旋转轴发生±90°的旋转,从而导致第三层级的旋转轴与第一层级的旋转轴重合。此时,因为第一层级和第三层级的旋转轴重合,因此第一层级的旋转效果和第三层级的旋转效果是一样的。
这个现象就是万象锁问题。
解决方法:
第一是限制第二层级旋转轴的旋转角度。只要旋转角度不是±90°,则不会发生万象锁。不过这种情况下,要进行连续的旋转动画则可能会由问题。
以上为对欧拉角万象锁的理解。
附上万象锁解释视频:https://www.bilibili.com/video/av8387812/?spm_id_from=333.338.recommend_report.2