0

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

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

有谁知道为什么这些碰撞不起作用?我认为这可能是因为物体移动的速度不够快,以至于 JBox2D 不能算作适当的碰撞(Box2D 中有一个截止点)。

谢谢!

4

2 回答 2

1

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

于 2012-04-26T07:23:43.650 回答
0

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

于 2011-09-28T18:51:34.837 回答