JBox2D碰撞没有弹跳

时间:2011-09-24 21:22:59

标签: java android jbox2d

我有一个使用JBox2D进行物理模拟的Android应用程序。唯一的动态对象是0.07米半径的圆,以及总游戏区域中约20米乘20米的几个静态圆和矩形。我也通过ApplyForce方法使用了一些自定义力。

当任何物体发生碰撞时,它们确实会发生碰撞,但它们不会反弹;一切都在一起砰的一声。所有的身体都有自己的密度,摩擦和恢复原状(有些物体的恢复原则大于1)。

有没有人知道为什么这些碰撞不起作用?我想这可能是因为身体的移动速度不够快,JBox2D无法算作正确的碰撞(Box2D中有一个截止点)。

谢谢!

2 个答案:

答案 0 :(得分:1)

设置Settings.velocityThreshold = 0.0001f;(或非常小)为我解决了它。

答案 1 :(得分:0)

我找到了一个局部解决方案 - Box2D(至少JBox2D)如果速度低于某个阈值则忽略恢复 - 通过将我的所有对象向上缩放10倍,阈值变得相对较低,并且对象反弹。