I'm currently working on a 2D physics abstraction layer that can use Box2D or Chipmunk2D as physics engine. I initially used Chipmunk2D and am now implementing Box2D. One of the issues I ran into was the maximum speed of Box2D (as defined by b2_maxTranslation). To solve this issue I've decided to scale the world so it fits better with Box2D units.
Currently I'm scaling down with a constant factor:
- positions (including polygon fixture definitions and circle radius)
- forces (before calling b2Body::ApplyForce)
- impulses (before calling b2Body::ApplyLinearImpulse)
As I'm using densities to define the fixtures, this would also scale down the body masses.
What I've noticed is, this does not work. Whenever I apply a force the body moves much faster than when the scale is high.
Is there something else I need to scale to make the bodies update correctly or should I scale the impulses and forces in some other way?