200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 解决Unity旋转改变局部坐标问题

解决Unity旋转改变局部坐标问题

时间:2023-12-17 03:01:26

相关推荐

解决Unity旋转改变局部坐标问题

摘要:当我们制作游戏角色控制器的时候,经常会编写角色的旋转,但我们运用欧拉角、四元数旋转的时候,经常会出现按我们所不希望的局部坐标旋转,又或者想要在角度的世界坐标系和自身坐标系之间灵活转换使用,为此我写下此文希望对大家有用!

运用:四元数的乘积规律

乘积规律:当四元数(欧拉角化了)左乘*物体的当前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旋转

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。