Unity3d 未使用.magnity或Vector3.Distance()的轨迹移动距离?

Unity3d 未使用.magnity或Vector3.Distance()的轨迹移动距离?,unity3d,distance,magnitude,Unity3d,Distance,Magnitude,我有一个导弹在我的游戏中,我想保持跟踪的距离,它已经走过比较与最大范围 因为它可以沿着一条弯曲的路径移动,所以仅仅比较它的当前位置和起始位置对我来说是行不通的 我知道我可以在每次更新循环中使用.magnity或Vector3.Distance,但我也知道这对性能有很大的影响 如果有任何建议,我将不胜感激。谢谢Taelsin。目前,我只想使用Invoke Repeating每隔x秒使用震级更新移动的距离。这不完全是性能,但很简单。一旦我有更多的时间,我可能会按照你的建议做一些简单的物理计算,以计算

我有一个导弹在我的游戏中,我想保持跟踪的距离,它已经走过比较与最大范围

因为它可以沿着一条弯曲的路径移动,所以仅仅比较它的当前位置和起始位置对我来说是行不通的

我知道我可以在每次更新循环中使用.magnity或Vector3.Distance,但我也知道这对性能有很大的影响


如果有任何建议,我将不胜感激。

谢谢Taelsin。目前,我只想使用Invoke Repeating每隔x秒使用震级更新移动的距离。这不完全是性能,但很简单。一旦我有更多的时间,我可能会按照你的建议做一些简单的物理计算,以计算出旅行的最大距离需要多长时间。

谢谢Taelsin。目前,我只想使用Invoke Repeating每隔x秒使用震级更新移动的距离。这不完全是性能,但很简单。一旦我有更多的时间,我可能会按照你的建议做一些简单的物理计算,以计算出旅行到最大距离需要多长时间。

它有恒定的速度吗?如果是的话,你可以手动确定到达所需距离需要多长时间,然后在计算的时间后销毁该物体。这是一个很好的建议,但不幸的是,它没有恒定的速度。它会在一段时间内从0加速到最大速度。幸运的是,还有一个公式。看看这个,它有恒定的速度吗?如果是的话,你可以手动确定到达所需距离需要多长时间,然后在计算的时间后销毁该物体。这是一个很好的建议,但不幸的是,它没有恒定的速度。它会在一段时间内从0加速到最大速度。幸运的是,还有一个公式。看看这个,我不会花那么多时间的。尽管距离需要计算,但它几乎是零。如果你真的想节省,你可以使用sqrMagnitude来消除sqrt。但其价值并不是那么直观。但老实说,在这一点上,你不应该为它操心,只需要运行它。顺便说一句,事实上,你只是每隔一段时间打印出来,你认为等待会神奇地发生吗?InvokeRepeating需要创建一个新流程,即在更新之外执行每个帧,并跟踪当前时间和经过的时间。省这么多钱,不是吗?我不会为这么少的钱烦恼的。尽管距离需要计算,但它几乎是零。如果你真的想节省,你可以使用sqrMagnitude来消除sqrt。但其价值并不是那么直观。但老实说,在这一点上,你不应该为它操心,只需要运行它。顺便说一句,事实上,你只是每隔一段时间打印出来,你认为等待会神奇地发生吗?InvokeRepeating需要创建一个新流程,即在更新之外执行每个帧,并跟踪当前时间和经过的时间。省这么多钱,不是吗?