1 cs 599 physically based modeling for interactive simulation and games case study: havok engine for...
Post on 20-Dec-2015
218 views
TRANSCRIPT
1
CS 599Physically Based Modeling for Interactive
Simulation and Games
Case Study:Havok Engine for Game Physics
Jernej BarbicUniversity of Southern California
2
Physics in games
• Custom, in-house software
• Off-the shelf libraries
• Physics middleware
3
Physics Engines
• Real-time– Video games
• High precision– Slow– Film– Scientific computing
Half-life 2
4
Real-time physics engines:open source
• Open Dynamics Engine (ODE)
• Bullet
• SOFA
• and several others
5
Real-time physics engines:commercial
• Havok (Ireland) (now Intel)
• Physx (formerly NovodeX, now nVidia)
• Vortex (Montreal)
6
Components of physics engine
• Collision detection
• Dynamics– rigid objects– cloth– fluids
• Fracture
QuickTime™ and a decompressor
are needed to see this picture.
7
Rigid object contact
• Penalty-based– popular with soft/deformable objects
• Impulse-based
• Constraint-based– expensive, suitable for continuous contact
8
Real-time simulation
• Speed more important than accuracy
• Objects have two representations:– Complex geometry
(rendering)– Simplified geometry
(collision detection, dynamics)
9
Characters• Rag-doll physics
– Rigid objects
• Cloth
• Controller– Natural motion
• Particles (hair)
10
Physics processing unit (PPU)
• Dedicated physics co-processor
• SPARTA and HELLAS – academic– Penn State, Univ. of Georgia
• Ageia (Switzerland, 2006) – later merged into nVidia– use AGEIA's PhysX SDK
11
GPGPU
• Havok FX– may have been cancelled
• Multi-GPU technology– ATI (CrossFire)– nVidia (SLI)
• Increasingly more suitable for physics
12
Intel Larrabee
• Many-core x86
• Fusion of CPU and GPU
• Suitable for physics
• Was scheduled for 2010, but delayed
13
Havok
• Real-time commercial physics engine
• Company bought by Intel (2007) ($110 million)
• Used in 150 games– Halo 3– Half Life 2
14
Havok Engine
• Animation– Fast playback– Real-time blending– Inverse kinematics– Retargeting
• AI– path-finding
QuickTime™ and a decompressor
are needed to see this picture.
15
Havok Engine
• Behavior– Character behavior development tool
• Cloth
• Destruction
• Physics
16
Havok Physics
QuickTime™ and a decompressor
are needed to see this picture.
17
Havok Physics
• Collision detection
• Constraints
• Rigid bodies
• Cloth
• Continuous physics
QuickTime™ and a decompressor
are needed to see this picture.
Uncharted 2: Among thieves
18
Havok Physics
• Vehicle simulation
• Human ragdolls
• Character controller– simulate enemy characters being hit
QuickTime™ and a decompressor
are needed to see this picture.
19
Havok Physics
• Visual debugger and profiler
• Content creation tools
• Integration with 3rd-party renderers– 3D Studio Max– Maya
QuickTime™ and a decompressor
are needed to see this picture.
20
Havok Physics
• Extensively optimized (machine code)
• Microsoft Xbox
• Sony PLAYSTATION
• Nintendo Wii
• PC
21
Havok Physics is not…
• Simple technology– Must invest time to use it
• Black box– Must understand the components
and recombine them
• Commercial renderer
22
Havok Physics
• The “Havok World” (hkpWorld)
• Contains all physical objectsin the simulation
• Timesteps the simulationforward in time
QuickTime™ and a decompressor
are needed to see this picture.
23
Rigid objects
• The central object in Havok
• hkpRigidObject class
• Add to the “world”
• Set mass, inertia tensor, etc.
24
Constraints
Ball andsocket
Hinge Translational
25
Constraints
QuickTime™ and a decompressor
are needed to see this picture.
26
Constraints
QuickTime™ and a decompressor
are needed to see this picture.
QuickTime™ and a decompressor
are needed to see this picture.
QuickTime™ and a decompressor
are needed to see this picture.
27
Collision Detection
• Broad phase and narrow phase
QuickTime™ and a decompressor
are needed to see this picture.
Broadphase
28
Collision Detection
• Narrow phase
• Spheres
• AABBs
• Cylinders
• Capsules
• Compound shapes
29
Collision Detection: Queries
• Closest points between two bodies
• Whether two bodies penetrate
• Raycast a point through spaceand get colliding objects
30
Continuous Physics
QuickTime™ and a decompressor
are needed to see this picture.
31
Continuous Physics
• Time of impact:
QuickTime™ and a decompressor
are needed to see this picture.
32
QuickTime™ and a decompressor
are needed to see this picture.