| On this page |
|
The motion mixer allows you to combine and edit the animation clips of multiple characters in a timeline-based view. Animation clips are grouped into tracks, and additional effects can be applied to tracks to change the look and behavior of the final animation.
Motion mixer pane ¶
Animation clips are combined and edited in the motion mixer pane, where animation and motion effects for multiple characters are displayed along a timeline. The motion mixer pane is populated with tracks and clips if you have a Motion Mixer SOP selected in the network editor. If you have another SOP selected, the motion mixer pane will be empty.
In this example, we input the Electra test geometry into the motion mixer. The input to the Motion Mixer SOP must be an animation scene in a character folder structure:
-
On the Electra SOP, set Output to APEX Scene. This outputs Electra as a character in an animation scene.
-
Select the Motion Mixer SOP.
-
Open the motion mixer pane by clicking the
New Tab icon at the top of a pane and selecting New Pane Tab Type ▸ Animation ▸ Motion Mixer.
-
When you first open the motion mixer pane, it displays one track:
Motion mixer starting pane
See the motion mixer pane for descriptions of the toolbar buttons.
Tracks, clips, and weights ¶
A track is a way to group multiple animation clips for a character, and is represented as a row on the timeline. A track can contain multiple animation clips.
Each track has an associated weight that is represented as a row below the track. The weight determines the extent to which the clips in the track contribute to the overall animation.
The headers in the motion mixer pane provide settings for configuring the tracks and weights. You can also click the track header, which opens up a menu with some of the functionality provided by the track header icons.
Note
If you can’t see the weight row, toggle at the top of the headers section.
Navigating in the timeline ¶
Parameter editor ¶
The parameter editor of the Motion Mixer SOP is split into three tabs - Catalog, Parameters, and Settings:
Catalog
The animation clips that are available in the scene. These can be dragged onto a track in the motion mixer pane.
Parameters
The parameters for the element (track, clip, effect) that is selected in the motion mixer pane. These parameters are a filtered subset of the motion mixer parameters. To see all the motion mixer parameters, click beside the node name in the parameter editor.
Settings
Global settings that apply to the whole motion mixer.
Set up an input scene for the motion mixer ¶
To have access to animation clips in the motion mixer, there must be animation in the input scene to the Motion Mixer SOP. The animation clips must be added to the /animation folder in the input scene’s character folder structure.
Add animation from separate APEX Scene Animate SOPs ¶
If you have existing animation on multiple APEX Scene Animate SOPs, you can copy all the animation into one scene using an
APEX Scene Copy Animation SOP or
Packed Folder Copy SOP.
APEX Scene Copy Animation SOP ¶
In this example, we create animation on multiple APEX Scene Animate SOPs, copy the animation into one scene, and pipe the scene into the motion mixer:
-
On the
Electra SOP, set Output to APEX Scene. This outputs Electra as a character in an animation scene. In the rig tree view, we can see the following character folder structure:
-- electra.char/ ...
-
When animation is added in the animate state (on an APEX Scene Animate SOP), an
/animationfolder is created in the SOP’s character folder structure, and the animation is stored in a clip folder nameddefault.clip. After adding animation, the two APEX Scene Animate SOPs each have the following character folder structure:-- animation/ -- default.clip/ -- electra.char/ ... -
The APEX Scene Copy Animation SOP copies the animation from the second input’s scene into the first input’s scene. In the To parameter, set the new name for the second input’s animation, for example,
/animation/punch.clip. We now have the following character folder structure on the APEX Scene Copy Animation SOP:-- animation/ -- default.clip/ -- punch.clip/ -- electra.char/ ... -
Select the Motion Mixer SOP. In the parameter editor, the default (jump) and punch animations appear in the Catalog tab.
Packed Folder Copy SOP ¶
In this example, we create animation on multiple APEX Scene Animate SOPs, then bring the animation into the character folder structure and rename them using a Packed Folder Copy SOP:
-
On the Electra SOP, set Output to APEX Scene.
-
Add the jump animation clip to the character folder structure. On the Packed Folder Copy SOP:
-
Drag and drop the APEX Scene Animate SOP,
jump_animation, onto the Node parameter textbox. This automatically populates Node with the path to the jump animation,../jump_animation. -
Set the From parameter to the jump animation clip in the
jump_animationnode,/animation/default.clip. Use the rig tree view to see the character folder structure on thejump_animationnode. -
Set the To parameter to the path in the character folder structure to copy to, for example,
/animation/jump.clip.
-
-
Click
beside Count to add another set of parameters for the punch animation. Populate the parameters.
-
Select the Motion Mixer SOP. In the parameter editor, the jump and punch animations appear in the Catalog tab.
Add multiple animation using one APEX Scene Animate SOP ¶
In this example, we add two empty animation clips to the character folder structure, then populate the clips with animation using an APEX Scene Animate SOP:
-
On the Electra SOP, set Output to APEX Scene.
-
On the first
APEX Scene Add Animation SOP:
-
Set Character to
electra. -
Specify a name for the Animation Clip, for example,
anim1.
We now have the following character folder structure:
-- animation/ -- anim1.clip/ -- electra.char/ ... -
-
Do the same for the second APEX Scene Add Animation SOP, but set Animation Clip to
anim2:-- animation/ -- anim1.clip/ -- anim2.clip/ -- electra.char/ ... -
In the APEX Scene Animate SOP, add animation to the animation clips:
-
Enter the animate state - select the APEX Scene Animate SOP, turn on its display flag, and click
Animate on the left toolbar.
-
If there are multiple animation clips (
*.clip) in the character folder structure, a drop-down menu will appear on the top toolbar of the animation layers pane with a list of the available clips. Select the clip you want to add animation to.
-
-
Select the Motion Mixer SOP. In the parameter editor, the
anim1andanim2animations appear in the Catalog tab.
Use a recipe ¶
In this example, we use recipes to quickly build a rig for a character, retarget animation from an imported FBX file to the character, and pipe the animation scene containing the character into the motion mixer:
-
Type “APEX Biped” in the network editor’s tab menu and put down the APEX Biped recipe.
-
Connect an Electra SOP to the shape and rest skeleton inputs of the recipe.
-
Select the
APEX AutoRig Builder SOP, turn on its display flag, and click
Animate on the left toolbar.
-
In the Apply Template window that pops up, select a rig template and mapping to use for the character rig. In our example, we set Template to Mocap Biped, and Mapping to sidefx. Click Apply Template.
-
Exit the Autorig Builder viewer state by clicking
on the left toolbar.
-
The
configure_charactersubnet sets mirroring and motion mixer configurations for the character, and adds the character to an animation scene. TheAPEX Scene Add Character SOP in the subnet sets the character name to
biped. -
Put down the APEX Retarget to Rig recipe and connect the two recipes - connect the
ANIMATEnode to theAPEX_SCENEnode. -
On the
APEX Unpack Character SOP, set Character Name to
biped. -
The APEX Retarget to Rig recipe has a test animation in the
FBX Animation Import SOP. To see the animation that has been transferred to Electra’s controls, select the
APEX Animation from Skeleton SOP, turn on its display flag, and play the animation.
-
The name of the retargeted animation clip is set in the APEX Animation from Skeleton SOP’s Clip Name parameter. On the Motion Mixer SOP, the retargeted animation appears in the Catalog tab of the parameter editor.
Working with animation in the motion mixer ¶
In this example, we have a scene that contains Electra and a jump animation. In the rig tree view, we can see the following character and animation data in the character folder structure:
/
-- animation/
-- jump.clip/
-- electra.char/
...-
Add Electra’s
jumpanimation to the motion mixer by dragging and dropping the jump animation from the parameter editor’s Catalog tab onto the track. The following animation is applied to Electra:Animation applied to Electra -
Drag the clip to move it along the timeline. To cycle (repeat) the animation, drag out the ends of the clip.
-
To see the clip’s parameters, select the clip, and view the clip parameters in the parameter editor’s Parameters tab.
-
The Cut Start and Cut End parameters define the part of the original clip that is played. This is shown by the clip’s light blue region in the timeline.
-
The dark blue regions are the frames where the animation is cycled. The cycled frame range is specified in the Start and End parameters. To cycle only a portion of the animation, resize the clip’s light blue region.
-
-
If you don’t want to cycle the animation but instead want the character to hold the first or last pose, set the clip’s Cycle Before/Cycle After parameter (in the Cycle section) to Hold.
Note
The Cycle Before and Cycle After parameters specify the clip behavior within the clip boundaries. To set the behavior outside the clip boundaries, use the Extend Before and Extend After parameters.
-
To smooth out the transition between the cycled regions:
-
Increase the value of the Blend Frames parameter in the Cycle section.
-
Click the
button beside the Cycle Joint parameter and select a joint on Electra to match between the two cycled regions. In our example, we pick Electra’s foot joint,
ball_r.
Tip
If the cycled animation is veering off at an angle, set Rotations to Off.
-
-
To reposition the animation:
-
Enter the Motion Mixer viewer state by clicking
on the toolbar to the left of the viewport.
-
On the top toolbar of the Motion Mixer viewer state, turn on Handles. When you select a track or clip, a transform handle appears in the viewport. When you manipulate the handle, the Transform parameters for the track/clip are also updated. There is a separate handle for tracks and clips.
Manipulating the transform handle
-
Working with multiple clips ¶
In this example, we add a second animation clip to Electra’s track:
We want the punch clip to begin where the jump animation ends, so to fix the transition between the clips, we specify a joint to match between the clip transition:
-
In the motion mixer pane, select the second clip,
punch. -
Select Edit ▸ Match Joint or click
on the top toolbar.
-
In the Match Joint window, click
.
-
Select the joint to match, in our example, we select one of Electra’s foot joints,
ball_l. Click Accept. -
Back in the Match Joint window, click Match All. This updates the values in the Transform section of the punch clip’s parameters.
Updated animation with joint matching between clips Note
If clips overlap, the animation is blended in the overlap area.
-
Display the character in different ways, for example, showing the character’s controls, skeleton, or outline:
-
Enter the Motion Mixer viewer state by clicking
on the toolbar to the left of the viewport.
-
On the top toolbar of the Motion Mixer viewer state, choose from the Selection drop-down menu.
-
To change the character’s color:
-
Select the clip.
-
In the parameter editor, click the Color chip and select a color.
-
Turn on the Display parameter.
Note
If a clip is selected, it is displayed in yellow.
-
Different clip colors in shaded display mode -
Nested clips ¶
You can group multiple clips together into a nested clip, which allows you to loop through and duplicate groups of clips. A nested clip is essentially a container of clips. You can dive into the nested clip to modify the individual clips.
To create a nested clip:
-
click a track and select Create Nested Clip.
-
Specify a name for the nested clip and click Create. The clips on the track are combined into one nested clip that spans the frame range between values Start Frame and End Frame in the parameter editor’s Settings tab.
Tip
You can adjust the Start Frame and End Frame values in the motion mixer pane by dragging the arrows at the top of the timeline where the frame numbers are displayed.
-
Double-click the nested clip to dive inside, where you can make modifications to the individual clips. Use the
button above the track header to go back up to the clip level.
To extract the contents of a nested clip:
-
click a nested clip and select Extract Nested Clip.
-
In the Extract Nested Clips window:
-
If there are clips within the nested clip that are outside the Start Frame/End Frame frame range, turning on Cut Extracted Clips will trim these clips when they are extracted.
-
Click Extract. This creates a new track that contains the individuals clips from the nested clip.
-
Use partial motion from a character ¶
You can decide to use the motion from part of a character. In this example, we only want the upper body motion of the character from the previous example:
-
Select the track header.
-
Select the joints you want to use the motion of - in the parameter editor, Parameters tab, click the
button beside the Joints parameter and select the upper body joints.
-
In the Blend Parent parameter, specify the parent joint you want to put the motion on top of. In our example, we set Blend Parent to the chest joint, so the swinging upper body of the jump animation is placed on the lower body of the character at rest:
Original motion Animation only on the upper body
Blend between different tracks ¶
You can take the motion from one track and blend it into the motion on another track. This is called track blending.
In this example, we start with a jump animation, then replace the animation on Electra’s arms with 2 clips - rest and punch:
-
Drag and drop the jump clip onto the track.
-
Drag out the right edge of the jump clip to cycle the animation.
-
Set the cycling parameters, Blend Frames and Cycle Joint, to smooth out the transition between the cycled regions.
-
Add a track above the jump track:
-
Click
on the top toolbar.
or
-
Select Add ▸ Add Track.
or
-
click the track header and select Insert Track Above.
-
-
Drag and drop the rest and punch clips onto the new track so that the rest clip aligns with the start of the first jump cycle, and the punch clip aligns with the start of the second jump cycle.
-
Drag out and adjust the punch clip to cycle and play the part of the animation you want to keep.
-
Select the new track header.
-
Select the joints to use the motion of - in the parameter editor, Parameters tab, click the
button beside the Joints parameter and select the upper body joints.
-
In the Blend Parent parameter, specify the parent joint to put the motion on top of, in our example, the chest joint.
The first jump uses the arms from the rest clip, and the second jump uses the arms from the punch clip:
Blend upper and lower body animation -
Adjust the extent to which the tracks and clips contribute to the overall animation:
-
To have Electra make small bunny hops, reduce the weight of the
jumptrack. -
To have Electra hold up the punch arms only after the end of the second jump, set keys on the weight of the
armstrack by holding Alt, and clicking the curve in the timeline or the textbox in the weight header:
Change the weight of the tracks -
Working with multiple characters ¶
In this example, we have a scene that contains Electra, a chair prop, and animation clips for Electra and the chair. In the rig tree view, we have the following character folder structure:
/
-- animation/
-- chair.clip/
-- jump.clip/
-- punch.clip/
-- standup.clip/
-- chair.char/
-- electra.char/
...-
Add Electra’s
standupanimation to a track - drag and drop thestandupanimation from the parameter editor’s Catalog tab onto a track.Standup animation clip -
Apply the track to Electra:
-
Click the
icon in the track header.
-
In the Motion Mixer Track Filtering window, select Electra and click Accept. In the parameter editor, the track’s Characters parameter is set to
electra.
-
-
Create a track for the chair:
-
Select Add ▸ Add Track or click
on the top toolbar.
-
Drag and drop the chair animation onto the new track.
-
-
If you play the animation, only the chair animation plays. We need to apply the chair animation only to the chair so that the chair animation plays on the chair, and Electra’s animation plays on Electra:
-
Click the
icon for the chair track.
-
In the Motion Mixer Track Filtering window, select the chair and click Accept. The clip now applies only to the chair.
Note
If you have a clip that applies to multiple characters, you can use the
button in the track header to restrict the clip to only apply to certain characters. To see whether a clip is applied to multiple characters, view the character folder structure of the scene that is input to the motion mixer. In the rig tree view, under the
/animation/<clip_name>.clipdirectory, see if there are multiple<character_name>.char_Basefiles. -
Bake clips to an animation layer ¶
You can bake a clip or nested clip to a new animation layer, essentially converting the clip into an override animation layer that contains keyframes on the character controls.
To bake a clip to an override animation layer:
-
click a clip or nested clip and select Bake to Override.
-
Specify a name for the baked clip and click Bake. This turns the clip into a baked clip.
-
Double-click the baked clip to dive into it. The baked clip has an override row with green marks that indicate the frames that have keys. This override animation layer is the clip animation that has been converted to keyframes on the character controls.
For a nested clip, keys are added on all the character controls for every frame in the clip frame range. For a regular clip, only the keys from the original animation are added to the controls on the override layer.
An override layer’s keyframes for a regular clip -
Click
in the override layer header. This enters the animate state in the viewport, where you have access to the full functionality of the animate state for modifying the animation on the character.
Add effects ¶
Effects are additional changes that can be applied to a track. When an effect is added to a track, it is placed on its own row below the track weight. Click at the top of the headers section to toggle the display of all the effects rows.
Note
The order that effects are applied is opposite from tracks. The effects within a track are applied from highest to lowest. Tracks are applied from lowest to highest, with the first track at the bottom of the list, the second track above it, and so on.
Effects are applied over the entire scene frame range of a track. To restrict the effect to only certain clips in a track, use nested clips. Adding an effect inside a nested clip restricts the effect to within the frame range of the nested clip.
Effects can either be local or global. Local effects are applied within a track. Global effects are applied after the track is blended with the previous tracks (tracks on lower rows).
To control the extent to which an effect contributes to the final animation, you can do the following:
-
Drag the effect curve in the timeline.
-
Set a value in the effects header textbox.
-
Select the effect header and change the Blend value in the parameter editor’s Parameters tab.
To set keyframes on the Blend value:
-
Hold Alt, and click the effect curve in the timeline or the effect header textbox.
or
-
click the effect header textbox and select Set Keyframe.
Animate effect ¶
The animate effect allows you to add animation on top of the motion from the motion mixer:
-
Select the track to add the animate effect to.
-
Select Add ▸ Animate. A row for the animate effect is added below the track’s weight.
-
Enter the motion mixer animate state by clicking
in the animate effect header. You now have access to the full functionality of the animate state for adding animation to the character.
-
To add keys to a character’s control, select a control, move the playhead to the desired frame, and press K. A green mark will be added to the animate effect curve, which indicate that a key has been added at that frame.
-
Press ⎋ Esc over the viewport to exit the animate state. This puts you back into the Motion Mixer viewer state.
Transform effect ¶
The transform effect gives you access to a transform handle that you can use to reposition an entire track:
-
Select the track to add the transform effect to.
-
Select Add ▸ Transform. A row for the transform effect is added below the track’s weight.
-
Enter the motion mixer viewer state by clicking
in the transform effect header. On the top toolbar of the Motion Mixer viewer state, turn on Handles.
You can stack multiple transform effects on top of each other to create different pivots for a track.
Retime effect ¶
The retime effect allows you to change the playback speed of the animation:
-
Select the track to add the retime effect to.
-
Select Add ▸ Retime. A row for the retime effect is added below the track’s weight.
-
Select the retime effect header. You can set the parameters for the retime effect in the parameter editor’s Parameters tab. If you want to double the speed of the playback, you can:
-
Set Retime to By Speed, and set Speed to
2. -
Set Retime to By Frame, and change the Frame expression (click the Frame parameter label) to
$FF*2. -
Set Retime to By Time, and change the Time expression (click the Time parameter label) to
$T*2.
-
Hold a pose ¶
If you set the Retime parameter to By Holding, you can have a character hold a pose between certain frames:
-
Set Retime to By Holding. The Hold parameter is a toggle where:
-
If Hold is set to
0, the animation is played back at the FPS speed. -
If Hold is set to
1at a certain frame, the pose on that frame is held until Hold is set to0again.
At frame 1, a key is already set on Hold =
0. -
-
Go to another frame and set Hold to
1. Hold Alt and click the Hold textbox to set a keyframe and freeze the animation at that frame. -
Go to another frame and set Hold to
0. Hold Alt and click the Hold textbox to set a keyframe and have the animation continue playing from that frame.Freeze the animation for a few frames after Electra stands up
Smooth effect ¶
The smooth effect smooths out unwanted noise by applying a Butterworth filter to remove the frequencies that exceed a specified cut-off frequency, similar to the Smooth Motion SOP.
-
Select the track to add the smooth effect to.
-
Select Add ▸ Smooth. A row for the smooth effect is added below the track’s weight.
Output data from the motion mixer ¶
To choose the data that is output by the motion mixer, go to the parameter editor, Settings tab, and set the output in the Mode parameter. You can use the rig tree view to see the geometry that is output in each mode.
You can also grab the motion mixer output using a Motion Mixer Fetch SOP, or export the data using the motion mixer’s baking functionality. In this way, you can get the motion mixer data into another SOP and continue editing the animation independent of the motion mixer.
Use the Motion Mixer Fetch SOP ¶
The Motion Mixer Fetch SOP allows you to fetch the data from a Motion Mixer SOP:
-
Drag and drop a Motion Mixer SOP from the network editor into the Motion Mixer Fetch SOP’s Mixer Path parameter textbox.
-
On the Motion Mixer Fetch SOP, set the Output Mode parameter to the data you want to output.
If you set Output Mode to APEX Scene, the Motion Mixer Fetch SOP outputs the full animation scene with the updated animation. You can connect an
APEX Scene Animate SOP after the Motion Mixer Fetch SOP to continue editing the animation in the animate state.
Export to a SOP or a new track ¶
You can export the motion mixer animation to an APEX Scene Animate or Stash SOP, or bake the animation onto a new track:
-
Select a track to bake. If you don’t select anything, this bakes all the tracks.
-
In the motion mixer pane, go to Edit ▸ Bake.
-
In the Bake Motion Mixer window:
-
Set the baking Mode:
-
Bake to Stash SOP - Creates a Stash SOP that contains the motion mixer animation. You can connect the Stash SOP to an APEX Scene Animate SOP to continue editing the animation in the animate state.
-
Bake to Scene Animate SOP - Creates an APEX Scene Animate SOP that contains the motion mixer animation. The APEX Scene Animate SOP is connected to the node that is input to the Motion Mixer SOP.
-
Bake to Track - Creates a new track that contains the combined motion from all the tracks (or the previous tracks if a track was selected). This new track is set to Replace mode in the track header, so it overrides the tracks below it.
-
Bake to Override FX - Bakes a clip to an override animation layer. First create an animate override layer - in the motion mixer pane, click Add ▸ Animate Override. In the Bake Motion Mixer window, specify the name of the track you want the motion from (Track Name) and the override layer you want to add the motion to (Fx Name).
-
-
Set the frame range to export in the Start Frame and End Frame fields. You can also click the Mixer, Playbar, or Global button to automatically update the Start Frame and End Frame values.
-
Click Bake.
-
How-to ¶
See the motion mixer pane for ways to navigate in the timeline and descriptions of the toolbar buttons.
| To... | Do this |
|---|---|
|
Add a track |
Do one of the following:
|
|
Delete a track |
Select the track and press Delete. or
|
|
Rename a track |
Double-click the track name in the track header. or
|
|
Change the track order |
Drag and drop the track headers to reorder the tracks. or
|
|
Change a track’s weight value |
Set the value in the textbox, use the value ladder on the textbox, or drag the weight curve. |
|
Set keys on a track weight or effect |
Hold Alt, and click the curve in the timeline or the textbox in the weight/effect header. or
|
|
Mute (turn off) a track or effect |
Click |
|
Only have a specific track contribute to the overall motion |
Click |
|
Apply a track to a specific character or character’s joints |
|
|
Set the behavior between clips |
The selected clip drives the transition with the previous clip (the clip on its left). Select a clip, go to the parameter editor, Parameters tab, Transition section, and set the Mode parameter:
|
|
Set the behavior before and after a clip (if there are no other clips before/after it) |
Change the Extend Before and Extend After parameters for the clip. |
|
Set the frame range of a nested clip you want to create |
Drag the arrows at the top of the timeline where the frame numbers are displayed. or In the parameter editor’s Settings tab, change the Start Frame and End Frame values. |
|
Change the speed of a clip |
or Change the clip’s Speed parameter. Note The Speed should not be animated because it will give unexpected results. If you want to animate the speed of a clip, use the retime effect. |
|
Split a clip |
|
|
Change the color of all the clips in a track |
Click the color chip in the track header and select a color. or Select the track, and in the parameter editor’s Parameters tab, click the Color chip, and select a color. If you select the black color, the clips will be set to their default color. |
|
Change the color of a particular clip |
|
|
Toggle display of the character labels in the Motion Mixer viewer state |
In the parameter editor’s Settings tab, toggle Labels. The Labels parameter is not available when the output Mode is set to APEX Scene. |