Physics engines are third party external programs that can be plugged into Babylon.js. They, depending on their features, emulate "real-life" interactions between objects, which can be meshes, solid particles from the solid particle system or some caameras. One feature of a Physics Engine is the addition of gravity to a scene.
There are plugins for 2 physics engines:
Both need to be enabled before use.
Interactions between objects are achieved by imposters, simple objects that are attached to any complex objects with a scene. To allow interaction between objects, the physics engines use an impostor, which is a simpler representation of a complex object. The imposter can be assigned physical attributes such as mass, friction and a coefficient of restitution.
It is also possible to assign linear and angular velocities to an imposter as well as an impulse and in the case of the Cannon Physics Engine a force.
Two imposters can be connected using joints such as a hinge or ball and socket.
Collisions between two imposters P0 and P1 is handled by setting a callback function on P0 that determines the action when in contact with P1.