0

我想在 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)

4

1 回答 1

1

通过 Vector3.Lerp 使用 Vector3 旋转很容易出现云台锁定问题,这就是您可能遇到的问题。

最好的通过轮换的方法是使用这个transform.Rotate();函数。

或者,您可以使用 aQuaternion.Lerp();并使用 . 创建开始和结束四元数Quaternion.Euler();。这将为您提供最可靠的结果,因为Quaterion旋转比旋转更复杂,Vector3并且可以消除您在Vector3旋转中遇到的任何问题。

编辑:请记住发布您的代码的整个片段。Lerp 代表线性插值,它要求从 0 到 1,其中 0 是起点,1 是终点。许多人错误地使用此功能并提出问题。由于我看不到您的代码,但是我认为您正确执行了此操作,但除非我看到实际代码,否则我不知道 :)

于 2016-04-25T20:44:40.040 回答