好吧,所以我刚刚完成了一个简单的基于图块的物理引擎,我现在调整的一件事是角色的适当速度,加速度,重力等。
目前,我无法确定Gravity
和JumpSpeed
之间的关系如何影响跳跃的整体高度(高潮)。这是我所拥有的伪代码:
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
如何预测跳跃的最大高度?
答案 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