Computer Animation Middleware Software
Jernej Barbic University of Southern California
1
Game Engines
• Unity (Unity Technologies)
• Unreal Engine (Epic Games) • Source, Source2 (Valve)
• CryEngine (Crytek)
• AnvilNext (Ubisoft)
• Frostbite (Electronic Arts)
• (not an exhaustive list)
2
3
Character Animation Middleware
• NaturalMotion
(real-time motion control using biomechanics)
(acquired by Zynga for $527M in 2014)
• IKInema (full-body IK solver)
4
Physics in games • Custom, in-house software
• Off-the shelf libraries • Physics middleware
5
Physics Engines
• Real-time
– Video games
• High precision – Slow
– Film
– Scientific computing
Half-life 2 6
Real-time physics engines: open source
• Open Dynamics Engine (ODE) • Bullet
• SOFA
• Vega FEM
• and several others
7
Real-time physics engines: commercial
• Havok (Ireland) (Intel => now Microsoft) • Physx (formerly NovodeX, now nVidia)
• Vortex (Montreal)
• Rubikon(Valve)
8
Components of physics engine
• Collision detection
• Dynamics
– rigid objects
– cloth – fluids
• Fracture
9
Rigid object contact
• Penalty-based
– popular with soft/deformable objects
• Impulse-based
• Constraint-based
– expensive, suitable for continuous contact
10
Real-time simulation
• Speed more important than accuracy
• Objects have two representations:
– Complex geometry (rendering)
– Simplified geometry (collision detection,
dynamics)
11
Characters
• Rag-dollphysics – Rigid objects
• Cloth
• Controller
– NaturalMotion
• Particles(hair)
12
Physics processing unit (PPU)
• Dedicatedphysics co-processor
• SPARTAandHELLAS – academic
– Penn State, Univ. of Georgia
• Ageia(Switzerland,2006)
– later merged into nVidia – use AGEIA’s PhysX SDK
13
GPGPU
• Havok FX
– was cancelled
• Multi-GPU technology
– AMD (CrossFireX)
– nVidia (Scalable Link Interface (SLI))
– SLI just parallelizes rendering,
but can dedicate a specific card just to Physx (similar to AGEIA)
• Increasingly more suitable for physics
14
Intel Larrabee
• Many-corex86
• FusionofCPU and GPU
• Suitableforphysics
• Wasscheduledfor2010,butcanceled
• AMD:APU(comboofCPUandGPU)
15
Havok
• Real-timecommercialphysicsengine
• CompanyboughtbyIntel(2007) ($110 million)
• Usedinover300games – Halo
– Half Life 2
16
Havok Engine
• Animation
– Fast playback
– Real-time blending – Inverse kinematics – Retargeting
• AI
– path-finding
17
Havok Engine
• Behavior
– Character behavior development tool
• Cloth
• Destruction • Physics
18
Havok Physics
19
Havok Physics • Collisiondetection
• Constraints
• Rigidbodies
• Cloth
• Continuousphysics
Uncharted 2: Among thieves 20
Havok Physics • Vehicle simulation
• Human ragdolls
• Character controller
– simulate enemy characters being hit
21
Havok Physics
• Visualdebugger and profiler
• Contentcreation tools
• Integrationwith 3rd-party renderers
– 3D Studio Max – Maya
22
Havok Physics
• Extensively optimized (machine code)
• Microsoft Xbox
• Sony PLAYSTATION
• Nintendo Wii
• PC
23
Havok Physics is not…
• Simple technology
– Must invest time to use it
• Black box
– Must understand the components and recombine them
• Commercial renderer
24
Havok Physics
• The“HavokWorld” (hkpWorld)
• Containsall physical objects in the simulation
• Timestepsthe simulation forward in time
25
Rigid objects • The central object in Havok
• hkpRigidObject class
• Add to the “world”
• Set mass, inertia tensor, etc.
26
Constraints
Ball and socket
Hinge Translational
27
Constraints
28
Constraints
29
Collision Detection • Broad phase and narrow phase
Broad phase
30
Collision Detection
• Narrow phase • Spheres
• AABBs
• Cylinders
• Capsules
• Compound shapes
31
Collision Detection: Queries
• Closest points between two bodies
• Whether two bodies penetrate
• Raycast a point through space and get colliding objects
32
Continuous Physics
33
Continuous Physics • Time of impact:
34
35