万向节锁问题
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
- 以前一直听说过万向节锁
- 当时觉得问题太难就没去认真分析
- 最近在B站找了一些视频看懂了。
- 简单来说
- 旋转是有顺序的比如transform面板有三个旋转分量你先调整y再调整x最后调整z
- 按照正常思路来说调整x轴是在y轴旋转的基础上的。所以应该有三个旋转自由度
- 但是用户调整顺序和程序运行顺序是不一样的。
- 程序会等玩家输入完毕后将所有角度旋转按照他自己的顺序x,y,z作为一个变换初始状态—>最终状态
- 无论你怎么调整x都是相对于初始姿态的旋转Rx而y轴再对Rx进行旋转90°就把x轴的旋转效果变换到了z轴这个时候z轴再旋转就和x轴效果重合
- 损失了一个自由度
举例
-
unity的旋转y-x-z的顺序
-
先按照y轴旋转20°
-
再按照x轴旋转90度就把y轴刚才的旋转状态挪动到了z轴
-
可以看到这个时候z轴的旋转就和y轴的旋转相同损失了一个自由度
-
这个就是万向节锁了