问题描述:昨天需要实现一个功能是根据指令左转90度或者右转90度,当时脑汁可能是有浆糊吧,居然要用直接赋值rotation,这样一来就要牵扯到eulerAngles和四元数的Euler函数了,结果忙活了好久没解决,bug层出,今天经过详细了解,解决了相关问题,一并把其他关于角度和旋转的知识点整理出来。
一、问题的解决:如何让物体绕自身轴旋转
直接上关键代码:
player_cube.Rotate(-90, 0, 0);
player_cube是获取的需要旋转的物体的Transform,其中-90意味着,在unity面板中 rotation 中的 x 减少90,从而实现旋转;
如果想让物体直接旋转多少度,这个是最方便快捷的方法!
二、缓慢旋转
多见于FPS游戏中使用,用于转换摄像头角度,以下为自己以前做过的例子:(仅作参考)
//获取鼠标移动 mouse_move_velocity.y = Input.GetA