摘要:当我们制作游戏角色控制器的时候,经常会编写角色的旋转,但我们运用欧拉角、四元数旋转的时候,经常会出现按我们所不希望的局部坐标旋转,又或者想要在角度的世界坐标系和自身坐标系之间灵活转换使用,为此我写下此文希望对大家有用!
运用:四元数的乘积规律
乘积规律:当四元数(欧拉角化了)左乘*物体的当前rotation则物体按世界坐标旋转;
当四元数右乘*物体当前rotation则物体按自身坐标旋转。
float mouse_x = Input.GetAxis("Mouse X");float mouse_y = Input.GetAxis("Mouse Y");Quaternion qx = Quaternion.Euler(0, mouse_x, 0);Quaternion qy = Quaternion.Euler(-mouse_y, 0, 0);//记住当前乘积顺序transform.rotation = qx*transform.rotation ;//绕世界y坐标旋转transform.rotation = transform.rotation*qy;//绕自身坐标x旋转//对比transform.rotation = transform.rotation*qx ;//绕自身坐标y坐标旋转transform.rotation = qy*transform.rotation;//绕世界坐标x旋转