1.32k likes | 1.5k Views
Presented by: Yoram Atir Simon Adar. Animating (human) motion. Applications of computer animation. Movies Advertising Games Simulators …. General goals of the work presented. New methods aimed to save time/money/skills needed. - Study motion (texture). Agenda. - Basic concepts
E N D
Presented by: Yoram Atir Simon Adar Animating (human) motion
Applications of computer animation • Movies • Advertising • Games • Simulators • …
General goals of the work presented • New methods aimed to save time/money/skills needed. - Study motion (texture).
Agenda - Basic concepts - Motion Synthesis/texture using motion capture • Physics/Biomechanics Motion Synthesis - Cartoon Motion Retargeting.
Basic concepts • Animation world (3D) • Skeletal model representation • Model positioning • Keyframes • Motion capture • Frequency bands • Correlations Basic Concepts
3D animation world • (Human) model is animated in Object space • Animated model projected into “global” space • Camera is placed and rotated • Perspective is set • Other… Basic Concepts
Skeletal representation • Each model has its own Default Pose • DOF’s – joint angles/translations relative to Default Pose • Hierarchical (tree) skeletal representation of model Picture from Lecture in Computer Graphics course Department of computer science University of Washington Basic Concepts
Creating motion • Skeletal variations between frames • Overall rotation/Translation between frames • Correlate. General Problem: A LOT of work due to the large number of DOFS & high frame rate Basic Concepts
Figure positioning • Forward kinematics (simplified): Figure positioning by joint data specification. Problem: • Tedious trial and error. Basic Concepts
Figure positioning Inverse kinematics (simplified) • Joint data is acquired by solving for the final position • In general, This is an optimization problem with a large system of variables and constraints • Problems often are expressed as minimization problems, and solved using standard algorithms (gradient decent etc). • Usually, infinite number of possible solutions. • A “good” solution has to be more than “feasible” • Often one is obtained by embedding specific knowledge as additional constraints, and/or • Using Inverse kinematics as a part of a specific solution. Basic Concepts
Basic methods for saving labor Motion capture KeyFrames Basic Concepts
Keyframes • Specifying only part of DOFs and frames • Computer interpolation between them Problem: “smooth” interpolation looks unreal There are methods to apply “specific noise” • Term has historical roots Basic Concepts
Motion capture • Acquired from “live action” • Copied onto animated character • Problem: Hard to adapt. • “Motion Editing” – methods to adapt mocap • Done in studios • Mocap libraries exist Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control Keyframing Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive Keyframing Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive • Detail hard Keyframing Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive • Detail hard • Many DOF Keyframing Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive • Detail hard • Many DOF Keyframing • Detail easy Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive • Detail hard • Many DOF Keyframing • Detail easy • All DOF Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive • Detail hard • Many DOF Keyframing • Detail easy • All DOF • No control Mocap Basic Concepts
Keyframing vs. Mocap Advantages Disadvantages • Control • Intuitive • Detail hard • Many DOF Keyframing • Detail easy • All DOF • No control • Not intuitive Mocap Basic Concepts
Frequency Bands Right flat Right toe Left flat Left toe Basic Concepts
Frequency Bands • Simplifies the form of the data • Low frequency Variations: Large scale motions. • Higher frequency variations: individual “noise” / Jitter Both are important to preserve in order to capture the essence of motion Basic Concepts
Correlations • Joints angle/translation data is related to each other • Joint angles are correlated over time • Correlation “plot” is • (somewhat) Specific to the type of motion • Carries “personality” information (style) Basic Concepts
More information… INTRODUCTION TO COMPUTER ANIMATION – Rick parent http://www.cis.ohio-state.edu/~parent/book/outline.html Splines http://www.people.nnov.ru/fractal/splines/Intro.html Hash Inc - Animation software (Movies, tutorials…) http://www.hash.com Google…
Agenda - Basic concepts - Motion Synthesis/texture using motion capture • Physics/Biomechanics Motion Synthesis - Cartoon Motion Retargeting
Goal: Motion Capture Assisted Animation • Create a method that allows an artist low-level control of the motion • Combine the strengths of keyframe animation with those of mocap Motion Capture Assisted Animation – Pullen/Bregler
Goal: Motion Capture Assisted Animation “Sketch” an animation by keyframing • Animate only a few degrees of freedom • Set few keyframes “Enhance” the result with mocap data • Synthesize missing degrees of freedom • Texture keyframed degrees of freedom Motion Capture Assisted Animation – Pullen/Bregler
What is a Motion Texture? • Every individual’s movement is unique • Synthetic motion should capture the texture • To “texture” means to add style to a pre-existing motion • Technically, texturing is a special case of synthesis
Goal: Motion Capture Assisted Animation Blue = Keyframed Purple = Textured/Synthesized Motion Capture Assisted Animation – Pullen/Bregler
How an Animator Works • A few degrees of freedom at first • Not in detail • Fill in detail with more keyframes later Motion Capture Assisted Animation – Pullen/Bregler
The Method in Words • Choose degrees of freedom to drive the animation • Compare these degrees of freedom from the keyframed data to mocap • Find similar regions • Look at what the rest of the body is doing in those regions • Put that data onto the keyframed animation Motion Capture Assisted Animation – Pullen/Bregler
Choices the Animator Must Make • Which DOF to use as matching angles • Which DOF to texture, which to synthesize • Which frequency band to use in matching • How many frequency bands to use in texturing • How many matches to keep • How many best paths to keep Motion Capture Assisted Animation – Pullen/Bregler
Before Beginning:Choose Matching Angles Root x trans Root y trans Root z trans Root x rot Root y rot Root z rot Spine1 x Spine1 y Spine1 z Spine2 x Spine2 y Spine2 z Spine3 x Spine3 y Spine3 z Neck x Neck y Neck z Head x Head y Head z Head Aim x Head Aim y Head Aim z Left Clavicle x Left Clavicle y Left Clavicle z Left Shoulder x Left Shoulder y Left Shoulder z Left Elbow x Left Elbow y Left Elbow z Left Wrist x Left Wrist y Left Wrist z Right Clavicle x Right Clavicle y Right Clavicle z Right Shoulder x Right Shoulder y Right Shoulder z Right Elbow x Right Elbow y Right Elbow z Right Wrist x Right Wrist y Right Wrist z Left Hip x Left Hip y Left Hip z Left Knee x Left Knee y Left Knee z Left Ankle x Left Ankle y Left Ankle z Left Ball x Left Ball y Left Ball z Right Hip x Right Hip y Right Hip z Right Knee x Right Knee y Right Knee z Right Ankle x Right Ankle y Right Ankle z Right Ball x Right Ball y Right Ball z Time Time Time
Matching Angles Drive the Synthesis Root x trans Root y trans Root z trans Root x rot Root y rot Root z rot Spine1 x Spine1 y Spine1 z Spine2 x Spine2 y Spine2 z Spine3 x Spine3 y Spine3 z Neck x Neck y Neck z Head x Head y Head z Head Aim x Head Aim y Head Aim z Left Clavicle x Left Clavicle y Left Clavicle z Left Shoulder x Left Shoulder y Left Shoulder z Left Elbow x Left Elbow y Left Elbow z Left Wrist x Left Wrist y Left Wrist z Right Clavicle x Right Clavicle y Right Clavicle z Right Shoulder x Right Shoulder y Right Shoulder z Right Elbow x Right Elbow y Right Elbow z Right Wrist x Right Wrist y Right Wrist z Left Hip x Left Hip y Left Hip z Left Knee x Left Knee y Left Knee z Left Ankle x Left Ankle y Left Ankle z Left Ball x Left Ball y Left Ball z Right Hip x Right Hip y Right Hip z Right Knee x Right Knee y Right Knee z Right Ankle x Right Ankle y Right Ankle z Right Ball x Right Ball y Right Ball z Time Time Time
Motion Capture Data Root x trans Root y trans Root z trans Root x rot Root y rot Root z rot Spine1 x Spine1 y Spine1 z Spine2 x Spine2 y Spine2 z Spine3 x Spine3 y Spine3 z Neck x Neck y Neck z Head x Head y Head z Head Aim x Head Aim y Head Aim z Left Clavicle x Left Clavicle y Left Clavicle z Left Shoulder x Left Shoulder y Left Shoulder z Left Elbow x Left Elbow y Left Elbow z Left Wrist x Left Wrist y Left Wrist z Right Clavicle x Right Clavicle y Right Clavicle z Right Shoulder x Right Shoulder y Right Shoulder z Right Elbow x Right Elbow y Right Elbow z Right Wrist x Right Wrist y Right Wrist z Left Hip x Left Hip y Left Hip z Left Knee x Left Knee y Left Knee z Left Ankle x Left Ankle y Left Ankle z Left Ball x Left Ball y Left Ball z Right Hip x Right Hip y Right Hip z Right Knee x Right Knee y Right Knee z Right Ankle x Right Ankle y Right Ankle z Right Ball x Right Ball y Right Ball z Time Time Time
Overview Steps in texture/synthesis method • Frequency analysis • Matching • Path finding • Joining Motion Capture Assisted Animation – Pullen/Bregler
Example In the following series of slides: Hip angle = matching angle Spine angle = angle being synthesized Motion Capture Assisted Animation – Pullen/Bregler
Frequency Analysis:Break into Bands Motion Capture Assisted Animation – Pullen/Bregler
Frequency Analysis Band-pass decomposition of matching angles Keyframed Data Motion Capture Data Frequency Time Motion Capture Assisted Animation – Pullen/Bregler
Frequency Analysis Chosen low frequency band Keyframed Data Motion Capture Data Frequency Time Motion Capture Assisted Animation – Pullen/Bregler
Chosen Low Frequency Band Hip angle data (a matching angle) Keyframed Data Motion Capture Data Motion Capture Assisted Animation – Pullen/Bregler
Making Fragments Break where first derivative changes sign Keyframed Data Motion Capture Data Motion Capture Assisted Animation – Pullen/Bregler
Making Fragments Step through fragments one by one Keyframed Data Motion Capture Data Motion Capture Assisted Animation – Pullen/Bregler
Matching Keyframed Fragment Motion Capture Assisted Animation – Pullen/Bregler
Matching Motion Capture Data Keyframed Fragment Motion Capture Assisted Animation – Pullen/Bregler
Matching Motion Capture Data Keyframed Fragment Motion Capture Assisted Animation – Pullen/Bregler
Matching Compare to all motion capture fragments Angle in degrees Keyframed Mocap Time
Matching Resample mocap fragments to be same length Angle in degrees Keyframed Mocap Time