RigidBody is the main class for rigid body objects. It is derived from {@link CollisionObject}, so it keeps reference to {@link CollisionShape}.
It is recommended for performance and memory use to share {@link CollisionShape}objects whenever possible.
There are 3 types of rigid bodies:
- Dynamic rigid bodies, with positive mass. Motion is controlled by rigid body dynamics.
- Fixed objects with zero mass. They are not moving (basically collision objects).
- Kinematic objects, which are objects without mass, but the user can move them. There is on-way interaction, and Bullet calculates a velocity based on the timestep and previous and current world transform.
Bullet automatically deactivates dynamic rigid bodies, when the velocity is below a threshold for a given time.
Deactivated (sleeping) rigid bodies don't take any processing time, except a minor broadphase collision detection impact (to allow active objects to activate/wake up sleeping objects).
@author jezek2