欧拉角与万向节锁的理解

参考文章:https://blog.csdn.net/fengya1/article/details/50721768

概念:

unity 3D欧拉角的旋转顺序(父子关系)是y-x-z。即旋转y轴x和z轴都变,旋转x轴只有z轴变化,旋转z轴其它轴不变。

再解释说明前,先说明一些坐标概念。

模型坐标系---及模型导入时的坐标系,通过此坐标系记录模型顶点等的位置。

世界坐标系---主要作用是表示模型与模型间的相对位置。

惯性坐标系---和模型坐标系原点相同,但是坐标轴的方向和世界坐标系相同,作用应该是模型到世界变换的桥梁吧。
 

 

产生万向节锁的主要原因是:因为y轴变换将影响x和z轴,因为有轴处在变换的最顶层(y-x-z),最主要的是y轴变换是模型在惯性坐标里变换,而其他轴的变换是在模型轴变换。所以就会出旋转面共面(万向锁)的情况

 

计算机旋转模型时模型的变换都是(0,0,0)开始变换

 

某网友总结的到位:

万向节锁,最蛋疼的是,绕Y轴的旋转,是以惯性坐标系的Y轴来,而X 和 Z轴的旋转却按照模型的本地坐标系来旋转,这样蛋疼的旋转规则产生了万向节锁问题,但是如果X,Y,Z轴的旋转都以同一个坐标系(惯性或本地坐标系)的轴为旋转轴,那么就不会有万向节锁问题。 万向节锁貌似其实一个工程学的实际问题,这种奇葩的旋转规则由陀螺仪的结构产生,https://blog.csdn.net/hanjuefu5827/article/details/80659343

你可能感兴趣的:(Unity3d)