Simulation Concepts

  • Scene — A Scene contains multiple bodies. Normally you load new bodies under World, tweak them around, add proxies and joints, and then copy them into a Scene. Only a scene can be simulated (a body on its own can not).
  • Body — Associated with a mesh file. If the mesh file has a skeleton, it will show up as a sub-tree of bones under that body. A body can have two types of collision detection: proxies—means that the set of proxies embedded in the body’s mesh will do the collision. Mesh—means that the actual mesh of the body will be use for collision. The mass of the body has, however, to be defined by the proxies embedded in it. Skeletal animated bodies that are rigged with joints wont collide as expected if collision is set to mesh because mesh collision detection is done by the CPU while normally skeletal animation is done by the graphics card and transferring the data is inefficient if frame-rate is of essence.
  • Bone — Skeletal Meshes have bones, moving the bones gets the “Skin” turning accordingly. This feature is usually used for pre-programmed animation. EZPhysics uses bones as objects that contain physical entities. Proxies are attached to bones and a joint can be connected between two bones that have proxies.
  • Proxies — Basic physics objects. They serve for both Collision detection and as Dynamics objects with inertia tensor, speed etc. Multiple proxies can be associated to a single bone in order for the bunch to more closely resemble the skinned mesh that surrounds the bone.
  • Joints — Objects that limit the freedom of movement of the bones (that have proxies attached to them). Joints have virtual motors that can be manipulated by the API to create interesting movement (used for steering the wheels of a car, to simulate a spider’s gait, to get biped robots to walk etc.) The several types of Joints are illustrated in ODE manual.

simulation_concepts.txt · Last modified: 2011/04/29 16:50 by
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki