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: 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 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 |