PeelSolve: Overview

The process for solving Motion Capture Data onto a skeleton involves defining a relationship between the motion capture data and the skeleton it drives, much in the same manner as a puppeteer controls the motion of a puppet with strings.  The points where the strings are attached on the puppet and the length of the strings affects the ability of the puppeteer to control the puppet which ultimately alter the performance of the puppet.  If care and time is taken to create the correct relationships, subtle details in the performance can be recreated.

The motion capture data is often defined as a set of global positions for the point cloud markers and the skeleton is a hierarchy of transforms (joints/segments).  As the point cloud data moves, the skeleton’s joints need to be rotated to reflect the change.  The motion capture solver aims to recreate the performance as accurately as possible, maintaining the fidelity of the performance as it is recreated on the character model.

PeelSolve uses a mathematical technique known as Global Optimization to achieve this task.  Initially, a relationship between the global motion capture data and the local transforms of the skeleton is defined.   Special locators are parented to the joints to define the positions of the motion capture markers in relation to a specific joint/segment.  As the motion capture data moves the solver will manipulate all the joints, attempting to eliminate any gaps between the parented markers and the corresponding global position of the motion capture marker.  As a “global” algorithm, all joints and all markers are calculated at the same time.  This gives the potential for a very high fidelity and fluid looking result.

Solver as a Maya Plugin

Having the Global Optimization solver as a plugin for Maya greatly simplifies the process by removing the need to export to another package for solving and import back into Maya again. 

This allows for:

  • Support for all joint attributes
  • Faster iterations on improving the solve result
  • Ability to see changes in the solve on more advanced rigs including Maya’s constraints, plugins and skinning.
  • Access to Maya’s advanced interface and tools including Mel/Python, image planes, fcurve editor and rendering.
  • Simplified process for moving joint centers to see the effect on the solve (no need to export the model back into Maya if joint centers are moved in solve package).