| On this page |
|
The APEX AutoRig Builder SOP allows you to interactively apply and configure prebuilt and custom rig components for a character through the viewport. This makes the character setup process more intuitive and provides a way to quickly build up a complete rig for a character.
The APEX AutoRig Builder SOP and APEX AutoRig Component SOP can both be used to add rig functionality to a character, with the following differences:
APEX AutoRig Builder SOP
-
Can add multiple rig components to a rig.
-
Can add rig functionality interactively in the viewport.
-
A limited set of rig component parameters can be modified interactively in the viewport.
APEX AutoRig Component SOP
-
Can add one rig component to a rig.
-
Can be used to create custom rig components.
-
The full set of rig component parameters can be modified in the parameter editor.
See rigging a simple geometry and rigging a character for example uses of the APEX AutoRig Component SOP.
Requirements and best practices ¶
Note the following requirements and best practices for using the Autorig Builder:
-
The character must face the +Z direction.
-
The primary and secondary axes of the input skeleton must match the Main Axis and Secondary Axis parameters in the APEX AutoRig Builder SOP.
-
Use unique joint names for the input skeleton.
-
The left and right body side indicators must be consistent in the input skeleton. For example, the joints on the left side can all be named
L_*or*_l, but don’t mix them. On the APEX AutoRig Builder SOP, the Left and Right parameters in the Settings tab must match the left and right body side indicators on the input skeleton. For example, if the input skeleton’s joints are named*_land*_r, set these values in the Left and Right parameters. -
Use a scale value of 1 for all the transforms on the input skeleton. Scaled rest positions are generally problematic in rigging and animation.
Build a rig ¶
In this example, we input a character’s shape and skeleton into an APEX AutoRig Builder SOP. We then use the Autorig Builder to construct a rig with the following functionality:
-
Root control
-
Spine
-
Arms and legs
-
Hands and feet
-
Neck and head
You can also use the APEX AutoRig Builder SOP to create a rig even if you don’t have an existing skeleton or shape for the character. See build a rig without a skeleton for an example.
Setup ¶
Character elements like the shape and skeleton must first be packed into a character folder structure, which is then piped into an APEX AutoRig Builder SOP:
-
The
APEX Pack Character SOP adds the input shape and rest skeleton to a packed character folder structure. The Shape Path and Skeleton Path parameters set the name of the shape and skeleton in the folder structure. Select the APEX Pack Character SOP and view the folder structure in the rig tree view (in the rig tree view, set Type to Packed Folders):
/ -- Base.shp -- Base.skel
-
The APEX AutoRig Builder SOP builds a rig with an FK control hierarchy as a starting point. Enter the Autorig Builder viewer state - select the APEX AutoRig Builder SOP, turn on its display flag, and click
Animate on the left toolbar.
-
In the Autorig Builder viewer state, a guide for the character is shown on the left and a test rig is shown on the right. The guide is where you configure the rig - the joint positions, skeleton, settings - everything that needs to be prepared for the final rig. The test rig is built based on the guide’s configurations. You add rig components to the guide, then preview and try out the functionality on the test rig. For more information on the icons above the guide and test rig, see here.
Guide (left), test rig (right) -
You can change the rest positions of the character’s joints by moving them on the guide skeleton. When the guide skeleton changes, a red “Update” text above the test rig appears, indicating that the test rig needs to be updated to match the guide. Click the “Update” text to update the test rig. If Auto Update is turned on in the parameter editor, the test rig will update automatically.
Update test rig
Root control ¶
Add a root control to the character:
-
The available rig components can be selected from the component catalog in the animate state HUD, Catalog tab. Drag the Root component from the component catalog onto the guide, and click
or press Enter over the viewport. In the parameter editor, an entry for the root control is added to the Segments multiparm in the Build tab. To see the root control on the test rig, press H over the viewport or click the
Update Rig icon in the parameter editor. If Auto Update is turned on in the parameter editor, the test rig is automatically updated with the root control:
Add root controls to the rig A few notes:
-
The order in which you add the rig components is important. If you want to parent all the character’s controls to a root control, first add the root component, then add the other components. The entries in the Segments multiparm represent the order in which the components are built.
-
To add components to the rig, drag and drop from the component catalog instead of using the Segments multiparm. The APEX AutoRig Builder SOP is designed for the drag-and-drop viewport interaction. The Segments multiparm is moreso a place to store and view the rig component data.
-
In the parameter editor, you can turn on Auto Update to automatically update the test rig when changes are made to the guide. For faster performance, you may want to turn off Auto Update while dragging and dropping components onto the guide. After adding all the components, you can turn on Auto Update to see all the added components at once.
-
-
After you move the test rig around, you can reset the rig by pressing N over the viewport, clicking the reset icon above the test rig, or clicking the
Reset Test Rig button in the parameter editor.
-
To change the color of the root component on the guide, click the color chip for the root in the parameter editor, Build tab.
Configure the root control ¶
You can configure the settings on the guide and test rig through the two gear menus:
-
On the guide, click the
menu to see the settings for configuring the root controls. The options in the
menu are the ones most commonly used for the component. The full list of configuration options for the component can be accessed in the animate state parameters - select the
menu and go to the Controls tab in the animate state HUD.
-
You can reposition the menu by dragging the
control. To change the number and shape of the root controls, click and drag on the appropriate icons in the menu:
Configure the root controls Tip
Depending on your transform handle settings, there may be a plane that appears at the transform handle of the
menu that makes it difficult to select some of the settings directly below it:
Transform handle plane To turn off the plane:
-
Press P over the viewport to bring up the handle preferences.
-
Click the Open Handle Preferences button.
-
In the Preferences window, click on Handles in the left menu.
-
Turn off Dragging Between Axes Does Planar Drag.
-
Click Accept.
-
-
There is also a
menu for the test rig. For the root control, the only available option is the visibility toggle:
Set the control visibility on the test rig
Spine ¶
Add spine functionality to the rig by dragging the Spine component onto the guide. In the parameter editor, an entry for the spine is added to the Segments multiparm in the Build tab.
To move the spine component to another part of the skeleton:
-
Click the spine’s
menu on the guide.
-
Select the segments icon.
-
Click and drag the spine component to another joint.
-
Press Enter.
Pose the guide skeleton ¶
On the guide skeleton, there is an IK/FK icon you can click to choose between posing in IK or FK. In IK pose mode, there are IK controls you can select for posing:
Note
This functionality is different from the IK/FK setting in the test rig’s menu.
To reset the guide, click the reset icon above the guide or the button in the parameter editor.
Configure the spine controls ¶
The guide’s menu provides several options for configuring the spine functionality. For example, if you turn on the addstretchcontrol setting in the guide’s
menu, an option appears in the test rig’s
menu for controlling the stretch in the spine. See the gear menu options for the different types of interaction gadgets in the
menu.
The stretch and squash sliders in the guide’s menu allow you to control the amount of stretch and squash on the spine. These options are only applicable when addstretchcontrol is turned on. See the spline rig component for more information.
Arms and legs ¶
Add arm and leg functionality to the rig by dragging the Arm Clavicle and Leg components onto the left side of the guide. To mirror the rig functionality, components must be put onto the left side of the skeleton. If you drag a component onto the right side, its functionality will not be mirrored.
Note
The Arm Clavicle component is a 4-joint setup that requires the guide to have a clavicle joint. The Arm component, on the other hand, is a 3-joint setup that doesn’t require the guide skeleton to have a clavicle joint. If it finds a clavicle joint, however, it will use it.
Settings on the guide ¶
Below are some of the settings in the guide’s menu:
Mirroring
Toggles mirroring of the arm/leg functionality to the other side of the rig.
Use IK
When useik is turned on, adds the IkStretch option to the test rig’s menu.
IK/FK blend
When ikfkblend is turned on, adds ikfkblend, ikfk_switch, and pinControls to the test rig’s menu. This setting is only applicable when useik is turned on.
See the multi IK rig component for descriptions of the options in the menu and animate state parameters.
Reparent controls ¶
You can set a new parent for the arm and leg controls in the animate state parameters. To reparent the leg’s pole vectors to the COG:
-
Select the guide’s
menu for the leg.
-
In the animate state parameters, Controls tab, Parent section, click
beside Pole Vector.
-
Select the COG control.
-
Press Enter.
Settings on the test rig ¶
IK/FK blend ¶
You can perform IK/FK blending on the test rig using the ikfk_switch and ikfkblend options in the test rig’s menu (these options are available if ikfkblend is toggled on in the guide’s
menu):
Pin controls ¶
Click the pin icon in the test rig’s menu to add the component’s IK and FK channels to the channel list. When these channels are added to the channel list, you can set keyframes on all the relevant IK and FK controls without needing to first select the individual controls.
Hands and feet ¶
Add functionality for the hands and feet by dragging the Hand Simple and Foot components onto the guide:
If your input skeleton has fewer fingers than the Hand component, turning on Remove Un when dragging and dropping the hand component removes the unnecessary fingers so that extra finger controls aren’t created. You can also choose not to add certain fingers by using the ⌃ Ctrl hotkey:
-
Drag and drop the Hand component onto the guide.
-
Hold ⌃ Ctrl and select the joints you don’t want to add. The selected joints will turn red. When you release ⌃ Ctrl, the joints will turn black, indicating that they are no longer mapped to the skeleton, so controls will not be created for those joints.
-
Click
.
Removing a finger when adding the hand component
Index finger removed on the test rig
Settings on the hand component ¶
Below are some of the settings for the Hand component in the guide’s menu:
Piano hands
When pianohands is turned off (indicated with an FK icon), you have a simple hand functionality with FK controls on each finger joint as well as a selector control for each finger. Conversely, piano hands provides a more complex hand functionality that includes additional IK controls at the base and tip of each finger as well as a control that moves all the fingertips at once. When pianohands is turned on (indicated with an IK icon), the ikfkblend, ikfk_switch, and pinControls options are available in the test rig’s menu. Set ikfk_switch to IK to see the controls that affect the fingertips.
Flip selectors
The flipselectors toggle on the guide’s menu flips the position of the finger selector controls on the test rig. Finger selector controls select all the corresponding finger’s joints to make it easier to pose the entire finger.
Neck and head ¶
Instead of using a rig component for the neck and head, you can use tags to configure the existing FK controls (created initially by the Autorig Builder) to be rotate only:
-
Select the neck and head joints on the guide.
-
Press ⇧ Shift + H over the viewport.
-
In the Add Tag pop up, enter a tag name for the neck/head group of joints. In our example, we use
neck_head. If you want the tag mirrored, name the tag with the body side indicator, for example,L_testarm. -
Press Enter. A
menu is created near the neck and head joints on the guide, and an entry is added to the Build tab (in the parameter editor) with the entry’s drop-down menu set to Add Segment Tag. You can now use the guide’s
menu to configure the color, shape, and size of the neck and head controls. You can also choose whether to promote the translate, rotate, and scale of the controls.
-
Only promote the rotate controls for the neck and head:
-
Turn on the promote_r toggle so that you can rotate the neck and head controls.
-
Turn off the promote_t and promote_s toggles so that translate and scale for the neck and head controls aren’t available on the test rig.
-
If you turn off promote_t, promote_r, and promote_s, the neck and head controls will not appear on the test rig.
-
Build a rig without a skeleton ¶
The APEX AutoRig Builder SOP can build a rig even if you don’t have an existing skeleton or shape for the character:
-
In the network editor, put down an APEX AutoRig Builder SOP with no connected inputs.
-
Enter the Autorig Builder viewer state - select the APEX AutoRig Builder SOP, turn on its display flag, and click
Animate on the left toolbar.
-
If you drag and drop from the component catalog and you don’t drag onto an existing joint, the Autorig Builder adds the new joints to the rig. In this way, the Autorig Builder can create a whole new skeleton for the character:
If you don’t drag onto an existing joint, the Autorig Builder will try to parent the component to the closest joint, shown by a green line. You can drag the green joint to change to a new parent. If you drag and drop the green joint away from the guide, this unparents the component. To reparent the component, hold ⇧ Shift, which activates parenting mode, and drag the green joint (now the root joint of the component) to the joint you want as the parent:
If you only have a shape input for the character, you can turn on Add Preview Skin Weight in the parameter editor Settings tab, which creates proxy weights and allows you to preview the rig functionality even if you don’t have capture weights on the character:
Chain together rig component SOPs ¶
You can build up a rig in several steps by daisy-chaining APEX AutoRig Builder and APEX AutoRig Component SOPs:
-
On the first APEX AutoRig Builder SOP, build a rig with root, spine, arm, and leg components.
-
On the APEX AutoRig Component SOP, add an APEX Script snippet that configures the head control.
-
On the second APEX AutoRig Builder SOP, add rig functionality for the hands. In the parameter editor, Settings tab, turn off Input Skeleton to FK so the node doesn’t try to create an FK hierarchy since we already have a rig.
Starting rig (left), updated head control (middle), added hands (right)
Save rig configurations ¶
After you build a rig using the Autorig Builder, you can save the rig configuration as its own rig component:
-
On the APEX AutoRig Builder SOP, go to the Save tab in the parameter editor.
-
Specify a name for the component in the Component Name parameter. For example, if you set the namespace field to
test, the name field tohello, and version to2.0, the component will be namedtest::hello::2.0. -
Click Save to Disk. The component is stored in the location specified in the Component Output File parameter.
-
In the component catalog, click the Reload Rig Components button to update the library of rig components. The new component will appear in the component catalog, and you can drag and drop it onto the guide character like any other component.
Rig templates ¶
Rig templates allow you to transfer full rigs to a character as a starting point for quickly building up a rig. Rig templates can adapt to skeletons with different proportions, and automatically handle joint renaming and joint reorientations.
A rig template contains a rig script (a list of operations for constructing the full rig) and the character’s skeleton (including the skeleton’s tags). You can use the prebuilt templates within the Autorig Builder or create your own template.
Prebuilt templates ¶
The APEX AutoRig Builder SOP provides prebuilt rig templates (such as Mocap Biped and Biped) that you can use as a starting point for your rig. To apply a prebuilt template:
-
Drag and drop the template (for example, Mocap Biped) from the component catalog onto the guide.
or
-
In the Build tab, turn on the Use Template parameter. Select a rig template from the first drop-down menu and a joint mapping from the second drop-down menu. Click Add or Update.
Note
The Biped template is similar to the Electra test geometry, with twist joints, IK and FK finger control options, and setups for reverse foot, auto clavicle, and blendable IK/FK for the limbs. The Mocap Biped template is a simplified biped with fewer controls and no reverse foot.
Create a template ¶
You can create a rig template by first building a rig using an APEX AutoRig Builder SOP. The components that appear in the parameter editor under the Build tab are the list of operations for constructing the full rig and they make up the rig script on the second output of the SOP. You can then pipe this output into the second input of another APEX AutoRig Builder SOP to use the rig script as a template for creating another character’s rig:
You can apply the template in the following ways:
-
On the second APEX AutoRig Builder SOP, in the Build tab, turn on Use Template and select Input Template from the first drop-down menu. Click Add or Update. In the Autorig Builder viewer state, drag the template onto the skeleton and press Enter.
-
In the Autorig Builder viewer state, drag and drop the “Input” component from the component catalog onto the guide and press Enter. The proportions, joint orientations, and joint names between the two skeletons can be completely different:
Drag and drop the rig template
After applying the rig template to the character, the individual components of the template are listed in the Build tab. You can then configure each component.
The first component listed is the Fit Skeleton component, which contains the mapping from the template joint names to the target character joint names (see the Advanced section in the Fit Skeleton multiparm entry). Skeleton fitting takes a skeleton and fits it to a character with different proportions. It transfers all the information from one skeleton to another, including the joint names, orientations, tags, and properties.
Add joint mappings ¶
If you want the rig template to always work for a certain character, like a Mixamo character, you can store a joint mapping on the template skeleton that specifies the mapping between the template skeleton and Mixamo skeleton.
In the example below, the first APEX AutoRig Builder SOP creates the rig template, which contains the rig script and template skeleton. You can then add information on the template skeleton like the mapping, and pipe the rig script and updated template skeleton into the second APEX AutoRig Builder SOP:
-
On the first APEX AutoRig Builder SOP, build a rig with root, spine, arm, and leg components. The second output of this SOP is a character data stream that contains the rig script and template skeleton. In the rig tree view, set the drop-down menu beside the node name to Rig Template (output2) to see the contents of the second output - the rig script (.graph) and template skeleton (.skel).
-
The
Unpack Folder SOP extracts the template skeleton from the character data stream:
-
Click
beside Extract Pattern.
-
In the rig tree view, select the
.skelfile, in our example,template.skel. -
Click Accept. The Extract Pattern parameter is populated with the name of the template skeleton.
-
-
The
Map Points SOP creates a joint mapping from the template skeleton to the target skeleton and stores it as a mapping attribute on the template skeleton. On the Map Points SOP:
-
Set the mapping attribute name. In our example, we set Output Attribute Name to
mapping_test. -
Set Reference Type to Attribute Value.
-
Set Reference Attribute to
name. -
In the Map Points viewer state, map the joints between the template and target skeletons. See map source points to target points for steps on how to do this.
-
-
All the joints that were not mapped in the Map Points SOP will have an empty
mapping_testattribute. In the rig template workflow, all the joints in the template skeleton must have a non-empty mapping attribute, so we use anAttribute Wrangle SOP to populate all the empty
mapping_testattributes. Add the following VEX snippet to the Attribute Wrangle SOP:if (len(keys(d@mapping_test)) == 0) { d@mapping_test['value'] = ''; } -
The
Pack Folder SOP adds the updated template skeleton with the mapping back into the character data stream. On the Pack Folder SOP, specify the name of the extracted template skeleton. In our example, we set Name to
templateand Type toskel. -
Enter the Autorig Builder viewer state on the second APEX AutoRig Builder SOP.
-
Go to the Build tab and turn on Use Template.
-
The first drop-down menu beside Use Template lists the available rig templates. Select Input Template since we're using the template from the SOP’s second input.
-
The second drop-down menu lists the available mappings on the template skeleton. Select mapping_test.
-
Click Add or Update to apply the template.
If you save the template to disk, click Reload Rig Components in the component catalog, and the saved template will appear in the first drop-down menu.
-
Note
You can also use an Orient Joints SOP to specify how certain groups of joints are best oriented. The Orient Joints SOP stores an attribute on the template skeleton that specifies how to orient the joints. You can put the Orient Joints SOP before or after the Map Points SOP.
Component catalog ¶
The component catalog displays the available rig components that you can drag and drop onto the character. The component catalog is found in the bottom section of the animate state HUD under the Catalog tab.
You can filter for specific components in the search bar by supplying the component name or tags on the component.
To update the tags on a component:
-
click the component and select Edit Metadata.
-
In the Metadata Editor window that pops up, select the tags you want to add to the component.
-
Click OK.
To rename a component, do one of the following:
-
Click the component name.
-
click the component and select Rename.
-
click the component, select Edit Metadata, update the Label field, and click OK.
Guide and test rig icons ¶
The icons above the guide and test rig provide the following options:
Icon |
Functionality |
|---|---|
|
Child compensate mode - Click to turn child compensate mode on (right icon) or off (left icon). See “Move a joint without moving its child joints” in the How-to section for more information. |
|
Joint display - Click to cycle between showing the joints, joint axes, and a visual aid of the twist orientation between the joints. |
|
Joint orientation - Click the outer edge of the icon to pin the selected joint’s orientations. Click the middle part of the icon to turn auto joint orientation on (left icon) or off (right icon). Note Toggling the middle part of the joint orientation icon toggles the Reorient parameter in the To pin the joint orientations, select the joints and click the outer edge of the joint orientation icon. The pinned joints will have a circle around it: Auto orientation for joints: |
|
Reset - On the guide, resets all the transform changes to the guide joints. On the test rig, resets the controls. |
|
Shape tweak mode - See “Tweak control shapes” in the How-to section for more information. |
Gear menu ¶
How-to ¶
| To... | Do this |
|---|---|
|
Update the test rig |
Press H over the viewport. or Click the red “Update” text above the test rig. |
|
Reset the guide |
Click the reset icon above the guide. or In the parameter editor, click the |
|
Reset the test rig |
Press N over the viewport. or Click the reset icon above the test rig. or In the parameter editor, click the |
|
Change the color of the rig components on the guide |
In the parameter editor, Build tab, click the color chip beside the segment. |
|
Change the color of the controls on the test rig |
In the parameter editor, Post Process tab, click the color chips to choose a different color for the left, middle, and right sides of the rig. To use the colors on the guide, turn off Color Template. |
|
Delete a rig component |
Select the rig component’s or In the parameter editor, Build tab, |
|
Update the library of rig components |
In the component catalog, click the Reload Rig Components button. This also updates the rig component icons in the component catalog. |
|
Reparent a component |
To reparent a component when dragging and dropping from the component catalog:
|
|
Remove certain body parts from being added by the rig component |
For example, to remove certain fingers from being added by the Hand component:
See an example here. |
|
Ignore certain joints when dragging components onto the guide |
When dragging a component onto the guide, a mapping is performed between the component and the guide joints. To ignore certain joints in the rig comparison:
The current defaults are helper joints you wouldn’t normally want to map. |
|
Add a control or FK chain to the character |
|
See an example here. |
|
|
Turn on or off automatic orientation for all the joints |
Click the middle part of the joint orientation icon above the guide. or In the parameter editor, Settings tab, toggle the Reorient parameter. |
|
Pin the orientation of specific joints |
|
|
Reorient joints |
|
|
Move a joint without moving its child joints |
Child compensate mode keeps a child joint at its current position when its parent is being moved around. Turn on child compensate mode by pressing A over the viewport or clicking the child compensate icon above the guide. To turn off child compensate mode, press A or click the icon again. |
The configuration options that are hidden can be viewed in the Controls tab of the animate state parameters when you select the guide’s |
|
|
Configure the joint display of the guide skeleton |
Click the joint display icon above the guide to cycle through the joint display options. or
|
|
Tweak control shapes |
This operation is meant to be a post-processing step after you've fully configured the rig.
|
|
Create selection sets from character controls |
|