其他分享
首页 > 其他分享> > 【笔记】Unity中解决万向节锁

【笔记】Unity中解决万向节锁

作者:互联网

一、首先什么是万向节锁

先贴几篇转载的文章:【Unity编程】欧拉角与万向节死锁(图文版)_Andrew的游戏世界-CSDN博客_欧拉角死锁

按我的理解就是,正常情况直接使用transform.localEulerAngles是没问题的,但是根据Unity的zxy的旋转规则,当你是先绕x轴(pitch俯仰)旋转90度后,这时再去单独旋转y(Yaw偏航),和单独旋转z,效果都是绕z轴(Roll桶滚)旋转,这就不是我们要的结果了。

然后解决的办法就是用四元数(Quaternion)

二、什么是四元数

也是推荐几个视频给大家了解:

四元数的可视化_哔哩哔哩_bilibili

四元数和三维转动,可互动的探索式视频(请看链接)_哔哩哔哩_bilibili

三、结论

通过了解与实际操作后,将欧拉角带入unity四元数Quaternion.Euler()中即可。

Unity官方文档关于Quaternion的描述:

Unity - Scripting API: Quaternion

本人之前在搞摄像机跟随旋转视角和人物转向的时候踩过一次坑,之后通过各种资源知道了用四元数,所以在这按自己的想法记录下,同时也推荐朋友们去了解,共同进步

标签:Quaternion,笔记,万向节,四元,Unity,哔哩,旋转
来源: https://blog.csdn.net/m0_65702468/article/details/122725015