Download presentation
Presentation is loading. Please wait.
1
Dynamo Dynamic, Data-driven Character Control with Adjustable Balance Pawel Wrotek Electronic Arts Chad Jenkins Brown University Morgan McGuire Williams College
2
First, a video…
3
Character Motion An integral part of modern video games FIFA 2006 (EA) San Andreas (Rockstar) Antigrav (Harmonix)
4
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
5
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
6
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)
7
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]
8
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
9
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
10
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
11
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])
12
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])
13
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])
14
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
15
Motion Control: Impediments Gain tuning for motion control Balance for upright motion Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data
16
Motion Control: Impediments Gain tuning for motion control Balance for upright motion Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data Problem: parent space control?
17
Motion Control: Impediments Gain tuning for motion control Balance for upright motion Motion Control x[t+1] u[t]x d [t] u[t]=MC(x d [t]-x[t]) Mocap data Problem: parent space control? Solution: world space control?
18
Segway Analogy
21
Parent PD-servo – Torque u about an axis Appropriate k p and k d values are necessary for stable control – Tedious and difficult – Holdover from robot rotational sensing Feedback Motion Control u u[t]=k p (θ d [t] - θ[t]) + k d (θ d [t] - θ[t]).. D. Brogan
22
Parent Space Control Moving reference frame: – Interferes with stability – Lacks consideration of global orientation θ parent θ d parent
23
World Space Control Fixed global reference frame: – Steady target desireds – Implicit balance θ parent θ d parent θ world θ d world
24
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 θ
25
A Note about Axis-Angle (Source code in the 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:
26
Early Results Gain Tuning Cartwheel with object
27
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
28
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
29
Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing Parent space Dynamo
30
Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing
31
Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing
32
Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing
33
Results Obstacle course – Parent space – Person space User interaction Balance comparison Ballistic – Person space (meathook) – Person space (root spring), Parent space In-game boxing
34
Future Work AI for goal-oriented motion generation Experimental parent vs. world analysis Biomechanical character constraints Embodied perception
35
Conclusion Physically dynamic characters are practical World-space control yields – Implicit character balance – Easier gain tuning Path to emergent behavior for interactive characters
36
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
37
RoboCup Dynamical Soccer cjenkins@cs.brown.edu morgan@cs.williams.edu
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.