【问题标题】:Unity predict endpoint from current velocityUnity 根据当前速度预测端点
【发布时间】:2017-04-02 16:08:31
【问题描述】:

当我调用一个函数时,我的火箭的刚体速度是 Vector2(0,100)。速度达到0时如何计算世界坐标(enpoint)?

重力应该包含在公式中。

谢谢!

【问题讨论】:

    标签: unity3d velocity gravity


    【解决方案1】:

    听起来你想要速度函数的积分,它应该提供相对于时间的总距离。

    你的速度将是 v = (100 - ('t'ime * 'g'ravity))。我们可以求解像 t = (-v + 100)/g -> t = (0 + 100)/g = 100/g 这样的时间。所以你应该在 t = 100/g 时达到零速度(假设所有相同的单位)。

    您的速度积分将为您提供行驶距离。积分计算器在这里:http://www.integral-calculator.com/

    你的速度的积分函数是 100t - (g*t^2)/2

    从零到特定时间 t,您可以即插即用。因此,例如,如果对于特定的重力,您在 t = 10 秒时达到零速度,您将经过 (100 * 10) - ((g * 10^2)/2) 距离。 (所以对于重力 9,你会得到 1000 - (9 * 100)/2 = 550 个单位

    编辑:要清楚 - 首先你要计算在特定的起始速度和重力下达到零速度需要多长时间:

    t = vStart/g

    然后将该时间值代入上面的积分函数中:

    距离 = (vStart * t) - ((g * t^2)/2)

    (或者很明显,您可以通过在第二个函数中将 t 替换为 vStart/g 将其变成一个函数,但如果我正在编码,我肯定会分两步计算它们以提供健全性检查,以防我的单位错误)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-06
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      相关资源
      最近更新 更多