Back Setup

by Rick Kogucki, April 2004

Introduction:
This tool sets up control objects for a character's back, including the advanced twist controls in maya version 6 that allow twisting controls from both ends of a spline ik.
This information is intended to help you work with or customize the back setup bonus tool. It explains what the script does, what its assumptions are and other ways you can tweak the setup.

How to use it;
You need to have a skeleton already made with a root joint and spine joints. Select the first spine joint next to the root and the last spine joint. Select the options you want and press the Rig Back button. If you are using your own control objects, you must load them into the option box before selecting the joints and pressing the Rig Back button. Once the rig is created you can animate the control objects (default poly cubes or custom objects) or clusters to control your back motion. This tool integrates well with the foot setup tool in bonus tools.

Assumptions and Limitations:
The script assumes that your character has a vertical spine and faces forwards on the +Z axis. The script will flip the involved joints axes so that Y points in -Z and X points down the bone. These orientations are the most common in rigging. No choice is given here, so beware if your direction of your axes differs. It does not work well with bound surfaces as they will twist if the joint axis is reset by the script. You may be able to compensate for this by rotating the joint axis after the fact, but better to create the setup before binding or have the joint axes point the same way as the script would . The script isn't made to redo an existing setup, so you need to either undo, or delete the control objects, clusters, spline ik handle and curve. You can keep custom control objects, but you will need to delete the constraints from the root if you chose "Use Bottom for Root" in the options.

What the tool actually builds:
         It creates a curve and the spline ik handle between the selected joints and then creates a cluster for each cv on the curve. It builds polygon cubes for controls and uses them for the start and end controls of the spline ik, or uses objects you load in the options window.  It takes advantage of the new advanced twist controls for spline ik in Maya version 6, allowing  twist controls at either end of the spline ik, and adjusts the settings best for a spine.You can see the control objects assigned to the ik handle in the Attribute Editor under IKSolver> Advanced Twist Controls. There are many choices in how you can use this feature, but the script settings should be useful for a spine.
The clusters are parented to the top or bottom spine controls. Moving a control gives a gross change in the shape of the spine. The clusters can be used for finer control.  Use Bottom Control Object for Root allows you to use the bottom control object as a point and orient constraint for the root/pelvis.

More on Using the tool:
To use your own objects as the top and bottom control for the spine, you need to turn on the flag and then select the appropriate object and hit the Get button. Alternatively, you can type in the name of the object and hit Enter. The script won't move your objects, so place them where you want them to be first. Fewer clusters may mean less detail in spine shape, but its also less to animate and tends to a smoother looking spine. Once you hit the Rig Back button and maya creates the rig, the Advanced Twist Controls (Attribute Editor for spline ik handle, under IK Solver Attributes) shows the objects listed as the World Up Objects. These are effectively aim constraints for the spline ik. You can adjust the distribution of twisting down the joints with the Twist Value Type. You can use a ramp to distribute the twisting down the joint chain and animate it if you want to change the distribution without moving shoulders and pelvis.. If you aren't creating a biped spine you might want to experiment with the various type of twist controls offered.

 You can tweak the script or adjust the advanced twist controls after using the tool to modify the controls. Start from the default settings.  For instance, on a quadruped you probably want the joint Y axes pointing in world +Y, and pointing close to -Z (default) will cause flipping if you move the top control in Y. To make the handle compatible for a horizontal spine as in a quadruped, change the Up Vectors for the Advanced Twist Controls to 0,1,0 and 0,1,0. This will stop the flipping and allow you control over a horizontal spine. You might find that the setup can be good for the long neck of an animal if you skip using the bottom control for the root.

You may not want to move the whole back with the cube control objects but rather have a control for the whole torso which would be a parent for the back controls. You could re-parent the clusters to a torso control  and animate the clusters separately leaving only the first and last cluster parented to the control objects. Or you could animate them while still parented to the control objects  These choices really get down to how you want to animate. If you do use a torso control, you'll need to use the bottom control as a constraint for the root (Use Bottom Control Object for Root in options, or constrain it yourself). You need to remember too, that the back controls are only a part of  a character rig and may need to be constrained or parented to higher level controls to stay with the charcter as it moves..



 .