Verlet积分器+摩擦

时间:2012-04-22 18:35:13

标签: physics game-physics verlet-integration

我一直关注Gamedev.net上的“A Verlet based approach for 2D game physics”并且我写了类似的东西。

我遇到的问题是盒子滑过地面太多了。 如何添加一个简单的休息状态的东西,其中盒子会有更多的摩擦力,只滑动一点点?

2 个答案:

答案 0 :(得分:0)

在移动物体上引入一个小而恒定的加速度,指向与运动相反的方向。并确保它实际上不能反转动作;如果您在积分步骤中检测到,只需将速度设置为零。

如果你想更加真实,加速度应该来自一个力,该力与物体和它所滑动的表面之间的法向力成正比。

你可以在任何基本的物理文本中找到它,如“动摩擦”或“滑动摩擦”。

答案 1 :(得分:0)

在verlet集成中:r(t)=2.00*r(t-dt)-1.00*r(t-2dt)+2at² 将乘数改为1.99和0.99为摩擦

编辑:这更为真实:

r(t)=(2.00-friction_mult.)*r(t-dt)-(1.00-friction_mult.)*r(t-2dt)+at²