我使用此处找到的时间校正的Verlet集成:http://www.gamedev.net/page/resources/_/technical/math-and-physics/a-simple-time-corrected-verlet-integration-method-r2200
但是当我的球在墙上(水平墙,球在上面并且加速度向下)一段时间后,我的游戏无法以正确的方式识别碰撞并且球落下。 如果我把一个固定的上限设置为delta时间,如1/60,它似乎有效。
我认为问题是时间太长了。 但是时间校正后的verlet集成是为了避免太大的时间步长,这是对的吗? 如果是的话,为什么我需要时间上限?
答案 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集成只有在帧速率波动时才有用,但如果你的基本帧率太低,它将无济于事。