Motion Graphs for Character...

39
Motion Graphs for Character Animation Parag Chaudhuri Indian Institute of Technology Bombay Research Promotion Workshop on Introduction to Graph and Geometric Algorithms BESU, Shibpur March 16, 2013 http://www.cse.iitb.ac.in/graphics http://www.cse.iitb.ac.in/~paragc/research

Transcript of Motion Graphs for Character...

Page 1: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs for Character Animation

Parag ChaudhuriIndian Institute of Technology Bombay

Research Promotion Workshop onIntroduction to Graph and Geometric Algorithms

BESU, Shibpur

March 16, 2013

http://www.cse.iitb.ac.in/graphics

http://www.cse.iitb.ac.in/~paragc/research

Page 2: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Outline

● Introduction● Character and Motion Data● Motion Graphs● Conclusions

Page 3: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Outline

● Introduction● The Need for Motion Data● Using Motion Data

Page 4: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

The Need for Motion Data

Character Animation is about movement

© 2008-2011, DreamWorks Animation© Nintendo Co. Ltd.

Page 5: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

The Need for Motion Data

Creating realistic movement requires lot of skill and time

Source: Sintel, The Durian Open Movie Project

Page 6: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

The Need for Motion Data

But it is only one character – how difficult can that be?

Page 7: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

The Need for Motion Data

How about a thousand or a million?

Source: Walden Media, Rhythm and Hues Studios, Massive Software

Page 8: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

The Need for Motion Data

Capture the movement of performers and use it in animation

© Rise of the Planet of the Apes, 2011, Twentieth Century Fox Film Corporation

Page 9: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Using Motion Data

● Problems● Captured data can be voluminous● Processing motion data is computationally intensive● Capturing all possible motion is impossible● Motion Capture is expensive

Page 10: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Using Motion Data

● Solutions● Organize and represent data● Combine data intelligently to synthesize new motion● Simulate physics to dynamically generate new

motion

Page 11: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Outline

● Introduction● Character and Motion Data

● Character Representation● Motion Representation

Page 12: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Character Representation

A layered representation for the character

Model Source: MIRALab

Page 13: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Character Representation

A set of joint with fixed degrees of freedom ...

Page 14: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Character Representation

... joined with rigid links form a skeleton,

Page 15: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Character Representation

This can be seen as a rooted tree of rigid transformations.

Page 16: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Character Representation

Layered on top of this is a triangle mesh, i.e., the skin

Model Source: MIRALab

Page 17: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Character Representation

When the skeleton moves, the skin moves along

Model Source: MIRALab

Page 18: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Representation

Motion data is captured as joint trajectories.

Source: VICON

Page 19: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Representation

Motion data is captured as joint trajectories.

Page 20: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Representation

After much processing and cleanup, it is stored in one of many standard formats.

Page 21: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Outline

● Introduction● Character and Motion Data● Motion Graphs

● Idea● Construction● Generating Motion

Page 22: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Idea

Every motion clip is a graph.

Vertex ~ pose, Edge ~ transition frames.

Page 23: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Idea

There are many such clips in a motion database.

Page 24: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Idea

Find similar poses between clips.

Add transitions between them.

Page 25: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Idea

Find similar poses between clips.

Add transitions between them.

Page 26: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Idea

Now any walk on this graph...

Page 27: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Idea

...generates a new motion.

Page 28: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Construction

Similarity between poses across clips

● Identify compatible coordinate systems.

● Account for changes in body pose.

● Account for changes in joint-velocity and acceleration.

● Relative importance of joints.

Page 29: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Construction

Compute distance over a window of frames centered at and

D (P i , P j)= minθ , xo , zo

∑k=1

n

ωk∥pik−T θ , xo , zo

p jk∥2

2L+ 1P i P j

Constructing Good Quality Motion Graphs for Realistic Human Animation, Limin Zhaog, PhD Thesis, University of Pennsylvania, 2009.

Motion Graphs, Lucas Kovar, Michael Gleicher and Frederic Pighin, SIGGRAPH 2002.

Page 30: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Construction

Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2011

Page 31: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Construction

● Create transitions between similar frames.

● Retain the largest strongly connected component.

● Linear interpolation of translations, SLERP for rotations.

Motion Graphs, Lucas Kovar, Michael Gleicher and Frederic Pighin, SIGGRAPH 2002.

Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2011

Page 32: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs - Construction

Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2011

Demo

Page 33: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs – Generating Motion

● Follow a path – minimize a "path follow" function during the graph walk.

Path Synthesis for Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2012

Page 34: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs – Generating Motion

Path Synthesis for Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2012

● Follow a path – minimize a "path follow" function during the graph walk.

Page 35: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs – Generating Motion

● Follow a path – minimize a "path follow" function during the graph walk.

Path Synthesis for Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2012

Page 36: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Motion Graphs – Generating Motion

Path Synthesis for Motion Graphs in Blender, Mihir Gokani and Parag Chaudhuri, Blender Conference, 2012

Page 37: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Outline

● Introduction● Character and Motion Data● Motion Graphs● Conclusions

Page 38: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Conclusions

● Motion Graphs are very useful in character animation.

● Extensively used for real-time and offline animation synthesis.

● Active area of research.● Future going toward a mix of physics-based

simulation and motion capture.

Page 39: Motion Graphs for Character Animationcs.rkmvu.ac.in/~sghosh/public_html/becs_igga/motion_graphs_parag… · Motion Graphs - Construction Create transitions between similar frames.

Thank You

Questions?

Image source:Despicable Me, Illumination Entertainment 2010