Houdini 21.0 Character KineFX

Ulna

Sets up an anatomical twist for a character’s forearm.

Since 21.0

This component uses the ulna and radius joints on a character’s skeleton and sets up an anatomical twist for the character’s forearm.

No twist on the forearm
Added ulna functionality

The following is an example network for setting up the ulna component:

The image below shows the character’s mesh and skeleton:

Mesh (left), skeleton (right)
  1. On the skeleton, ulna and radius joints are required by the ulna component:

    Joints needed for the ulna component

    The ulna and radius joints are parented to the elbow joint, and the wrist is used as a look at for the ulna and radius. For the twist functionality, the elbow and wrist joints are the root and tip of the look at, and the ulna and radius joints are the twist joints. See the twist component for a description of the parenting hierarchy of twist joints.

  2. Add ulna tags to the elbow, radius, ulna, and wrist joints using the Attribute Adjust Array SOP (see preparing skeletons for more information on tagging skeleton joints):

    Ulna tags
  3. Add the mesh and skeleton to a character folder structure using an APEX Pack Character SOP. See rigging a character for an example use of this node as well as the fk transform and bone deform rig components.

  4. The limb rig component sets up the clavicle controls that are needed by the ulna component. Set the parent of the arm pole vectors to the root of the skeleton - on the limb APEX Autorig Component SOP, Parent tab, set Pole Vector to the skeleton’s root joint, in our case, C_root. If you used a root component upstream to create root joints for the character, you can set Pole Vector to #root since the root component adds “root” tags to all the controls it creates.

  5. On the ulna component, Driven tab, set Segments to the ulna tags, in our case, *_ulnaTwist. If you rotate the wrist control, the character’s forearm twists with the wrist rotation:

Parameters

Name

The name to add to the subnet nodes that set up the look at functionality for the ulna and radius joints.

Driven

Segments

Segments are tags that separate each ulna setup. For example, *_ulna loops over tags L_ulna and R_ulna. You can set up tags on skeleton joints using an Attribute Adjust Array SOP. See preparing skeletons for rigging for more information.

If segments is empty, the ulna logic is run once.

Note

The Segments parameter does not take APEX path patterns, for example, the #<tag> function. Instead, specify the tag names directly in this field.

Tags

Component

The tags to add to the nodes created by this component.

Shape

Shape

The shape of the controls. It can be set to any of the built-in APEX control shapes.

Color

The color of the control shapes.

Rotate

The rotation of the control shapes.

Scale

The scale of the control shapes.

See also

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