On this page |
|
To prepare a skeleton for rigging, extra information can be added to the character’s base skeleton to create a reference skeleton, called a guide skeleton. The information on the guide skeleton is then picked up by rig components downstream to help build up the rig functionality of the character.
Guide skeleton ¶
A guide skeleton is the character’s base skeleton with tags, properties, and other information added to it. Note that a rig is not built for the guide skeleton; we just use the extra information on the guide skeleton to build up the final rig for the character. We refer to the joints on the guide skeleton as guide joints.
Some of the information that could be added to create a guide skeleton are:
-
Extra joints that are used as a reference for creating controls on the rig.
-
Tags, or labels, that identify groups of joints.
-
Properties, which set certain information on the guide joints.
Note
A note about terminology: When a skeleton (or guide skeleton) is converted to a rig using the fktranform rig component, the skeleton joints are converted to TransformObject graph nodes in a 1-to-1 mapping. These TransformObject nodes essentially make up the joint hierarchy in APEX, so for ease of understanding, we will refer to the TransformObject nodes as APEX joints.
When at least one transform component (translate, rotate, or scale) on an APEX joint is promoted, the APEX joint becomes a control that the user can interact with in the viewport.
Tags ¶
Properties ¶
Properties are information stored on guide joints that are picked up later by rig components to configure the controls they create. For example, if you want a character’s finger controls to have a box shape, you could set the control shape property for the finger joints in the guide skeleton. When the fktransform component downstream creates controls for the rig, it will pick up this property on the finger guide joints and create box shape controls.
Properties are stored in the properties
dictionary attribute on the guide joints, and are created using the Attribute Adjust Dictionary SOP. The following properties can be set:
Property |
Type |
Description |
---|---|---|
scaleinheritance |
|
The scale inheritance of the APEX joint. |
rord |
|
The rotation order of the APEX joint. |
xord |
|
The transformation order of the APEX joint. |
promote |
|
The transform components to promote on the APEX joint, for example, “t r s”. |
shape |
|
The control shape. |
shapetranslate |
|
The position of the control shape. |
shaperotate |
|
The rotation of the control shape. |
shapescale |
|
The scale of the control shape. |
shapecolor |
|
The color of the control shape. |
Basic example using tags ¶
Adding properties to a guide skeleton ¶
In the previous example, joints were promoted to controls in the fktransform component. In the example below, properties are used to specify the APEX joints to turn into controls, as well as the look of the controls. Properties are created using the Attribute Adjust Dictionary SOP.
-
On the Attribute Adjust Dictionary SOP:
-
Set Attribute Name to
properties
. -
Set Attribute Class to Point.
-
-
Select the skeleton joints to apply the properties to:
-
Click beside the Group parameter.
-
In the viewport, select the finger joints. Hold ⇧ Shift to select multiple joints.
-
Press Enter. The Group parameter will be populated with the point numbers of the selected joints.
Note
If you want to add properties for different sets of joints, you need to use separate Attribute Adjust Array SOPs, with the Group parameter in each SOP set to a different joint group.
-
-
Set the rotation to be promoted for the finger joints. In the Set Values section:
-
Key =
promote
-
Type = String
-
Value =
r
Note
To promote multiple components, set the components in Value separated by a space, for example, “t r s”.
-
-
Set the control shape for the finger joints. In the Set Values section:
-
Add another entry in the properties dictionary by clicking beside Number of Entries.
-
Key =
shape
-
Type = String
-
Value =
circle_wires
-
-
Set the size of the finger controls. In the Set Values section:
-
Add another entry in the properties dictionary by clicking beside Number of Entries.
-
Key =
shapescale
-
Type = Vector3
-
Value = (0.2, 0.2, 0.2)
-
-
To view the properties on the guide joints:
-
Select the Attribute Adjust Dictionary SOP.
-
In the geometry spreadsheet, select from the top toolbar.
-
For the finger joints, the entry under the properties column, and select Inspect. The following
properties
dictionary will be displayed:"promote":"r", "shape":"circle_wires", "shapescale":[0.2,0.2,0.2]
-
-
On the
fk
APEX Autorig Component SOP:-
Set Component Source to fktransform.
-
In the Source tab, set skeleton to
Guides.skel
. -
In the Controls tab, clear the tpromotegroup, rpromotegroup, and spromotegroup parameters, so that none of the joints are promoted to controls by the fktransform component.
-
-
View the control properties that are picked up by the fktransform component. Select the
fk
APEX Autorig Component SOP, and press Enter over the viewport.
Adding extra joints to the guide skeleton ¶
Extra joints can be added to the guide skeleton, which are used later as a reference for creating controls on the rig. In this example, the added joint is used downstream in a lookat rig component.
Add lookat joint to the guide skeleton ¶
Use the Rig Attribute VOP SOP to add the lookat joint to the guide skeleton.
-
Enter the Rig Attribute VOP viewer state by clicking Show Handle on the left toolbar, or hovering over the viewport and pressing Enter.
-
Drag the head joint to the network view to automatically create a Get Point Transform VOP, which represents the transform of the head joint. This head joint is used as a reference for creating the lookat joint.
-
Set the position of the lookat joint by adjusting the Translate parameter on the Offset Transform VOP.
-
On the Add Joint VOP, set Name to
lookat_locator
. -
Parent the lookat joint to the head - connect Get Point Transform VOP ptnum → Add Joint VOP parent.
Create the lookat control ¶
We now create a control at the position of the lookat joint.
-
On the Pack Folder SOP:
-
1st input is Electra’s skin. Set Name =
Base
, Type =shp
. -
2nd input is Electra’s base skeleton. Set Name =
Base
, Type =skel
. -
3rd input is the guide skeleton. Set Name =
Guides
, Type =skel
.
-
-
On the
fk
APEX Autorig Component SOP:-
Set Component Source to fktransform.
-
In the Source tab, set skeleton to
Guides.skel
. -
Promote the root joint, and the rotate component of the head joint. In the Controls tab:
-
Set tpromotegroup to
root
. -
Set rpromotegroup to
root head
.
-
-
-
On the
bonedeform
APEX Autorig Component SOP, set Component Source to bonedeform. -
Create the control for the lookat joint. On the
create_lookat_control
APEX Autorig Component SOP:-
Set Component Source to transformdriver.
-
In the Settings tab, turn off use_t, use_r, and use_s.
-
In the Driven tab, clear the driventransforms parameter.
-
In the Control tab:
-
Set driver to
lookat_ctrl
. This is the name of the lookat control. -
Set driverguide to
lookat_locator
. This is the position to place the lookat control. -
Set driverparent to
root
. This parents the lookat control to the root joint.
-
-
In the Shape tab:
-
Set shape to
ball
. -
Increase the scale of the shape.
-
-
Create the lookat constraint ¶
On the create_lookat_constraint
APEX Autorig Component SOP:
-
Set Component Source to lookat.
-
In the Settings tab, set updir to (0, 0, -0.3). This places the up vector above the head joint.
-
In the Driven tab:
-
Set driven to
head
. -
Set driver to
head_ctrl
. This is the name of the control created by the lookat component that allows you to move the driven joint. -
Set target to
lookat_ctrl
. -
Set up to
head_up
. This is the name of the control for the up position. -
Turn on useup.
-
Adding colors to the guide skeleton ¶
On each of the Color SOPs:
-
Set Group Type to Points.
-
Specify the joints to apply the color to:
-
Click beside the Group parameter.
-
In the viewport, select the joints. Hold ⇧ Shift to select multiple joints.
-
Press Enter. The Group parameter will be populated with the point numbers of the selected joints.
-
-
Set the Color.
How-to ¶
To... | Do this |
---|---|
Remove a tag from a joint |
In the Attribute Adjust Array viewer state:
|
Content library examples ¶
The following examples are available in the content library:
|
Learn how to add tags to an Electra skeleton and create a rig for Electra using pre-built rig components. Download the file here. |
---|---|
|
Easily switch between different character rigs based on the tags added to each character’s skeleton. Download the file here. |