时间校正的Verlet集成和太大的时间步长

时间:2012-04-13 11:06:04

标签: time physics collision verlet-integration

我使用此处找到的时间校正的Verlet集成:http://www.gamedev.net/page/resources/_/technical/math-and-physics/a-simple-time-corrected-verlet-integration-method-r2200

但是当我的球在墙上(水平墙,球在上面并且加速度向下)一段时间后,我的游戏无法以正确的方式识别碰撞并且球落下。 如果我把一个固定的上限设置为delta时间,如1/60,它似乎有效。

我认为问题是时间太长了。 但是时间校正后的verlet集成是为了避免太大的时间步长,这是对的吗? 如果是的话,为什么我需要时间上限?

2 个答案:

答案 0 :(得分:6)

文章中给出的等式是错误的。当我得到它时,我明白了:

x = x + (x – xl)*h/hl + a*h*(h + hl)/2

而不是他,这就是:

x = x + (x – xl)*h/hl + a*h^2

以下是使用他的图表的示例: http://i.stack.imgur.com/TL6HT.png

答案 1 :(得分:2)

根据我的理解,时间校正后的verlet集成只有在帧速率波动时才有用,但如果你的基本帧率太低,它将无济于事。