#我在用
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 0, 90), 0.05f);
#这段代码控制物体进行旋转发现物体只能以世界坐标轴旋转,改变了物体的方向后就不行了。
#但是:
transform.Rotate(new Vector3(0, 0, 30), 1f, Space.Self);
#这个旋转方法可以在最后的参数设置以自身为轴旋转,所以有没有哪位同学知道怎么设置transform.rotation以自身为轴旋转呢?
物体没有固定的轴,只能设置坐标系下的绕x,y,z转动
不知这篇博文讲解的思路方法,是否满足你的需求,链接:https://blog.csdn.net/jkkk_/article/details/125398647
transform.rotation
本来就是世界坐标下的值。想要设置局部坐标的值,可以用:transform.localRotation
但是你需要自己计算局部坐标的正确值。
// 这样就是绕着自身z轴转90度。
transform.localRotation = Quaternion.Euler(0, 0, 90);
以自身的的轴旋转,传一个自身轴的向量不就行了
transform.Rotate(transform.up, m_AddRotateAngle, Space.World);
unity物体自身轴旋转_Unity实现物体沿自身的任意轴向旋转
https://blog.csdn.net/weixin_29944883/article/details/113547584