The Rigging Toolbox 2 (RTB2) is a collection of tools and a full autorigger for Autodesk Maya.
While many auto-riggers rely on complex multi-chain setups, RTB2 is designed around the premise of a single skeleton and an unbroken skeletal hierarchy. The resulting skeleton and control rig are ideal for animation for all game engines, as well as quickly posing characters for work in Maya, Zbrush, and other DCC software. RTB2 provides a simple WYSIWYG approach to rigging as well as completely customizable rig controls.
Beyond the autorigger, the tools in RTB2 allow for the quick construction of rig controls with root nodes, multiple NURBS control shapes, intuitive Joint Orient and Local Rotation Axis setup, and the ability to position and replace controls from existing rigs.
RTB2 also supports multiple arms and legs, asymmetric arm structures, unlimited numbers of spine and neck joints, and quadruped rigging.
The RTB2 user interface is broken down into 3 sections, designed to be used in order. The sections and sub-sections are as follows:
- Skeleton –joints and joint hierarchies are created and setup for rigging
- Joint Chains – construct and manipulate joint chains
- Joint Utilities – setup and finalize the skeleton for rigging
- Controls – create and edit controls for the rig
- Make Controls – build individual NURBS shapes for controls or automatically construct all controls
- Switch Controls – swaps the selected NURBS shapes for one of your choosing
- Edit Controls – Rotate, Move, Scale, and change the color of existing controls
- Rigging – construct the final rig
To make use of the autorigger, RTB2 requires a naming convention for both joints and the controls (if desired, joints can be renamed after rigging is complete). Joints and controls created in RTB2 use this naming convention by default.
The joint naming convention is as follows:
arm_finger11 (11 is first joint of first finger, 12 would be second joint of first finger, etc)
spine_spine1 (continue incrementing number for all spine joints)
spine_neck1 (continue incrementing number for all neck joints)
NOTE: Each name requires the use of a “_” (underscore) with specific names to the left and right of the underscore. Names to the left of the underscore must contain the description (such as “arm” or “leg”), but may also contain additional words such as “left” or “right”. Example: lowerLeftArm_shoulder
The required naming convention for controls is the same as joints, but makes use of the “CTRL” and “zCTRL” prefix. Example: CTRL_spine_root
Example Workflow and Process:
- Build a skeleton using the required number of joints and naming convention (see above). You may build your own skeleton or use the tools in the Joint Chains section to construct elements of the skeleton with the proper naming convention automatically.
- Connect the skeleton together into an unbroken hierarchy.
- You may do this manually by connecting the arms and legs to a spine joint or automatically by pressing the Connect Skeleton button in the Skeleton -> Joint Utilities -> Connect Skeleton will connect the root joints of the arms and legs to the nearest spine joints.
- Set your Joint Orientation and Local Rotation Axis for your skeleton
- You may use the Orient and Align options in Skeleton – > Joint Utilities to help with this process.
- Build Controls you will use to operate your rig
- You can build controls individually or use the Build Selected Controls option in Controls -> Make Controls to do this automatically. You can edit and transform controls after they are created.
- Use Construct Rig in Rigging to build the complete rig.
User Interface and Options:
Skeleton – > Joint Chains
Scale Multiplier – Setting this to higher than one will create larger joint chains appropriate for large characters (like UE4)
Joint Radius – The radius of constructed joints (NOTE: fingers have a radius of 50% of other joints by default)
Display -> Size – Changes the display size of all joints in the scene (NOTE: The “S” button centers the slider values around the current size)
Display -> Radius – Changes the joint radius of selected joints (NOTE: The “S” button centers the slider values around the selected joint’s radius)
Arm – Constructs an arm with a desired number of fingers and an option for a thumb
Leg – Constructs a leg joint chain
Spine – Constructs a spine, neck, and head joint chain with an option for the number of spine and neck joints.
Duplicate/Rename – Renames the suffix (name to the left of the underscore) for all down-chain joints. Quickly rename entire arm/leg chains this way. (NOTE: The “S” button populates the text field with the suffix of the selected joint)
Mirror – Mirrors a selected joint chain (select the root of the chain only, such as the clavicle or hip joint) in positive or negative X with an option to rename the suffix (name to the left of the underscore) using search and replace. NOTE: the search and replace is case sensitive. For example, if you have a joint chain with the suffix of myCharacterLeft and you want to mirrored chain to have the suffix of myCharacterRight, you need to change the search and replace fields to be Left and Right (default is left and right).
Skeleton -> Utilities
Display – The display checkboxes turn on and off the visible local-rotation-axis for the spine, fingers, arms, and legs. The All On and All Off buttons turn on or off all the visible local-rotation-axis for skeletons using the RTB2 naming convention.
Attributes – Orients and cleans or Aligns selected joint chains of types Arm, Leg, Finger, and Spine. You must have the root of the chain selected (clavicle, hip, finger, or spine root) AND the appropriate radio button selected.
Select – Selects all chains of selected radio button type that use the RTB2 joint naming convention. Use this to quickly select the root joints of all leg, arm or finger chains.
Orient – Sets the joint orientation for joint chains based on type, and cleans all joint attributes. Down-chain joints retain only Translate in X. Also sets joint rotate order to common industry standards. This operation results in a clean and predictable skeleton designed to reduce problems such as gimbal lock.
Align – Aligns joints chains to a single plane. This operation cleans up from the operation of moving and rotating joints into position. Alignment is recommended for IK chains such as the arms and legs. Please note that elbow and knee joints will rotate if they are out of alignment.
Orient Slider – Sets the selected joint’s Joint Orient attribute in X,Y,Z. The slider can be centered on the current selected joint’s Joint Orient by pressing the “S” button – the min and max values of the slider are set to the amount in the field (default 45). For example, if you want to rotate a joint’s Joint Orient attribute by 90 degrees in Z, select the joint, select the Z radio button, enter a value of 90 into the field, rotate the slider fully to the right for +90 and to the left for -90.
Connect Skeleton – Pressing this button connects all leg joint chains from the hip joint to the nearest spine joint and all arm joint chains from the clavicle joint to the nearest spine joint.
Controls -> Make Controls
This section creates controls for the rig. All controls are single-node NURBS shapes with associated transform nodes. RTB2 allows for the automatic creation of an additional transform node commonly used in rigging to “zero-out” controls. RTB2 refers to this as a z-node and uses the “zCTRL” naming convention by default.
Scale Multiplier – Setting this to higher than one will create larger controls appropriate for large characters (like UE4)
Align on Creation – Aligns the control to the selected joint when the control is created
Inherit Rotate Order – The control inherits the rotate order of the selected joint
Extra Transform – Creates an additional root transform node for each control. These are commonly used to maintain the transformations so the control itself can be “zeroed-out”.
Prefix/Suffix – Adds a prefix OR suffix to the name of the control when it is created. If the text field ends with an underscore a prefix will be applied. If the text field begins with an underscore a suffix will be applied.
Name – Uses the name in the text field for the control when it is created
Inherit Name on Align – Inherits the name of the selected joint. This is the default option and only functions when the Align on Creation checkbox is checked and a joint is selected.
Use Shape Name – Uses the name of the shape, ie. Circle or Ball
Color Slider – Controls created manually will have this color applied
Shape Buttons – Creates a NURBS object of the labeled shape with the above options
Automatic – Creates all required controls with options, based on checkbox selection. Controls are only created for joints that meet both the naming convention and structure required by the RTB2 autorigger. Note that all controls created in this section also contain a Z-Node and are created with the Scale Multiplier at the top of the Make Controls section. If your automatically created controls are too small or large, delete them, change the Scale Multiplier setting, and create them again.
Arms – Creates the following controls: clavicle, shoulder FK, elbow FK, wrist FK, pole vector, hand IK. Pole Vector controls are automatically aligned to match the IK plane of the arm and offset.
Flip -X – flips all controls in -X world space when they are created
Fingers – Creates a FK control for each joint in all finger and thumb chains
Flip -X – Flips all finger controls in -X world space when they are created
Tips – Creates controls at the end joints of the fingers (these are often not necessary)
Legs – Creates the following controls: hip FK, knee FK, ankle FK, ball FK, pole vector, foot IK.
Flip -X – Flips all controls in -X world space when they are created.
Hip – Creates a hip control for all matching pair of legs. Matching pairs of legs are defined by any 2 legs that share a common parent of the spine. Hips are required for the RTB2 autorigger if your rig has legs.
Spine – Creates a FK control for each spine, neck and head joint, as well as a main control for the root of the skeleton. RTB2 considers the spine_root joint the root of the skeleton.
Align to World – Aligns the Root Control to the world as opposed to the spine_root joint. Default is on.
Master – Creates a Master control. The master control is required if you are using the Master Control option in the auto-rigger.
Colors – Sets options for coloring controls when they are created. Applies only to controls created in the Automatic section.
+X Slider – All controls in +X in world space will be created with this color
-X Slider – All controls in -X in world space will be created with this color
C Slider – All controls along the X median axis in world space (center) will be created with this color
Controls -> Switch Controls
Swaps one or more selected control shapes with a control shape of your choice. This is a quick way to customize your control shapes.
Controls -> Edit Controls
Transforms or sets the color of selected control shapes. Transform operations maintain clean, zeroed-out transforms.
Rotate – Rotates selected control shapes in the selected axis, by the amount in the field.
Move – Moves selected control shapes in the selected axis, by the amount in the field.
Scale – Moves selected control shapes in the selected axis, by the amount in the field.
Color – The Apply Color button applies the current slider color to all selected control shapes.
TIP: To copy colors from one shape to another, select the shape with the source color and press the “S” button – this sets the slider to the color of the selected shape. Now select the shapes to apply the color to and press Apply Color.
The RTB2 autorigger. The autorigger rigs parts of the skeleton or all of the skeleton with options. For example, having only Arms selected will rig all arms in the scene automatically. Each rigging operation requires specific joints and controls with RTB2 naming convention.
NOTE: An IK/FK switch is automatically applied to all arm and leg chains and a foot roll setup is automatically applied to all leg structures – the foot roll attributes are located in the footIK control. There is a separate IKFK control for arms and legs, containing the IK/FK switch and associated visibility attributes.
Arms – Rigs all arms in the scene. Clavicle controls are automatically connected to the spine structure if the Spine option is also selected and all required joints and controls are present.
Fingers – Rigs all fingers in the scene and ties them into associated wrist structures
Stretchy IK – Applies stretchy IK to the IK component of all arms, allowing bones between the shoulder and wrist to “stretch” when in IK mode.
FK Locks – Locks the arm FK controls to prevent them from translating, scaling, or both.
Legs – Rigs all legs in the scene. Hips are automatically rigged if a hip control and a matching pair of legs, as well as all required joints and controls are present.
Stretchy IK – Applies stretchy IK to the IK component of all legs, allowing bones between the hip and ankleto “stretch” when in IK mode.
FK Locks – Locks the leg FK controls to prevent them from translating, scaling, or both.
Custom Heel/Toe – Applies custom pivot points for the foot roll setup, allowing the foot to roll based on the heel and toe of the mesh as opposed to an estimated location. The Generate button will generate a heel and toe locator for each foot detected in the scene. These will become the pivot points for the foot roll setup and are automatically deleted when the rig is constructed. If you want to create your own locators as opposed to using the Generate button, the naming convention is: legname_setHeelPosition and legname_setToePosition
Spine – Rigs the spine in the scene as well as attaching hips and clavicles if detected.
FK Locks – Locks the spine FK controls to prevent them from translating, scaling, or both.
Control Groups – Groups all components of legs, arms, and spine into subgroups, resulting in a clean outliner.
Master Control – Groups all subgroups and remaining components under a master control which allows your character to moved and rotated within the scene. Requires the Control Groups option to be selected.