我想在 Unity 3D 中进行 Vector3 旋转。但是,旋转轴不能正确旋转。这是因为,我同时旋转两个轴 x 和 y。我必须分开两个旋转。我能做些什么?感谢你们对我的帮助。
Vector3 start = new Vector3(0,0,0)
Vector3 target = new Vector3(0,0,0)
transform.localEulerAngles = Vector3.Lerp(start,target,time)
通过 Vector3.Lerp 使用 Vector3 旋转很容易出现云台锁定问题,这就是您可能遇到的问题。
最好的通过轮换的方法是使用这个transform.Rotate();
函数。
或者,您可以使用 aQuaternion.Lerp();
并使用 . 创建开始和结束四元数Quaternion.Euler();
。这将为您提供最可靠的结果,因为Quaterion
旋转比旋转更复杂,Vector3
并且可以消除您在Vector3
旋转中遇到的任何问题。
编辑:请记住发布您的代码的整个片段。Lerp 代表线性插值,它要求从 0 到 1,其中 0 是起点,1 是终点。许多人错误地使用此功能并提出问题。由于我看不到您的代码,但是我认为您正确执行了此操作,但除非我看到实际代码,否则我不知道 :)