User Guide > Rigging > Master Controller > About the Pose Interpolation Grid Script

About the Pose Interpolation Grid Script


The Pose Interpolation Grid script is a reusable script that can be applied on pretty much any rig. The purpose of this script is to allow a Rigging artist without any scripting knowledge to apply an orientation master controller (2D dot) on a puppet for animators to quickly select a given pose or any interpolation option between two given pose and use it as a key pose. This is only one example of what the master controllers can be used for.

The principle is similar to the Pose Copier except that it is simpler to setup, much faster to use for the animators, and allows them to select any interpolated pose instead of copying the exact one provided in the Pose Copier. There is no need to select an external template to find the poses. Once the puppet is imported in the scene, the poses are automatically imported along with the Master Controllers. When the animator displays the controls on the Master Controllers node, the poses are loaded, the control widget is displayed and the animator is ready to move the character to select any interpolated pose.

This script works quite well on 360 rigs for head and body orientation, and can be used on any standard production rig to quickly pose arms, blinks, expressions, or anything else useful.

To make the setup easier to understand, the concept of the script is based on a visual grid.

To help you understand, the following example makes concrete use of the spatial grid for the setup poses. The wrist is positioned on specific coordinates on the grid ((0, -1), (-5, -1), (-5, 5), (0, 5)).

In your rigging setup scene, you would pose your character arm following a similar setup if you want to make use of this master controller sample script.

Later on, when the master controllers script is setup, the control 2D dot will be placed on the wrist and will allow the animator to move the arm from the wrist and chose any pose or interpolated frame between these four poses.

The poses don't have to be spread in space, they can be stacked one on top of the other as would expressions be. The visual control point then becomes a bit more symbolic. You can decide that the upper left corner correspond to happy or angry and the bottom right one correspond to sad or anxious.

You can create reference layers to help the animators remember where to move the dot to access a certain expression. Using the Visibility node, you can make these handles only visible in OpenGL and be sure they don't export in Render mode.

Where the grid concept becomes even more useful and makes a lot of sense is with 180 or 360 head orientation and rotations. The idea is to feed poses to the master controllers for the animator to be able to quickly set the key poses. The poses are given to the master controllers script by entering frame numbers, the frame on which the official poses are set. When you have several head angles and tilts, it can be confusing to know what frame number to enter and in what order to input them. A grid allows you to make sense of the frames and position the visual control point.

Included in this master controllers script, are grid presets taking into consideration flipped poses. When building a 360 production rig, Rigging artists will not create poses for both sides. They will create the poses for the first 180 rotation and then copy the keyframes over and use a parent peg to flip these poses to create the full 360 rotation, unless the character is not symmetrical. This sample script takes this method into consideration, providing flipping preset grids.

As shown above, some of the examples can be as simple as a 2x2 grid with four poses or could have a lot more rows and columns such as a 6x3 grid with 18 poses and flips. The script allows you to chose the grid size you need, save presets, position the control dot for each pose and filter which functions, deformers, pegs, and parameters the master controllers will affect.

NOTE: For information about the options of the Interpolation Grid dialog box, see Interpolation Grid Script Dialog Box