330 likes | 345 Views
Explore the techniques of pose space deformation, skeletal subspace deformation, shape interpolation, and scattered data interpolation for realistic character deformation in animation. Learn how to combine these approaches to achieve natural and dynamic deformations in real-time simulations.
E N D
Sculpted Data Driven and Physically Based Character Deformation Patrick Coleman CSC 2529 Character Animation February 12, 2003
Papers • “Pose Space Deformation: A Unified Approach to Shape and Interpolation and Skeleton-Driven Deformation” J.P. Lewis, Matt Cordner, Nickson Fong • “DyRT: Dynamic Response Textures for Real Time Deformation Simulation with Graphics Hardware” Doug L. James and Dinesh K. Pai • “Interactive Skeleton-Driven Dynamic Deformations” Capell, Green, Curless, Duchamp, Popovic
Pose Space Deformation • Common Approaches to Character Deformation • Skeletal driven deformation for articulated body motion • Shape interpolation among a set of poses for facial animation • Pose Space Deformation • Combine these approaches and address their shortcomings
Skeletal Subspace Deformation • Surface Points are tied to joints, linearly weighted • User often tweaks weights to achieve desired response • Restrictive subspace not capable of achieving all desired poses • Leads to unnatural deformations to certain poses • Maya smooth skinning
SSD Problems Elbow twist Collapsing Elbow …Maya Example…
Shape Interpolation • Linearly combine a number of key poses using slider values
Shape Interpolation • Linearly combine a number of key poses using slider values • Allows user to explicitly sculpt poses • Positional interpolation is only C0 continuous • Poses can add up or cancel out unexpectedly • Maya Blend Shape …Maya Example…
PSD • Skeletal-driven deformation among a set of key poses • User sculpts set of poses • Scattered data interpolation to determine configuration driven deformation • Facial animation among a set of key poses • Scattered data interpolation driven by relative key pose weights
Scattered Data Interpolation • Locally weight nearby configurations using precomputed radial basis functions: • Allows smooth interpolation among configurations if desired • Precomputation to achieve real-time deformation • User must avoid very similar poses
Suggested Facial Space • Adapted from psychological research Aroused alarmed delighted frustrated Displeasure Pleasure serene tired Sleepy
PSD Summary • Data driven approach to dynamic deformation • Data supplied by user sculpting “important” poses • Scattered data interpolation among key poses to determine intermediate poses using radial basis functions • Can be skeleton driven • Can be blendShape’d* (sliders to distribute weight among poses) *no, “blendShape’d” is not a real word.
Dynamic Response Textures • “Geometrically complex, interactive, physically-based, volumetric, deformation models, with negligible main CPU costs.” • Modal Analysis to determine how modal deformation of surface points • Hardware vertex program to drive deformations based on rigid body motion
Modal Analysis • Reduce vibration to a set of frequency modes • Overall Deformation is a superposition of deformation due to each mode • u: displacementM: mass matrixD: dampening coefficient matrix (=sM) K: stiffness coefficient matrix
Modal Analysis • Determine a set of vibration modes: • Natural frequency of vibration: • Modal dampening:
Applying Modal Vibration • Assume system is a rest at time t0 • Integrate solution to modal ODE to time t Solution is dependent on force matrix, modal vibration frequency, and modal dampening factor • Throw away high frequency modes Not very noticeable Can cause temporal aliasing
Rigid Motion Excitement • Allows use of skeletal motion to drive local modal deformation • Consider both linear and angular velocity • Euler discretization of acceleration • Digital filter for efficient integration • Assumes modal vibration is not dependent on skeletal deformation • This allows pre-computation of all deformation parameters • Interpolate deformation with base pose across affected region
Hardware Acceleration • NVIDIA GeForce3 vertex program
DyRT Summary • Fast application of tissue response to dynamic movement • Modal analysis to reduce deformation to discrete modes • Precomputation of response functions • Part of the rendering pipeline (hardware program) • Models wearing tight red shorts with SIGGRAPH logos embedded in a Texan theme are kind of scary…
Interactive Skeleton Driven Dynamic Deformations • Simulation of secondary motion of deformable objects in real time • Framework: • Embed object in volumetric grid with bone constraints • Constrain grid to lie along bones for efficient computation • Superpose locally linear simulations driven by single bone • Hierarchical basis on grid to adapt to level of detail
Problem Formulation • Rest state of object: • Deformation: • Overall system state:
Hierarchical grid basis • Subdivide grid over detail of object • Trilinear basis functions: • falls off from one to zero along lines of control mesh
Equations of Motion • Euler-Lagrange equations: • First three terms reduce to numerical integration • Integration: Subdivide control mesh to desired level Compute basis function values at each vertex Tetrahedralize domain (allows piecewise linear approximation of functions) Integrate over each tetrahedron using linear approximations of basis functions
System setup • Manual definition of skeleton, control mesh, regions of local linearization
Solving the System • Linearize equations at each time step (Baraff/Witkin 98) • Conjugate Gradient solver applied to sparse linear system of second equation, direct solution of first equation follows
Bone Constraints • Some velocities are known • Second equation reduces to: • Same form, lower complexity
Position Constraints • Allow for interaction with other objects, user • Velocity enforced in CG solver by projecting constraint onto simulation space velocity components (Barraff/Witkin 98) • Introduction of new detail coefficients in basis
Local Linearization • Locally linearize influence of nearby bones • Use manually assigned vertex weights to blend among regions • Independently solve each region • Composite regional solutions:
Other details • Twisting motion is penalized with stiffness dependent on potential gradient along deformation • Adaptive addition and removal of basis functions in hierarchy
ISDDD Summary • Real-time dynamic response for elastically deformable models • Objects are embedded in a hierarchical control mesh to which the finite element method is applied • Alignment of control grid to skeleton simplifies solution • Locally linearized regions of influence to reduce complexity • Point constraints allow interaction
Useful References(if you really want to understand what’s going on) • Dynamic Response Textures • “Good Vibrations: Modal Dynamics for Graphics and Animation” Pentland and Williams, SIGGRAPH 1989 • “A User-Programmable Vertex Engine” Lindholm, Kilgard, Moreton, SIGGRAPH 2001 • Interactive Skeleton Driven Dynamic Deformations • “Large Steps in Cloth Simulation” Baraff & Witkin, SIGGRAPH 1998 • “Physically Based Modeling” Baraff & Witkin, SIGGRAPH 2001 Course notes, available from Pixar’s web site • “An Introduction to the Conjugate Gradient Method Without the Agonizing Pain” Shewchuk, 1994. See citation in Baraff/Witkin 1998