Unity3D的transform.rotation旋转方法可以设置以自身为轴旋转吗?

#我在用

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

img

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