Java Box2d中的真实物理设置

Java Box2d中的真实物理设置,java,libgdx,box2d,Java,Libgdx,Box2d,我想用libgdx和Box2D做一个游戏。 我在寻找“好的”或正确的物理设置时遇到了一些问题 要么物理过程看起来很慢(特别是重力),要么我需要使用极值来对物体施加力,即使这样,效果也很小 这是我的当前世界和步骤设置: static final float BOX_STEP=1/60f; //World world = new World(new Vector2(0, -9.81f), true); // With the settings my objects seem to be un

我想用libgdx和Box2D做一个游戏。 我在寻找“好的”或正确的物理设置时遇到了一些问题

要么物理过程看起来很慢(特别是重力),要么我需要使用极值来对物体施加力,即使这样,效果也很小


这是我的当前世界和步骤设置:

static final float BOX_STEP=1/60f; 

//World world = new World(new Vector2(0, -9.81f), true);  // With the settings my objects seem to be under water and react very slow
World world = new World(new Vector2(0, -200f), true); //<-- current settings
...
_fixtureDef = new FixtureDef();  
_fixtureDef.shape       = _shape;
_fixtureDef.density     = 2.5f;
_fixtureDef.friction    = 1.0f;
_fixtureDef.restitution = 0;  
...

对运动员施加跳跃力

    @Override
public boolean keyDown(int keycode) 
{
    if ((keycode == Keys.UP) && (!_pp.isJumping()))
    {
        _pp.getBody().applyForceToCenter(new Vector2(0, 999000000), true);
        // Even with this high value the player barely jumps

        _pp.setJumping(true);
    }

    return false;
}

任何关于如何正确设置物理设置的建议都非常感谢:)

阅读手册并缩放您的世界,否则您将获得大约120px的最大速度/s@noone所以我必须把我的“大”精灵映射到物理身体,这很好。我缩小了我的物理世界,现在看来效果好多了。还有一个问题。我已将重力设置为
-9.81
,将播放器大小设置为
5
。在这种设置下,玩家似乎仍然处于水下。将播放器
gravityScale
设置为
5.0f
时,我可以获得更好的效果。这是好的做法吗?医生说增加重力会降低稳定性。@user1567896让你知道:Box2D的工作单位为1米,所以你的播放器有5米高。5的尺寸意味着你的播放器大约有5米。手册上说,你的体型应该保持在0.1米到10米之间。它仍然在这个范围内,但您应该使它更小。我的球员总是使用1m。最后,这只是为了让它看起来正确。无论你如何做到这一点都不重要。游戏中有很多东西都是假的…谢谢你的回答。我把播放器的尺寸改为1米。然而,我仍然有这个重力问题。将我的播放机的
gravityScale
设置为
5.0f
好吗?有没有其他方法可以实现更真实的重力?