Hierarchy Panel for CATRigs

Every bone in the CATRig has an array of controls that defines how it can be manipulated and how it inherits motion. These controls are available on the Hierarchy panel.

The Hierarchy panel settings allow you to configure a rig to be safer and more robust while animating. You can prevent an animator from moving and editing bones in ways that are undesirable for the rig by changing settings. For some examples of how these settings affect the ways bones can be manipulaed, examine the settings on different bones in the preset CATRigs.

Joint Limits

You can set up joint limits using CAT that are independent of the layers. The benefit of using the CAT limit system is that you can limit any kind of controller; for example, you can limit constraints. You could assign a Look At constraint for a character’s eye controllers on its setup controller, and then limit its motion so that it doesn’t turn too far. You can limit TCB Rotation controllers, or any kind of controller that you cannot limit using the standard Limit systems.

Procedure

Example: To use the Hierarchy panel settings:

    This example uses a simple hierarchy of three Extra Bones, as shown following:

  1. Select the green bone and move it on the X axis.

    It moves as you might expect, based on standard rules of transforming hierarchy members.

  2. Undo any changes from step 1.
  3. To lock the bone, go to the Hierarchy panel, click Link Info, and then in the Bone Hierarchy rollout SetupMode group, turn on Lock Local Position.

    Now, when you try to move the bone, nothing happens, because the position is locked.

  4. On the Hierarchy panel, turn on Manipulation Affects Neighbors In Hierarchy.
  5. Now, when you move the green bone, its local position doesn't change, but it rotates its parent (the red bone), and also rotates itself to look at its child (the blue bone).

  6. Select the red bone, and in the Setup Mode group, turn on Manipulation Causes Stretching.

    Now, when you move the green bone the red bone stretches to reach the position of the green bone.

  7. Select the green bone, and in the Setup Mode group, turn on Manipulation Causes Stretching.

    Now, when you move the green bone, both the red and green bones stretch to reach the position of the green bone.

Interface

Apply Transforms
Determines whether this bone is affected by direct transforms (that is, manipulation of its transform gizmo). If a bone has no parent, it usually needs to have this option enabled, while a bone that is a child of another CATBone should have this option off.

Typically, the only bone that needs Apply Transforms to be on is the root hub (the pelvis), and the IK targets need it on as well. When you transform the animation of a layer, child bones in the hierarchy do not need to be transformed separately because they inherit the transformation from their parents. See Layer Transform Gizmo.

Display Onion Skins
You can turn this on for any CATBone. This makes the CATBone display animation phases the same way the Views menu Ghosting feature works. The main difference is that the ghosting displays before and after the current frame by default.
Note: The ghosting is visible only in Animation mode.

Inheritance group

Setup Mode

Position When on, the bone inherits its position from its parent in Setup mode; when off, from the CATParent.

Rotation When on, the bone inherits its rotation from its parent in Setup mode; when off, from the CATParent.

Animation Mode

Inherit Position When on, the bone inherits its position from its parent in Animation mode; when off, from the CATParent.

Inherit Rotation When on, the bone inherits its rotation from its parent in Animation mode; when off, from the CATParent.

Inherit Scale When on, the bone inherits its scale from its parent in Animation mode; when off, from the CATParent.

Manipulation Affects Neighbors in Hierarchy

When on, this bone affects neighboring bones in the hierarchy.

Setup Mode group

Lock Local Position
When on, the position of this bone is locked in Setup mode. If you try to move it, it will not move, but try to move its neighbors if Manipulation Affects Neighbors In Hierarchy is on.
Lock Local Rotation
When on, the rotation of this bone is locked in Setup mode. If you try to rotate it, it will not rotate.
Lock Local Scale
When on, the size of this bone is locked in Setup mode. If you try to scale it, it will not resize.
Manipulation Causes Stretching
When on, moving this bone in Setup mode causes it to stretch. When off, moving the bone moves its children.
Static Matrix Value / Animation Controller
Choose either of the following to determine the character pose in Setup mode (when returning from Animation mode):
  • Static Matrix Value By default, Setup mode is completely static, and the pose that the character returns to in Setup mode is defined by this matrix.
  • Animation Controller Alternatively, you can set a bone to use an animation controller to define the character pose in Setup mode.

    By default, CATBones use a static transform value called SetupTM, which is not visible in the animation editor (because it can't be animated), and is accessible only via MAXScript.

    The idea of the setup pose is that it cannot be animated, so no setup animation controller is available by default. When you choose the Animation Controller option, you get a Setup animation controller, as a child of the LayerTrans (Layer Transform) track, that you can view and edit in Track View.

    Track View hierarchy of CATbone with Setup Mode set to:

    .

    Left: Static Matrix Value

    Right: Animation Controller

    The reason you might want an animation controller in setup mode is to take advantage of the feature Additive to Setup Pose. You can apply your own procedural animation controller setup to the setup controller, and then make the layer system relative to that controller.

    You might want to use this capability to customize the inheritance of the arms or head of your character. You can simply assign a constraint to the setup mode controller to define the base value for the animation controllers to animate from. For example, you could make the hands face downward, but apply a LookAt constraint to the setup Rotation track, assigning an object high in the air as the LookAt target, and the ribcage as the Upnode. You could then create a new object, applying an Orientation constraint that targets the ribcage and pelvis, and use this object to drive the setup orientation of your limbs. This would give you flexible control over the way your limbs behave instead of simply ineriting rotation from the ribcage.

    You can constrain the tail of your character to a spline, or an IK chain to use spline IK on a tail. In fact, the Apply Max IK utility on the Animation menu Animation - CAT submenu does exactly this. If you set the utilitys Pick Layer option to Use Setup Controller, then the CATBone chain is constrained to an IK chain using the Setup mode layer.

    If you’re setting up a face rig, you could also write a script to generate automatic eye blinks, or slightly inherit rotations from the eyeball movement. This would give you procedural motion, but with the benefit of CAT's layering system overlaid so you could easily add touches of hand animation on top of the procedural animation.

    Why not just put these procedural controllers into a layer, and then apply an additive layer on top for the hand keyframe touches?

    The layer system does not get saved with the rig preset, so if you were to save a rig preset, you would lose your work. The layer system is designed to hold keyframe controllers; when you want to build a complex controller configuration, it is often better to put it in the setup controller so that it is embedded in the rig, not restricted to a particular layer.

    Layers are specific to the scene. If you put a modification into a layer, it should apply strictly to that scene, rather than to the general rig setup. If you want to add a feature to the rig, then the setup controller is the place to do it.

Animation Mode group

Lock Local Position
When on, the position of this bone is locked in Animation mode. If you try to move it, it will not move, but try to move its neighbors if Manipulation Affects Neighbors In Hierarchy is on.

Turn this lock on for bones that you do not wish to move during animation. Then, if an animator tries to move the bone, it will not allow the movement. This setting also affects the Capture Animation tool and the way it maps animation onto this bone.

Lock Local Rotation
When on, the rotation of this bone is locked in Animation mode. If you try to rotate it, it will not rotate.
Lock Local Scale
When on, the size of this bone is locked in Animation mode. If you try to scale it, it will not resize.

It’s recommended that you lock the scale of bones that you prefer not to be scaled during animation. Then, if an animator accidentally scales the bone, CAT will ignore the stretching.

Manipulation Causes Stretching
When on, moving this bone in Animation mode causes it to stretch. When off, moving the bone moves its children.

Layers Settings group

Additive to Setup Pose
When on, all layers in the layer stack work relative to the Setup pose. During evaluation, the following occurs:

Bone Pose=Setup Mode Pose+Layer Values

Remember Layer Settings
Click this button to save the current layer configuration to the bone. If you want a bone to use a particular combination of controllers, you can simply setup the desired configuration, and then click this button. The bone then saves that configuration, and then whenever a new layer is added, the bone reloads that configuration.
Note: Remember Layer Settings works only on Absolute layers.

Also, Remember Layer Settings does not work with Reaction controllers. Reaction controllers are not accessible via the SDK, so it is not possible to save and load them using CAT's animation saver and loader. If you wish so set up Reaction controllers, do so using the Animation Controller option in the Setup Mode group (see preceding). You can set up a Reaction controller on the Setup Controller, and then turn on the Additive To Setup Mode option in the Layer Settings group (see preceding). The RG3 file format can save and load the Reaction controllers with the rig.

Last, you can set up limits using the Limit controller. You can limit your values manually and then click Remember Layer Settings to make the bone remember these limits values and reapply them each time you add a new Absolute layer.

Joint Limits group

Position

When on, use the X/Y/Z settings to specify permissible position-offset ranges for for the selected bone on the corresponding axes. A wireframe box superimposed on the bone depicts the position limits.

Rotation

When on, use the X/Y/Z settings to specify permissible rotation-offset ranges for the selected bone on the corresponding axes. Orange lines superimposed on the Rotation gizmo depict the rotation limits.