On this page |
The full body IK tool in the animate state applies full body inverse kinematics to character rigs, letting you pose characters by adjusting high-level targets rather than manipulating individual joints. This helps to streamline complex character posing and motion editing while preserving natural joint behavior.
Setup ¶
In this example, we set up the Electra test geometry for the full body IK tool:

-
On the
Electra SOP, set the Output parameter to Skin Surface. This outputs Electra’s shape as its 1st output, and Electra’s skeleton as its 2nd output.
-
The
APEX Pack Character SOP adds Electra’s shape and skeleton to a character folder structure.
-
By default, Shape Path is set to
/Base.shp
, and Skeleton Path is set to/Base.skel
. These are the names given to Electra’s shape and skeleton once they are packed into the folder structure. -
Turn on Add FK and Bone Deform Components. This creates a rig (set to the Rig Path name,
/Base.rig
) and adds it to the character folder structure. -
You can view the character folder structure in the rig tree view. In the rig tree view, set Type to Packed Folders.
-
-
The
APEX Map Character SOP maps Electra’s rig controls to skeleton joints and creates a mapping property on the rig. This mapping property is used by the
APEX Configure Character SOP downstream to set up the character for the full body IK tool.
-
Set Rig Path to
/Base.rig
. -
Set Skeleton Path to
/Base.skel
. -
If the Map By Name parameter is turned on, an automatic mapping is performed between controls and joints that have the same name.
-
To manually map the controls and joints, enter the Map Character viewer state - select the APEX Map Character SOP, turn on its display flag, and click
Show Handle on the left toolbar or press Enter over the viewport. In the viewer state, click between the controls and skeleton joints. This automatically creates entries in the Mappings multiparm:
Map character rig controls to skeleton joints
-
-
The APEX Configure Character SOP configures the full body IK properties on the character. Turn on Full Body IK.
-
The
APEX Scene Add Character SOP adds the character elements (shape, skeleton, rig) to a character in an animation scene. We need to do this because the full body IK tool works on packed characters in a character folder structure, not unpacked character elements like a rig. On the APEX Scene Add Character SOP, the Character Name is the name of the character that appears in the selection sets HUD in the animate state.
-
Enter the animate state - select the
APEX Scene Animate SOP, turn on its display flag, and click
Animate on the left toolbar or press Enter over the viewport.
-
Enter the full body IK tool by clicking
on the top toolbar, or selecting Full Body IK from the radial menu (press C over the viewport).
Pose a character ¶
When you move a character’s joints in the full body IK tool, its other joints are pulled along with it:
Pin joints ¶
You can pin joints to keep them in place. To pin a joint, select the joint and press H over the viewport. When you pin a joint, it changes color (see the Pin Type parameter). In the video below, the character’s right hand and foot are pinned:
To unpin a joint, select the joint and press ⌃ Ctrl + H over the viewport.
Adjust the influence of a pinned joint ¶
To adjust the amount of influence that a pinned joint has on the rest of the joints, change the Weight and Priority parameters.
Priority
The priority determines the joints that take precedence when posing with full body IK - the position of a higher priority joint is more strictly enforced. If you want certain joints to drive the character’s pose, set a higher priority on those joints.
In the example below, the character’s right hand is pinned with a priority of 1, and the right foot is pinned with a priority of 2:

On the left video below, the hand that is pulled has a priority of 2, so it has more influence over the other hand, but not as much influence over the pinned foot. On the right video, the hand that is pulled has a priority of 3, so it has a lot more influence on the other pinned joints.
Note
A lower priority joint cannot move a higher priority joint.
Weight
The weight determines how strongly a joint influences the rest of the joints' movement and allows the rest of the body to partially follow the joint. A higher weight makes it harder to pull the joint away from its current position. Specify a weight when you want the joint to influence the character’s pose less rigidly than a priority.
If you want to enforce a strict order of precedence and resolve conflicts between multiple joints (for example, hand vs. foot vs. head), set a priority. If you want to fine-tune the influence of a specific joint, set a weight (for example, keeping the wrist at roughly the same position but allowing for some flexibility).
Limit the number of affected joints ¶
To limit the number of joints that are affected by a joint’s movement, turn on Use Depth in the full body IK parameters, and set a value for Depth, which is the number of affected joints up the skeleton hierarchy, starting with the selected joint. For example, if Depth is set to 3, moving the character’s hand affects the hand, elbow, and shoulder joints:
Save the pose ¶
To save the character’s new joint position, select the joint and press Enter over the viewport. This will keep the new joint position when you exit the full body IK tool.
Parameters and settings ¶
Full body IK parameters ¶
The following parameters are in the Full Body IK tab of the parameters HUD (press G over the viewport). These parameters are available when a pinned joint is selected:
Parameter |
Description |
---|---|
Pin Type |
Specifies how to pin the joint. You can pin the joint’s position, orientation, or both position and orientation. The joint changes color depending on the type of pin that is set:
|
Priority |
Determines the joints that take precedence when posing with full body IK. Higher priority joint positions are more strictly enforced. See adjusting the influence of a pinned joint for more information. |
Weight |
Determines how strongly a joint influences the rest of the joints' movement. A higher weight makes it harder to pull the joint away from its current position. See adjusting the influence of a pinned joint for more information. |
Use Depth |
When turned on, limits the number of affected joints to the value specified in Depth. When turned off, all the joints in the skeleton are affected by the joint’s movement. |
Depth |
When Use Depth is turned on, this is the number of joints up the hierarchy that are affected by a joint’s movement, starting with the selected joint. |
Reset Target |
Resets the joint parameters to their default values. |
Full body IK settings ¶
The following settings are in the Full Body IK tab of the settings HUD (press ⌃ Ctrl + G over the viewport):
Setting |
Description |
---|---|
Iterations |
The number of iterations of the solve to perform. |
Tolerance |
The margin of error allowed for the full body IK solver. Once the tolerance is reached, the solver exits early from its iterations. When Tolerance is set to 0, the solver performs the full number of iterations. |
Damping |
Larger values produce more stable results when the target joint is unreachable. A value that is too large, however, requires more iterations for convergence. A suitable initial value is 0.5. |
Reset Solver |
Resets the settings to their default values. |
How-to ¶
To... | Do this |
---|---|
Pin a joint |
Select the joint and press H. |
Unpin a joint |
Select the joint and press ⌃ Ctrl + H. |
Set keys on the joint position |
Press Enter over the viewport. |
Pin a joint’s position or orientation |
In the parameters HUD, Full Body IK tab, set the Pin Type. |
Limit the number of affected joints |
In the parameters HUD, Full Body IK tab, turn on Use Depth and set a value for Depth. |