没有摩擦的Box2d物体在碰撞时以某种方式获得速度

时间:2017-03-01 00:22:21

标签: box2d

我的模拟结果如下:image

所有圆圈都在矩形内反弹。所有对象的恢复原状设置为1.f,摩擦设置为0.f。

但不知怎的,由于发生了大量的碰撞,物体似乎随着时间的推移而加速。

这是由于浮点不准确吗?我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用大于零的阻尼系数和/或从1.f中删除恢复原状。调整这两个设置,直到获得所需的效果。是的,数字不准确会影响所见效果。

online Box2D 2.3.0 manual还提供了以下见解:

  

当形状形成多个接触时,大致模拟恢复原状。这是因为Box2D使用迭代求解器。当碰撞速度很小时,Box2D也使用非弹性碰撞。这样做是为了防止抖动。请参阅b2Settings.h中的b2_velocityThreshold。