On this page |
In the animation workflow, users can add characters and animation to a scene, transfer animation to characters through motion retargeting, and play back scene animation. The animation scene, along with the characters and other scene elements, are organized in a packed character folder structure.
Basic animation scene setup ¶
The basic workflow for adding a character to a scene and performing animation is shown below. In this example, we use the Electra Test Geometry SOP as our character:

-
On the Electra SOP, set Output to APEX Character. This outputs Electra as a character comprised of a set of character elements (skeleton, shape, rig). You can view the contents of this node in the rig tree view:
-
Select the Electra SOP.
-
Open the rig tree view - at the top of a pane, click the
New Tab icon, and select New Pane Tab Type ▸ Animation ▸ Rig Tree.
-
From the Type drop-down menu, select Packed Folders. The following packed character folder structure is displayed:
/ -- Base.rig -- Base.shp -- Base.skel
-
-
The
APEX Scene Add Character SOP adds the character elements to a character (.char) folder in the packed character folder structure. This character is then added to the animation scene.
-
Specify a name for the character in the Character Name parameter. If you rename the APEX Scene Add Character SOP, the Character Name will be updated automatically. In this example, we set Character Name to
character
. -
Select the APEX Scene Add Character SOP. In the rig tree view, we now have:
/ -- character.char/ -- Base.rig -- Base.shp -- Base.skel -- scene.graph
See the character folder structure for information about the scene.graph.
-
-
The animate state on the
APEX Scene Animate SOP allows you to display, pose, and animate the characters in a scene. To enter the animate state, select the APEX Scene Animate SOP, turn on its display flag, and click
Animate on the left toolbar.
Note
The animation in the scene can be played back on the APEX Scene Animate SOP even when you exit the animate state because the Enable APEX Character Deformation option is turned on by default in the Display Options (press D over the viewport, Optimize tab). If Enable APEX Character Deformation is turned off, you need to use the
APEX Scene Invoke SOP to play back and preview the animation:
Play back animation -
Turn on the display flag on the APEX Scene Invoke SOP.
-
Press
Play on the playbar to see the animation.
-
Add multiple characters to a scene ¶
You can bring multiple characters into an animation scene using an APEX Scene Add Character SOP for each character:

-
On each of the APEX Scene Add Character SOPs, specify a name for the character in the Character Name parameter.
-
Select the second APEX Scene Add Character SOP,
add_character2
. The following is displayed in the rig tree view:/ -- character1.char/ -- Base.rig -- Base.shp -- Base.skel -- character2.char/ -- Base.rig -- Base.shp -- Base.skel -- scene.graph
Add a prop to a scene ¶
You can add a prop to an animation scene using an APEX Scene Add Prop SOP. The prop is added as a character in the packed character folder structure:

-
On the APEX Scene Add Prop SOP, specify a name for the prop in the Prop Name parameter.
-
Select the APEX Scene Add Prop SOP. In the rig tree view, a
<prop_name>.char
folder is added to the packed character folder structure:/ -- character.char/ -- Base.rig -- Base.shp -- Base.skel -- <prop_name>.char/ -- Base.rig -- Base.shp -- Base.skel -- scene.graph
Add animation to a character ¶
You can add animation to a character using an APEX Scene Add Animation SOP.
Add animation from channel primitives ¶
Channel primitives are animation curves that are stored along with geometry and are optimized for use in the animate state. When you select a character’s control in the animate state, channel primitives for the control are added to the channel list, and you can interact with them in the animation editor like regular channels.
In this example, we have animation in a .bgeo file that we want to add to Electra:

-
The .bgeo file in the
File SOP contains an APEX scene, and the scene contains a character and some animation. Select the File SOP and view the packed character folder structure for the .bgeo file in the rig tree view:
/ -- animation/ -- anim -- electrarun.char/ -- Base.rig -- Base.shp -- Base.skel
-
Get the channel primitives from the .bgeo file using the
Unpack Folder SOP. Set Extract Pattern to
/animation/anim
. -
On the
APEX Scene Add Animation SOP:
-
Set the Character parameter to the name of the character.
-
Set Input Type to Channel Primitives.
-
Specify a name for the Animation Clip. An
<animation_clip>.clip
folder is added to the scene under the/animation
folder. In the rig tree view, the following packed character folder structure is displayed for the scene:/ -- animation/ -- <animation_clip>.clip/ -- character.char/ -- Base.rig -- Base.shp -- Base.skel
-
Add animation from animated parameter values ¶
You can add animation to a character by extracting the character’s skeleton control hierarchy, and using the Rig Pose SOP to pose the character and add keyframes. The
APEX Scene Add Animation SOP adds the animation back onto the character in the scene, and additional animation can be performed using the
APEX Scene Animate SOP:

-
The
APEX Control Extract SOP extracts the control hierarchy of the skeleton:
-
Turn on Extract From Folder.
-
Specify the rig in Graph Geometry Path. In our example, we set Graph Geometry Path to
/character.char/Base.rig
. -
Specify the controls to extract in the Group parameter. If you leave the Group parameter as the default, the entire control hierarchy on the rig is extracted.
-
-
Pose the character and set keyframes in the Rig Pose SOP viewer state:
-
Select the Rig Pose SOP and press
Show Handle on the left toolbar to enter the viewer state.
-
To see the character while posing, set the parameters on the APEX Scene Add Animation SOP as specified in the steps below, and turn on its display flag.
-
-
The
APEX Control Update Parms SOP updates the skeleton controls with the animation performed on the Rig Pose SOP. The APEX Control Update Parms SOP is used together with the APEX Control Extract SOP to update the controls on the skeleton.
-
The APEX Scene Add Animation SOP adds the Rig Pose animation onto the character:
-
Set Character to the name of the character.
-
Set Input Type to Animation Parms.
-
-
In the animate state, you can perform additional animation on top of the Rig Pose animation by either posing the character and setting keyframes, or manipulating the animation data (channel primitives) in the
animation editor.
Tip
You can reduce the number of keyframes using the Reduce Resample tool on the animation toolbar:
-
Select the control(s) in the animate state.
-
In the animation editor graph view, select the keys.
-
Adjust the Reduce Resample tool slider.
-
Retarget animation onto a character ¶
You can transfer animation from one character to another using an APEX Animation from Skeleton SOP.
Retarget animation channels ¶
In this example, we transfer animation from one Electra (source) to another Electra (target):

-
On the
Electra SOP,
source_electra
, set Output to APEX Character. -
On the
APEX Scene Add Character SOP, specify a name for the character. We set Character Name to
electra_src
. -
On the
APEX Scene Add Animation SOP:
-
Set Character to
electra_src
. -
Specify a name for the Animation Clip.
-
Set Input Type to Channel Primitives.
-
-
Get the animated skeleton using the
APEX Scene Invoke SOP:
-
Set Output to Unpacked Geometry.
-
In the Animation section, set Animation Clip to the name of the animation clip.
-
In the Extra Outputs section, specify the animated skeleton to output:
-
Set Scene Output Path to
/electra_src.char/Base.rig/output
. -
Set Key to
Base.skel
.
-
-
-
On the Electra SOP,
target_electra
, set Output to APEX Scene. This target Electra is stored aselectra.char
in the packed character folder structure. -
On the APEX Animation from Skeleton SOP, set the paths to the rig and skeleton whose animation to update:
-
Set Rig Path to
/electra.char/Base.rig
. -
Set Skeleton Path to
/electra.char/Base.skel
.
-
-
Turn on the display flag on the APEX Animation from Skeleton SOP and press
Play on the playbar to see the animation on the target Electra.
Retarget imported animation ¶
In this example, we retarget animation from an imported FBX file to Electra. The retargeting workflow is used to transfer the animation from the FBX file to Electra’s skeleton; Electra’s animated skeleton is then added to the Electra character in the original animation scene:

-
On the
Electra SOP, set Output to APEX Scene.
-
The
Unpack Folder SOP extracts Electra’s skeleton, which is used as an input to the retargeting workflow. Set Extract Pattern to
/electra.char/Base.skel
. -
Match the imported animation skeleton with Electra’s skeleton using the
Rig Match Pose SOP (see matching poses when retargeting for more information):
-
Turn off Enable Match Bounds. In this example, we will manually match the skeletons in the Rig Match Pose viewer state.
-
Enter the Rig Match Pose viewer state - select the Rig Match Pose SOP, turn on its display flag, and press
Show Handle on the left toolbar. By default, the Enable Source parameter is turned on, so the animated skeleton can be adjusted in the viewer state.
-
Adjust the animated skeleton to match Electra’s skeleton by selecting the joints and using the handle to move/rotate the joints.
Match skeleton poses in the Rig Match Pose viewer state
-
-
Map the joints between the animated skeleton and Electra’s skeleton using the
Map Points SOP. See map source points to target points for steps on how to do this.
Mapped joints -
The
Full Body IK SOP transfers the animation from the animated skeleton to Electra’s skeleton.
-
On the
APEX Animation from Skeleton SOP, set the paths to the rig and skeleton whose animation to update:
-
Set Rig Path to
/electra.char/Base.rig
. -
Set Skeleton Path to
/electra.char/Base.skel
.
-
-
You can view the retargeted animation on the APEX Animation from Skeleton SOP. Turn on its display flag and press
Play on the playbar to see the retargeted animation:
Animation retargeted onto Electra
How-to ¶
To... | Do this |
---|---|
Save a scene to a file |
|
Use a scene file |
|