如何根据重力和跳跃速度预测跳跃的高度?

时间:2013-11-07 19:52:31

标签: physics

好吧,所以我刚刚完成了一个简单的基于图块的物理引擎,我现在调整的一件事是角色的适当速度,加速度,重力等。

目前,我无法确定GravityJumpSpeed之间的关系如何影响跳跃的整体高度(高潮)。这是我所拥有的伪代码:

physics loop:
{

    calculate new X position based on DeltaTime
    calculate new y position based on DeltaTime

    if holding space and standing on block then
    {
        increase vertical velocity by JumpSpeed
    {

    decrease vertical velocity by Gravity * DeltaTime
}

好的,现在说:

Gravity = 40
JumpSpeed = 10

如何预测跳跃的最大高度?

1 个答案:

答案 0 :(得分:2)

您的解决方案,y max = sqrt(Gravity / JumpSpeed),看起来不正确。这意味着强重力应该增加跳跃的高度,而高的初始速度应该减少它。等式的右边有1 / sqrt(时间)的单位,作为高度没有意义。通过维度分析,答案必须是y max = k * JumpSpeed 2 / Gravity。

根据物理学,答案是

ý<子>最大 = JumpSpeed 2 /(2 *重力)

但在你的模拟中,它将是

y max = JumpSpeed 2 /(2 * Gravity) + JumpSpeed * DeltaTime / 2