使用box2d时速度是否有上限?

ivy*_*ike 11 box2d game-physics physics-engine libgdx

我正在使用box2d进行物理模拟.当按下按键时,我通过在身体上施加冲动使用箭头键移动一个圆圈.不幸的是,圆圈移动速度极慢,并且似乎没有像真正的身体一样加速.我的世界尺寸是400x800像素.圆体的半径是20f.

根据这一点,可以通过在创建圆形半径时缩小圆形半径并在绘制期间获得主体位置后放大来解决该问题.它似乎没有任何区别.我在这里缺少一些步骤或设置吗?

关于pastebin的代码

noo*_*one 24

我花了相当长的了解,现在,但实际上真正IS在Box2D的速度的硬性限制.看到这里:

每个时间步长的最大移动限制为2.0个单位,在源代码中的文件b2Settings.h中给出.

如果每帧60FPS有一步,那么你的身体可以以120m/s的最大速度移动.也许有一天这会节省一些时间.


And*_*rew 4

是的,您使用的尺寸之间存在差异。Box2d对浮点数进行运算,因此其精度有限且模拟质量不同。Box2d经过调整,最适合动态尺寸的物体0.1 to 10

因此,通常您应该更喜欢使用一种物理单位和图形单位

现在回答你的问题。物体的速度受到碰撞、摩擦(如果一个物体在另一个物体上滑动)和 的影响linear damping。因此,请检查您使用的值是什么linear damping(我记得默认情况下它是非零)。据我所知,没有速度限制,但如果使用相同的时间步长,较高的速度将提供较低质量的碰撞。