Data-Driven Animation

Motion Graphs

For my CIS 660 course I will be developing a Maya authoring tool based on Prof. Alla Safonova's Siggraph 2007 paper Construction and optimal search of interpolated motion graph

Here is the concept of the plug-in:

Autonimator


A brief introduction to the paper is as follows:

  Here a user provides an approximate sketch of the path of the character and a constraint, on ground plane and we give back a natural looking motion that matches the user's specification.

How this 'natural looking motion' is accomplished is by using the following two techniques:

  • Motion Graph
  • Globally Optimal Search for the best possible solution

 Motion Graph

Basically, a motion graph consists of motion:

   E.g. M1: Motion capture data for a small jump
          M2: Motion capture data for a long jump

  Interpolated Motion: An interpolated motion of M1 and M2 to give us a medium jump

Since the medium jump is an interpolation of the life like Motion capture data, the interpolated motion is also human-like.

Optimal Graph Search

   A motion graph MG, can consist of huge amounts of data and combinations, using any-time A* search, we calculate interpolated motion graph
IMG, which is later unrolled to give us Interpolated search graph (unrolled globally in the environment)

  E.g. There can be a large number of combinations of motion,
  
          There can be lots of M1s and M2s, here we find out the  sub-optimal or optimal solution and choose the best interpolated path and finally apply it.

Sample Work flow:


1)  User gives us the path and the constraints
2) We have motion data. We construct motion graphs.
3) Interpolate the motion graphs for various interpolation combinations
4) Get the best (optimal or sub-optimal) Interpolation solution, using A* search.
5) Finally, apply this solution to get the motion.

This is just a high level introduction to the paper

A copy of the original paper is here

This motion graph, random running was produced using
Run Left, Turn Left, Run right, Turn right, run forward, run-stop-run mocap BVH data

Here is my presentation on Interpolated Motion Graphs

Construction and Optimal Search of Interpolated Motion Graphs


Subpages (1): Directed Graphs