User Tools


AnnPhysicsEngine

The Physics engine is the core subsystem responsible for managing and stepping forward in time the physics simulation run thanks to the Bullet physics library.

Game Objects and triggers request directly to the physics engine to create and add their own rigid body when needed. They also clean it up when they are destroyed.

The linking between Bullet and Ogre is done via a small utility library called BtOgre21. A fork of the original btOgre to make it compatible with the 2.x branch of Ogre.

Player body simulation

Annwvyn distinguish between two “model” on how to handle the player's physical body. One is intended for seated VR experiences, the other one for roomscale VR.

Physics debugging

The physics engine can draw the outlines of physics body on the rendered images. This operation is useful for debugging, but it quite expensive. This is doable by calling the toggleDebugPhysics() method of the physics engine.

Gravity

The engine initialize the gravity acceleration vector at (0, 9.81, 0). This is equivalent to earth's gravity. You can change the value of this vector at any point in time. resetGravity() will restore the default value. It is possible to set this vector to a null vector. The effect is equivalent at what would append in zero-g in space.