Houdini 21.0 Character KineFX

Working in the animate state

On this page

The animate state is a viewer state that can display multiple characters in an animation scene and allow users to perform posing such as FK or IK for characters, interact with controls on characters, and add constraints between characters. Functionality like physics-based motion and ragdoll can also be applied to animation within the animate state.

To enter the animate state, select the APEX Scene Animate SOP in the network editor, turn on its display flag, and click Animate on the left toolbar. For more information on how to set up a network for animation, see animation workflow.

Note

Only data in a packed character folder structure can be displayed in the animate state.

Transform handle

In the animate state, you can pose characters and set keyframes to perform animation. The transform handle in the animate state is used to select, manipulate, and transform characters and controls.

Hover over the viewport and press Y to cycle through the available transform handle modes.

Animate state handle modes (left to right): full transform mode, translate mode, rotate mode, scale mode, minimized mode

See the handle parameters window for options on configuring the look and functionality of the transform handle, and using handles for more information on the basic handle modes.

Selecting and transforming controls

By default, when you select multiple controls and translate/rotate the active handle, the selected controls translate/rotate about their local axes. Alternatively, holding ⌃ Ctrl + ⇧ Shift puts the handle in global transform mode such that:

  • When you select multiple controls, hold ⌃ Ctrl + ⇧ Shift, and translate the active handle, the selected controls translate in world space.

  • When you select multiple controls, hold ⌃ Ctrl + ⇧ Shift, and rotate the active handle, the selected controls rotate about the active handle.

The examples below show the difference between the default behavior and global transform mode:

Default translation behavior
Translation when holding Ctrl+Shift
Default rotation behavior
Rotation when holding Ctrl+Shift

In global transform mode, it is easy to pose characters in a variety of configurations by translating and rotating groups of controls about the last selected pivot. This can be done without the use of constraints:

Rotating controls about the last selected pivot

Selection sets are used to organize controls into groups, or sets, in the animate state. These sets can then be used to select, hide, pin, and isolate groups of controls:

Use selection sets to manipulate groups of controls
To...Do this

Rotate about the last selected control

  1. Select the group of controls (or selection set) you want to rotate about a pivot control.

  2. Hold ⇧ Shift while selecting the pivot control.

  3. If necessary, change the handle mode to one that has rotation handles (press Y to cycle through the different handle modes, or press R to change the handle to rotate mode).

  4. Hold ⌃ Ctrl + ⇧ Shift and drag the rotate handles to rotate the group of controls about the pivot control.

Rotate about the last selected control

Adjust the transform component values (translate, rotate, scale) of a control

  1. Select a control.

  2. Press G to bring up the parameters HUD, which allows you to change the transform component values of the selected control. You can also use the value ladder to change the component values.

Change the handle alignment

Press M to cycle through the different handle alignments.

or

  1. Press ⌃ Ctrl + G to bring up the settings HUD.

  2. In the Animate ▸ Transform Handle tab, set the Alignment option to align the handle to the world axes, local axes, construction plane, camera view, or parent control.

Keep the same transform handle mode when selecting different controls

  1. Press ⌃ Ctrl + G to bring up the settings HUD.

  2. In the Animate ▸ Transform Handle tab, turn off Change Mode Automatically.

  3. In the Mode option, select the transform handle mode you want displayed.

Change the amount of zoom when framing a selection

  1. Press ⌃ Ctrl + G to bring up the settings HUD.

  2. Adjust the Framing Zoom option.

Turn on gimbal mode

  1. Press ⌃ Ctrl + G to bring up the settings HUD.

  2. In the Animate ▸ Transform Handle tab, turn on Use Gimbal Mode.

You can also turn on gimbal mode by clicking in the viewport, and turning on Gimbal Mode.

Grow, shrink, and change control selections

From the currently selected control, use the following hotkeys to select the control’s parent, child, or sibling:

Hotkey

Action

PageUp

Selects the parent of the currently-selected control.

PageDown

Selects the child of the currently-selected control.

Home

Selects the control to the left.

End

Selects the control to the right.

To grow the current selection of controls, hold ⇧ Shift while using the above hotkeys. To shrink the current selection, hold ⌃ Ctrl:

Hotkey

Action

⇧ Shift + PageUp

Grows the current selection of controls to include the parents.

⇧ Shift + PageDown

Grows the current selection of controls to include the children.

⇧ Shift + Home

Grows the current selection of controls to include the siblings on the left.

⇧ Shift + End

Grows the current selection of controls to include the siblings on the right.

⌃ Ctrl + PageUp

Shrinks the current selection of controls from the bottom (removes the bottom control in the hierarchy).

⌃ Ctrl + PageDown

Shrinks the current selection of controls from the top (removes the top control in the hierarchy).

⌃ Ctrl + Home

Shrinks the current selection of controls from the left.

⌃ Ctrl + End

Shrinks the current selection of controls from the right.

Transform limits for controls

Transform limits define the translation and rotation limits for controls.

Setup

Transform limits can be set up using the APEX Configure Controls SOP. In the animation workflow, place the APEX Configure Controls SOP after building the rig logic, and before the APEX Scene Add Character and APEX Scene Animate SOPs:

APEX Configure Controls SOP in animation workflow
  1. On the APEX Configure Controls SOP, add configurations for different controls by clicking beside Control Configs.

  2. In the Control Group parameter, choose from the drop-down list or use the APEX path pattern syntax to specify groups of controls.

  3. Turn on Use Limits.

  4. In the Use Limits section, add a set of transform limits by clicking beside Parameter Limits.

  5. In Parm Name, specify the transform parameter to set limits for - t for translation and r for rotation.

  6. Turn on the limits you want to set and specify the x, y, and z values for the limits.

    Parameter

    Description

    Max, Min

    A soft limit on the transform parameter. The Vector3 values are the limits on the x, y, and z values of the parameter. These limits are enforced only if the Enforce Transform Limits option is turned on in the settings HUD. If Enforce Transform Limits is turned off, these limits are used as a visual indicator in the animate state.

    Max Lock, Min Lock

    A hard limit on the transform parameter. The Vector3 values are the limits on the x, y, and z values of the parameter. This cannot be turned off in the animate state.

Translation limits

Translation limits that are enforced in the animate state are visualized as planes.

One-sided limits are limits where either the max or min limits are specified, but not both.

One-sided limit

Two-sided limits are limits where both the max and min limits are specified.

Two-sided limit

Soft limits (Max, Min) can be enforced in the animate state by turning on Enforce Transform Limits in the settings HUD, Animate ▸ Transform Handle tab. If soft limits are not enforced, they are used as a visual indicator.

Enforced soft limit
To...Do this

Enforce the Max and Min parameter limits

In the settings HUD, Animate ▸ Transform Handle tab, turn on Enforce Transform Limits.

The Max/Min limits are visualized as a plane indicating the enforced limits.

Enforce Max/Min translation limits

Use the Max and Min parameter limits as a guide only

In the settings HUD, Animate ▸ Transform Handle tab, turn off Enforce Transform Limits.

The Max Lock/Min Lock limits are visualized as a plane indicating the enforced limits, and the Max/Min limits are visualized as a dot along the line to the Max Lock/Min Lock plane. When the control is dragged past the Max/Min limits, the color of the line changes as the control is moved between the Max/Min limits and the Max Lock/Min Lock limits.

Use Max/Min translation limits as a guide only

Rotation limits

Rotation limits are visualized as arcs in the tranform handle. Arcs that are filled in with a background color are rotation limits that are enforced in the animate state. Soft limits (Max, Min) can be enforced in the animate state by turning on Enforce Transform Limits in the settings HUD, Animate ▸ Transform Handle tab.

The arcs are drawn based on the rotation order of the control.

Hard limits and soft limits specified, soft limits not enforced
Only hard limits specified
Soft limits enforced
Only soft limits specified but not enforced

For one-sided limits, the color of the arc changes depending on how close you are to the limit.

One-sided rotation limit

Skin controls

Skin controls allow you to pose a character by selecting and dragging on the character’s skin:

Skin controls

Skin controls are set up using the APEX Configure Controls SOP. In the animation workflow, place the APEX Configure Controls SOP after the character with a rig, and before the APEX Scene Add Character and APEX Scene Animate SOPs. In this example, we set up skin controls for the Electra test geometry:

  1. Turn on skin controls in the animate state:

  2. On the Electra SOP, set Output to APEX Character. This outputs Electra as a character with a skeleton, skin, and rig.

    Note

    To see the elements in the Electra character:

    1. Select the Electra SOP.

    2. Open the rig tree view - click the New Tab icon at the top of a pane and select New Pane Tab Type ▸ Animation ▸ Rig Tree.

    3. Set Type to Packed Folders. The elements within the Electra character will be displayed:

      /
      -- Base.rig
      -- Base.shp
      -- Base.skel
      

    See the character folder structure for more information.

  3. On the APEX Configure Controls SOP, set the Skin Shape Source parameter to /Base.shp. This is the name of the skin shape for Electra. You can also select /Base.shp from the drop-down menu.

  4. Click beside Control Configs.

  5. In the Control Group parameter, specify the character controls you want to move. You can choose from the drop-down list or use the APEX path pattern syntax to specify groups of controls. In this example, we want to move Electra’s head, so we set Control Group to head.

  6. Turn on Use Skin Control.

  7. Beside the Prims parameter, click the button.

  8. In the viewport, select the parts of the character you want to use as a skin control for Electra’s head, and press Enter. The Prims parameter is automatically populated with the selected primitives.

    Tip

    To hide the regular character controls, toggle off beside All Controls in the selection sets HUD.

    Note

    If Use Click and Drag in the handle parameters is turned off, you need to select the skin control first, then drag to pose the character. If Use Click and Drag is turned on, you can click and drag the skin control in one step.

    If you select multiple skin controls with Use Click and Drag turned on, you can move all the controls together by dragging the character’s skin. If you select multiple skin controls and Use Click and Drag is turned off, you need to use the transform handle to move all the controls together. When moving the transform handle, hold ⌃ Ctrl + ⇧ Shift to put the handle in global transform mode.

To...Do this

Turn off skin controls

  1. Press P to bring up the handle parameters window.

  2. Turn off Use Skin Controls.

Animate state tools

See the following pages for the tools and functionality that are available in the animate state:

Configurations and settings

See animate state menus and HUDs for the various functionalities, configurations, and settings that are available in the animate state.

KineFX

Overview

Preparing character elements

Rigging with APEX graphs

Building rig graphs with APEX Script

Rigging with rig components

Animating in the viewport

SOP-based animation

Deformation

Animation retargeting

Pre-H20

Panes

Appendix