旋转变换是三维空间变换中相对不太直观的变换方式,而且旋转后的最终结果与变换顺序密切相关,比如对于一个旋转角度(30,40,50)来说,先x轴旋转30°,再y轴旋转40°,最后绕z轴旋转50°,这只是一种变换顺序,其结果与其他变换顺序不同。
Unity中旋转API接口为Transform.Rotate(),那么对于Transform.Rotate(new Vector3(30, 40, 50))来说,究竟是选用的哪一种顺序呢?Unity官方文档中有说明,欧拉角旋转顺序为Z、X、Y,然而实际测试中发现,下面的代码的执行结果