Physics Michael Vernier Robert Weekley Michael Ford Why
Physics Michael Vernier Robert Weekley Michael Ford
Why Physics? • • More interactivity Looks cool (explosions) More realistic More variety and easier animations (rag doll physics for death animations) • Better gameplay (space fighter, driving games)
Why a Physics Engine? • Physics simulation is hard • Requires very stable integrator • Articulated bodies especially take difficult math • Optimization is important • Spring systems explode easily
Major Features • • • Collision detection Newtonian forces and collision response Buoyant forces Friction Articulation and jointed characters (rag doll) • Prebuilt objects for simulation
Physics Toolkits • • • ODE (Open Dynamics Engine) Ageia Phys. X Newton Game Dynamics Havok FX Tokamak Game Physics
Newton Game Dynamics • Free for use with credit to authors. • Cross Platform (Win 32, Mac OS X, Linux)
Features • • Collision Detection Collision Response Buoyancy Friction Seven different Joints Rag Doll Physics Height Map Collision Claims very stable solver
API • • C++ API Tutorials Wiki API Documentation seems complete
Used In • Not very much yet. • Several small independent games. – Future Pinball – Trembling Towers – Classic Cars Racer – Virtual Reality Chat – Ultra Stein 3 D Pinball
Ageia Phys. X • Features – Designed for massively parallel hardware – Designed with games in mind • • Complex rigid body system Volumetric fluid and cloth simulations Advanced Character Control Ray-cast vehicles – Support for many scenes
Ageia Phys. X • Features (cont’d) – Remote debugging capability – Cross-Platform • • Single and multi-core PC Xbox 360 Playstation 3 Phys. X Processor!
Ageia Phys. X • Problems – Commercial licensing • Free for non-commercial projects • $50 k per SKU for commercial products – Currently no killer game to show off the processor • But, they’re on their way – Limited availability of Phys. X cards
Ageia Phys. X • Who’s using Phys. X? – Partners – Other Developers
Ageia Phys. X • API – C++ – Primitives • Box (AABB, OBB), sphere, capsule, plane, line, ray, height map, convex mesh, triangular mesh – Joints • Spherical, revolute, prismatic, cylindrical, fixed, distance, point in plane, point on line, pulley, 6 DOF
Ageia Phys. X • Tools – Phys. X Create • Plugins for 3 DS Max and Maya – Phys. X Rocket • Preview and tuning of content – Phys. X VRD • Real-time visual remote debugger
Ageia Phys. X • Demos – GRAW comparison of Phys. X processor – Fluid Dynamics (Fog, Napalm) – Artificial Studios Cellfactor – Bet on Soldier: Blood Sport
Open Dynamics Engine (ODE) • Rob needs to get off his lazy butt and fill this in Wunderverbindungen
Open Dynamics Engine (ODE) • Features – Open Source – Platform independent – Rigid Body Dynamics (V 3) • Vehicles • Virtual Reality Environments • Virtual Creatures
Open Dynamics Engine (ODE) • Features (cont’d) – Collision Detection – Collision Handling – Friction – Three different Joints
Open Dynamics Engine (ODE) • Problems – Traded Accuracy for Speed and Stability – 2 Years since last release – 2 + Months since last “Nightly Build” – Samples crash or don’t work
Open Dynamics Engine (ODE) • Who’s using ODE? – 87 linked users – Games & Game Engines • 3 Impact • Gryps Engine – Tools • Juice • Blender – Simulators
Havok • Industry Standard • Used in Half Life 2, Halo 2, F. E. A. R. , and many other blockbuster games. • Also used in the Jupiter EX game engine. • Very expensive (they won’t even give you a price if you don’t work for EA) • Joining with n. Vidia to use the GPU for physics calculations.
Physics and Ogre • Ogre. ODE – Adds prefab vehicles and rag-doll support • Ogre. Newt – Implements nearly all of Newton’s functionality • Nx. Ogre – Adds state machine support
Questions?
- Slides: 24