User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

annphysicsengine [2018/02/18 01:04] (current)
ybalrid created
Line 1: Line 1:
 +====== 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.
 +
 +
 +
 +
 +
 +