240 likes | 471 Views
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?.
E N D
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 PhysX • Newton Game Dynamics • Havok • Havok FX • Tokamak Game Physics
Newton Game Dynamics • Free for use with credit to authors. • Cross Platform (Win32, 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 3D Pinball
Ageia PhysX • 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 PhysX • Features (cont’d) • Remote debugging capability • Cross-Platform • Single and multi-core PC • Xbox 360 • Playstation 3 • PhysX Processor!
Ageia PhysX • Problems • Commercial licensing • Free for non-commercial projects • $50k per SKU for commercial products • Currently no killer game to show off the processor • But, they’re on their way • Limited availability of PhysX cards
Ageia PhysX • Who’s using PhysX? • Partners • Other Developers
Ageia PhysX • 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, 6DOF
Ageia PhysX • Tools • PhysX Create • Plugins for 3DS Max and Maya • PhysX Rocket • Preview and tuning of content • PhysX VRD • Real-time visual remote debugger
Ageia PhysX • Demos • GRAW comparison of PhysX 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 (V3) • 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 • 3Impact • 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 nVidia to use the GPU for physics calculations.
Physics and Ogre • OgreODE • Adds prefab vehicles and rag-doll support • OgreNewt • Implements nearly all of Newton’s functionality • NxOgre • Adds state machine support