矢量3 勒普旋转



我想在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();功能。

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

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

相关内容

  • 没有找到相关文章

最新更新