我的模拟结果如下:image
所有圆圈都在矩形内反弹。所有对象的恢复原状设置为1.f,摩擦设置为0.f。
但不知怎的,由于发生了大量的碰撞,物体似乎随着时间的推移而加速。这是由于浮点不准确吗?我怎么能解决这个问题?
答案 0 :(得分:0)
使用大于零的阻尼系数和/或从1.f中删除恢复原状。调整这两个设置,直到获得所需的效果。是的,数字不准确会影响所见效果。
online Box2D 2.3.0 manual还提供了以下见解:
当形状形成多个接触时,大致模拟恢复原状。这是因为Box2D使用迭代求解器。当碰撞速度很小时,Box2D也使用非弹性碰撞。这样做是为了防止抖动。请参阅b2Settings.h中的b2_velocityThreshold。