Talk Overview 1.The Challenge of Interactivity 2.Parametric Blending -Building Blend-Spaces -Using Virtual Example Grids for Parameterization -Combined and Layered Blend-Spaces 3.Comparison with Academic Research 4.Procedural Animations Issues with Animation Blending 1 – Blend-Weights can be complex to calculate 2 – Blend-Weights are not intuitive 3 – Blend-Weights can give unpredictable results Is this always a problem? When is it a problem? Part 2 Parametric Blending Parametric Blending 1. What is it? An extension of animation blending A method to create predictable blending-results 2. How does it work? It uses the captured properties of a motion-clip directly It generates the blend-weights in relation to these properties 3. What can we use it for? Animation vs Parametric Blending The hard part is to generate Correct Blend-Weights and Natural Results! Getting both at the same time can be an extremely difficult process The 5 Features a Parameterizer must have! 1.Accurate Parameter Mapping 2.Artist-Directed Blending 3.Continuous-Control 4.Runtime Efficient 5.Memory Efficient Conclusion: if only one of these features is missing, then it’s very hard to use it in game-productions. Building-Blocks for a Parameterizer Virtual Example Grids The Offline Process The step-by-step process how to setup a parametric group for locomotion. Virtual Example Grids The Offline Process Step 1: Asset Selection Virtual Example Grids The Offline Process Step 2: Parameter Extraction Virtual Example Grids The Offline Process Step 3: Setup of the Blend-Space Virtual Example Grids The Offline Process Step 4: Blending Annotations Weird Issue: Different combinations of Blend-Weights, can give you a blended motion with Identical Parameter, but totally different Visual Poses Virtual Example Grids The Offline Process Advantages of Annotations 1.Artist Directed Blending 2.No “Scattered Data Interpolation” Problem 3.Continuous Control 4.Control over Performance 5.Simple, Precise and Easy to Debug Virtual Example Grids The Offline Process Step 5: Extrapolated Pseudo Examples Virtual Example Grids The Offline Process Step 6: Virtual Example Grids Virtual Example Grids The Runtime Process Virtual Example Grids The Runtime Process Step 1: Parameterization: Virtual Example Grids The Runtime Process Step 2: Time-Warping Virtual Example Grids The Runtime Process Step 3: Pose-Blending Curse of Dimensionality • Exponential Asset Explosion 1D - 3 assets for move-speed 2D - 9 assets for move-speed / turn left-right 3D - 27 assets for speed / turn left-right / uphill-downhill 4D – 27*8 assets for speed / turn left-right / uphill-downhill multiply by 8 move-directions ---------------------------------------------------------=216 (for 1 parametric group) -This is the raw bare minimum for a full featured character, regardless of the blending method. -Our practical maximum was 34 assets per group • Debugging Nightmare -More then 3 dimensions are hard to visualize & debug -Dimensionality-Problem is the Dead End for Parametric Blending Curse of Dimensionality • But 3D is not enough! -with 3D you have only 3 Parameters to control -in a game you will need much more • What’s the Solutions? -build small Blend-Spaces and combine them -or we can layer Blend-Spaces Combined Blend-Spaces •Our Blend-Spaces are limited to 3 dimensions •But it is possible to combine small blend-spaces Layered Blending • The Layer Model • Types of Layered Animations - Overwrite Animations - Additive Animations - Combination of both Methods in one Asset Parametric Blending used in Layers • Parametric Weapon Aiming Parametric Blending used in Layers • Parametric Gaze-control (including eye-lids) Virtual Example Grids Summary • We used only small Blend-Spaces (max 3D) • With combinations it was possible to control 4D • With layering it was possible to control up to 8D Part 3 Comparison with Academic Research Techniques for a Parameterizer Virtual Example Grids vs Radial Basis Functions “Verbs and Adverbs: Multidimensional motion interpolation.” by Charles Rose, Bobby Bodenheimer and Michael Cohen (1998) “Artist directed IK using RBF interpolation.” by Charles Rose, Peter-Pike Sloan and Michael Cohen (2001) Virtual Example Grids vs K-Nearest Neighbors “Automated extraction and parameterization of motions” by Lucas Kovar and Michael Gleicher (2004) Kinematic Methods Combination of IK-solvers • • IK-Solvers (2B, 3B & CCD-IK) generate new poses Procedural Motion Warping Typical Applications • • • Fix of Blending-Artifacts Ground Alignment Recoil From RBF to VEG 1.We started with an RBF implementation -was slow, no control over blending 2.We combined RBF with KNN -faster, but now we had snaps in the motions 3.Smoothing of Blend-Weights to avoid snaps -worked, but smoothing messed up the parameterization 4.Manual Annotation -this fixed all issues and made SDI redundant 5.We used VEGs to maximize performance Part 4 Procedural Animations Physically Based Animations • • • • • Just Ragdolls Ragdolls & Animation Blending Procedural Hit-Reactions Animated Hit-Reactions Inverse Dynamics Summary 1.Animation-Data is the foundation 2.Blend-Spaces and Parametric Animations 3.Annotations -Annotations to improve the motion-quality -Annotations to eliminate the SDI problem -Annotations to accelerate the pose-blender -Annotations with Pseudo-Examples to save memory 4.Virtual Example Grids 5.Combined and Layered Blend-Spaces 6.Procedural Techniques Special thanks for the Help with this Presentation: Benjamin Block, Chris Butcher, Daniele Duri, Frieder Erdman, Ivo Zoltan Frey, Mathias Lindner, Michelle Martin Peter North, David Ramos, Sven van Soom, Peter Söderbaum, Alex Taube, Karlheinz Watemeier, The Best is Yet to Come You can find a more detailed comparison between different Parametric Methods after the Q&A Slide The Best is Yet to Come You can find a more detailed comparison between different Parametric Methods Reference & Comparison Requirements for a Parameterizer 1. 2. 3. 4. 5. Accurate Parameter Mapping Artist-Directed Blending Continuous-Control Runtime Efficient Memory Efficient Regular Grid Interpolation Synthesis “Interpolation synthesis for articulated figure motion” by Douglas Wiley and James Hahn (1997) 1.Accurate Parameter Mapping: 2.Artist-Directed Blending: 3.Continuous-Control: 4.Run-time Efficient: 5.Memory Efficient: YES (but depends mainly on the density of the grid) YES (but artist are forced to fill a grid with motions) YES YES NO (memory requirements and the amount of assets were insane) Scattered Data Interpolation (1/5) Radial Basis Functions “Verbs and adverbs: Multidimensional motion interpolation.” by Charles Rose, Bobby Bodenheimer and Michael Cohen (1998) 1.Accurate Parameter Mapping: 2.Artist-Directed Blending: 3.Continuous-Control: 4.Run-time Efficient: 5.Memory Efficient: ??? (For IK-tasks very inaccurate) NO (In many cases blend-poses were more or less random) YES (RBFs are smooth) NO (The parameterizer was using interpolation per DOF) YES (Only key-examples are needed) Scattered Data Interpolation (2/5) Cardinal Radial Basis Functions “Artist directed IK using RBF interpolation.” by Charles Rose, Peter-Pike Sloan and Michael Cohen (2001) 1.Accurate Parameter Mapping: 2.Artist-Directed Blending: 3.Continuous-Control: 4.Run-time Efficient: 5.Memory Efficient: YES (precision is coming mainly from the pseudo-examples) NO (in many cases blend-poses were more or less random) YES (RBFs are smooth) ??? (The more pseudo-examples, the slower) ??? (Depends on the amount of Pseudo-Examples) Scattered Data Interpolation (3/5) K-Nearest Neighbors “Automated extraction and parameterization of motions” by Lucas Kovar and Michael Gleicher (2004) 1.Accurate Parameter Mapping: 2.Artist-Directed Blending: 3.Continuous-Control: 4.Run-time Efficient: 5.Memory Efficient: YES (only with enough pseudo examples) NO (they use random sampling. The result was more or less luck) NO (Continuous-control was impossible) YES (KNN is simple and fast) NO (requires high amount if pseudo-example) Scattered Data Interpolation (4/5) Geostatistical Interpolation “Geostatistical Motion Interpolation” by Tomohiko Mukai and Shigeru Kuriyama (2005) 1.Accurate Parameter Mapping: 2.Artist-Directed Blending: 3.Continuous-Control: 4.Run-time Efficient: 5.Memory Efficient: YES NO YES NO YES (accurate, but not 100%) (same issue as RBFs) (RBFs are smooth) (Kringing is slower then RBFs) (it is memory efficient at the cost of more CPU power) Scattered Data Interpolation (5/5) Virtual Example Grids 1.Accurate Parameter Mapping: 2.Artist-Directed Blending: 3.Continuous-Control: 4.Run-time Efficient: 5.Memory Efficient: YES (depends on the density of the grid) YES (annotations for interpolation and extrapolation) YES YES (all you need is a simple look-up and linear blend) YES (depends on the density of the grid)