我有一个使用JBox2D进行物理模拟的安卓应用程序。唯一的动态对象是一个0.07米半径的圆,以及几个静态的圆圈和矩形,总游戏区域约为20米乘20米。我还通过ApplyForce方法使用了一些自定义的力量。
当任何物体碰撞时,它们确实会正确地碰撞,但它们不会反弹;一切都只是碰撞在一起。所有实体都设置了其密度、摩擦力和恢复率(某些对象的恢复率大于1)。
有没有人知道为什么这些碰撞不起作用?我认为这可能是因为物体移动得不够快,JBox2D不能算作正常的碰撞(Box2D中有一个截止点)。
谢谢!
发布于 2012-04-26 15:23:44
设置Settings.velocityThreshold = 0.0001f;
(或非常小)为我解决了这个问题。
发布于 2011-09-29 02:51:35
我找到了这个问题的部分解决方案-如果速度低于某个阈值,Box2D (至少是JBox2D)会忽略恢复-通过将所有对象放大10倍,阈值会变得相对较低,并且对象会反弹。
https://stackoverflow.com/questions/7542018
复制相似问题