Download presentation
Presentation is loading. Please wait.
1
World Space Servoing for Character Animation Under Simulation Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College
2
Character Motion An integral part of modern video games FIFA 2006 (EA) San Andreas (Rockstar) Antigrav (Harmonix)
3
Kinematic Character Motion Expressed by rigid body kinematics – Rigid bodies connected by joints – Character pose defined by rotation of joints – Vector θ(t) represents pose at a given instant of time
4
First, a video…
5
Issues with Canned Motion Canned Mocap Physically Simulated
6
Issues with Canned Motion Canned Mocap Physically Simulated
7
Issues with Canned Motion Canned Mocap Physically Simulated
8
Motion Generation: Mocap and Keyframing Motion capture Manual keyframing (+) path of least resistance (+) absolute control, wyciwyg (-) not physically dynamic such motion is a static and partial snapshot of the dynamics occurred at the time of collection/creation Analogously, video is a snapshot of the physics of light Great for production animation, not so great for interactive virtual environments
9
Motion Generation: Mocap and Keyframing (+) path of least resistance (+) absolute control “wyciwyg” (-) not physically dynamic – static and partial snapshot of the dynamics occurred at the time of creation Production animation, not interactive games God of War 2 (Sony)
10
Motion Generation: Procedural Animation Rules/algorithms to automatically generate motion Three categories of approaches: – Indirectly emulate physical plausibility [Perlin,Goldberg 94] [Popovic, Witkin 99] [Kovar et al. 02] – Simulate physics only when necessary [Shapiro et al. 03] [Zordan et al. 05] – Simulate physics directly and persistently [Hodgins et al. 95] [Laszlo et al. 00]
11
Procedural Animation Indirectly emulate physical plausibility – Scripting [Perlin,Goldberg 94] – Blending [Rose et al. 98] – Optimization [Liu et al. 05] [Arikan et al. 03] (+) creators retain control Creators define all rules for movement (-) violates the “checks and balances” of motion Motion control abuses its power over physics (-) limits emergent behavior
12
Procedural Animation Simulate physics directly – Ragdolls – Controllers to generate motor forces [Zordan, Hodgins 02] [Faloutsos et al. 01] [Popovic et al. 00] – (+) proper “separation of powers” Physics, control, AI Allows for emergent, natural interactions – (-) inherit problems that plague robotics PhysicsController
13
Procedural Animation Simulate physics only when necessary – Dynamic response: [Shapiro et al. 03] [Zordan et al. 2005] [Natural Motion Endorphin] – Mocap for “normal” dynamics – Simulation for disturbance dynamics (+) the best of mocap and simulation (-) limited to passive response Falling, getting hit, etc. No persistent interaction
14
Fundamental Question Can we have practical methods for physically simulated characters? Revisit the broader picture for autonomous control – Decision making (AI): objectives, current state (x[t]) → desired motion (x d [t]) – Motion Control: desired motion (x d [t]), current state (x[t]) → motor forces (u[t]) – Physics: current state (x[t]) → next state (x[t+1]) Physics Motion Control Decision Making objectives x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t])x[t+1]=P(x[t],u[t])x d [t]=AI(x[t])
15
The Autonomous Physical Motion Control Problem Motion Control Decision Making objectives x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t])x d [t]=AI(x[t]) Physics u[t] x[t+1]=P(x[t],u[t])
16
The Autonomous Physical Motion Control Problem Simulating physics – Download ODE – Buy Havoc – Implement Guendelman et al. 03 Motion Control Decision Making objectives x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t])x d [t]=AI(x[t])
17
The Autonomous Motion Control Problem AI for autonomous decision making – Someone else’s problem – Interface point for decision making – Focus on motion control Motion capture as decision making placeholder Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data
18
Motion Control: Impediments Gain tuning for motion control Maintaining upright balance Motion Control x[t+1] u[t] u[t]=MC(x d [t]-x[t]) x d [t] Mocap data
19
Motion Control: Impediments Gain tuning for motion control Maintaining upright balance Motion Control x[t+1] u[t] u[t]=MC(x d [t]-x[t]) Problem: parent space control? x d [t] Mocap data
20
Motion Control: Impediments Gain tuning for motion control Maintaining upright balance Motion Control x[t+1] u[t] u[t]=MC(x d [t]-x[t]) Solution: world space control! x d [t] Mocap data Problem: parent space control?
21
Segway Analogy Parent space – Wheel-centric coordinates
22
Segway Analogy Parent space – Wheel-centric coordinates Wheel rotation = you falling
23
Segway Analogy Parent space – Wheel-centric coordinates Wheel rotation = you falling Artifact of rotational sensing
24
Segway Analogy World space – Earth-centric coordinates – Sensed by MEMS accelerometers – Separate rider and wheel orientation
25
Parent PD-servo – Torque u about an axis Appropriate k p and k d values need for stable control – Tedious and difficult to find critical damping Feedback Motion Control u u[t]=k p (θ d [t] - θ[t]) + k d (θ d [t] - θ[t]).. D. Brogan
26
Parent Space Control Moving reference frame: – Interferes with stability – Lacks consideration of global orientation θ parent θ d parent
27
World Space Control Fixed global reference frame: – Steady target desireds – Implicit balance θ parent θ d parent θ world θ d world
28
World Space PD-Servo τ = k p (v · θ) + k d (ω d – ω a ) W d = desired world space rotation matrix W a = actual world space rotation matrix T = W d * W a -1 (transformation from W a to W d ) v, θ = rotation axis, angle derived from T ω d = desired world space angular velocity ω a = actual world space angular velocity WdWd WaWa v θ
29
A Note about Axis-Angle (Source code in our Sandbox paper) Torques determined by desired angular acceleration – i.e., Proportional to 2 nd derivative of rotation 1D Hinge [ Hodgins95 ]: 2 / t 2 3D Ball joint: 2 [rotation]/ t 2 – …but Matrix/Quat derivatives produce denormalized results under ODE’s Euler integration and are awkward to convert to torques – Rotation axis is fixed anyway during the Euler timestep, so reduce to a 1D problem… 3D Ball joint:
30
Early Results Gain Tuning Cartwheel with object
31
Super-balancing An artifact of world space control Retain “separation of powers” – Desired pose relative to character root (Person space) – Desired root orientation specified by AI – Actual position and orientation determined by physics
32
Root-spring control Spring only opposes gravity (no rotation about F G ) Torque-limited and breaks under excessive strain balance Torque limitBreaking point balance maximum = 0 Applied Torque
33
More Recent Results Obstacle course – Parent space – World space User interaction Balance comparison In-game boxing Parent space Dynamo
34
More Recent Results Obstacle course User interaction Balance comparison In-game boxing
35
More Recent Results Obstacle course User interaction Balance comparison – Green: world space – Orange: person space – Purple: person w/ knockout In-game boxing
36
Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing
37
More Recent Results Obstacle course User interaction Balance comparison In-game boxing
38
More Recent Results Obstacle course User interaction Balance comparison In-game boxing
39
Future Work AI for goal-oriented motion generation Experimental parent vs. world analysis Biomechanical character constraints Embodied perception
40
Conclusion Physically dynamic characters are practical World-space control yields – Implicit character balance – Easier gain tuning Path to emergent behavior for interactive characters
41
Acknowledgements NSF Award IIS-0534858 Dan Byers Sam Howell mocap.cs.cmu.edu G3D and ODE user communities “Innovating Game Development” Guest Lecturers A-Lab
42
RoboCup Dynamical Soccer cjenkins@cs.brown.edu morgan@cs.williams.edu
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.