1 CS 599 Physically Based Modeling for Interactive Simulation and Games Case Study: Havok Engine for...

Post on 20-Dec-2015

218 views 1 download

Transcript of 1 CS 599 Physically Based Modeling for Interactive Simulation and Games Case Study: Havok Engine for...

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.