Box2d体在与静态物体接触时“振动”

时间:2016-04-14 13:38:01

标签: libgdx box2d

以下情况:我有一个box2d Body,我在零重力环境中通过加速度计控制。我通过脉冲设置linearVelocity与'roll'和'pitch'成比例。 当身体接触任何东西时,它会造成伤害。

现在的问题:当身体与静态物体碰撞,并且运动的方向仍指向那个方向时,身体仍将因冲动(身体振动)而受到伤害。

我试图在碰撞后减速身体,例如随着时间的推移降低最大脉冲值(这是有效的),但我宁愿不想放慢速度。

有关如何实现这一目标的任何建议吗?

由于

1 个答案:

答案 0 :(得分:1)

您应为Fixture设置正确的值 - 在这种情况下,您应将restitution设置为0.

    FixtureDef fd = new FixtureDef();
    fd.restitution = 0;

restitution是多么“有弹性”的身体。你所描述的情况可能是由于恢复过高造成的(身体触及静止状态,反弹但是由于重力而立即下降然后反弹......)

您可以在Box2D official reference

了解更多信息