美文网首页
解决Dotween旋转万向锁的问题

解决Dotween旋转万向锁的问题

作者: 哈莉波特大 | 来源:发表于2020-03-04 15:10 被阅读0次

有个项目,需要运行的时候先转到某个任意的角度,再转回来

我开始的思路是先获取对象的角度,然后再随机转到某个角度,最后再转到开始获取的角度

问题是,单个轴向的转动转回来没问题,两个以上的轴向转动就转不回原来的角度了,而且我把角度打印出来也是正确的

比如上面的例子中,我转了x=30,y=70,z=0,按理来说要转回来就是x=-30,y=-70,z=0

结果最后转到的位置和开始的位置差远了...................

造成这个的原因其实很简单,原来的旋转XYZ的角度表示的内容不全,导致了旋转过程中有坐标系的变化从而导致了最后结果的错误,详情参考

“欧拉角旋转”产生“万向锁”的来源,以及如何避免万向锁

所以unity给了我们另外的一个东西来描述角度

Quaternion

这个理解起来非常抽象,但是计算机很清楚是什么而且内容全面

They are based on complex numbers and are not easy to understand intuitively. You almost never access or modify individual Quaternion components (x,y,z,w); most often you would just take existing rotations (e.g. from the Transform) and use them to construct new rotations (e.g. to smoothly interpolate between two rotations). The Quaternion functions that you use 99% of the time are: Quaternion.LookRotationQuaternion.AngleQuaternion.EulerQuaternion.SlerpQuaternion.FromToRotation, and Quaternion.identity. (The other functions are only for exotic uses.)

官方的意思就是,大家不用管里面什么什么的意思,直接用就是啦

问题解决,遗憾的是DoTween里面的这个函数的参数太少

官方也说了,这个是旋转首选的方式

不过最大的问题解决了,其他就自己写吧

相关文章

  • 解决Dotween旋转万向锁的问题

    有个项目,需要运行的时候先转到某个任意的角度,再转回来 我开始的思路是先获取对象的角度,然后再随机转到某个角度,最...

  • 【Unity编程】Unity中关于四元数的API详解

    Quaternion类 Quaternion(四元数)用于计算Unity旋转。它们计算紧凑高效,不受万向节锁的困扰...

  • 欧拉角与万向节死锁(图文版)

    万向节死锁(Gimbal Lock)问题 欧拉旋转的顺规和轴向定义,自然造就了“万向节死锁”问题。本文主要来探索它...

  • 【Unity编程】欧拉角与万向节死锁(图文版)

    万向节死锁(Gimbal Lock)问题 上文中曾经说过,欧拉旋转的顺规和轴向定义,自然造就了“万向节死锁”问题。...

  • 动画

    3D旋转3D数学:欧拉角、万向锁、四元数[https://www.cnblogs.com/HDDDDDD/p/15...

  • unity-四元数

    什么是四元数? 欧拉角和四元数,都是表示物体旋转的。但欧拉角有个万向节死锁的问题,为了解决这个问题,因此引入了四元...

  • 四元数 Day0815

    四元数的作用:四元数用于表示旋转 四元数对欧拉角的优点: 避免万向锁 这种现象的发生就是由于固定坐标轴旋转顺序造成...

  • iOS SceneKit欧拉角转四元数

    使用欧拉角 使用欧拉角会造成万向锁,转成四元数就没有问题了

  • 如何选择万向脚轮轮子

    万向轮就是所谓的活动脚轮,是指安装在脚轮的支架能在动载或者静载中水平360度旋转。那么选择万向脚轮轮子时要注意的要...

  • 在 Unity 中使用 DOTween 实现 A Dark Ro

    思路: 使用DOTween的DOPunchAnchorPos方法移动UI; 使用DOTween的DOFade方法实...

网友评论

      本文标题:解决Dotween旋转万向锁的问题

      本文链接:https://www.haomeiwen.com/subject/owpvlhtx.html