Houdini 21.0 Character KineFX

Foot

Sets up a foot with heel, toe, and tilt controls as well as FK and IK controls for the toes.

Since 21.0

This component sets up a reverse foot with heel, toe, and tilt controls. You can also set up FK and IK controls for the toes by turning on the Piano Feet parameter. See rigging a character for an example use of the reverse foot component.

In the viewport, the menu provides configuration options for the foot component. See the gear menu for the different types of interaction elements.

To set up FK and IK controls for the toes:

  1. Add the following tags to the foot:

    • Foot tags for all the joints.

    • Tags for each toe segment.

    Tags for the foot

    See the Rename Subsegments parameter if you want to add generic tags to your toes, for example, toeA instead of L_toeA.

    Note

    You don’t need to add a joint at the tip of the toe. If you do, you won’t be able to rotate the part of the toe in front of the furthest joint. In the example above, the joint furthest along the toe is not at the tip.

  2. Specify the toe segments in the Driven tab, Toe Subsegments parameter, for example, *toe*.

  3. In the Reverse Foot tab, turn on Piano Feet. When Piano Feet is turned on, the following options are available in the component’s menu:

    • An IK/FK button that switches between FK and IK toe controls.

    • A slider that blends between FK and IK for the toes.

  4. The following controls are added for the toes:

    FK toe controls
    IK toe controls

Parameters

Name

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

Settings

The parameters in this section provide the settings for the IK toes when Piano Feet is turned on.

Flip Selection Handles

When turned on, flips the display of the toe selection handles. In FK mode, clicking a selection handle selects all the FK controls for the toe. In IK mode, clicking a selection handle selects the root control of the IK toe.

Dampen

A larger value dampens the effect of the IK solve, smoothing its snapping effects at the cost of accuracy.

Stretch

A larger value allows more stretch for the IK chain when the target is beyond the length of the chain.

Tracking Threshold

Sets the accuracy of the solve. A higher value is faster but less accurate.

Use Twist

When turned on, uses the pole vector to twist the IK chain.

Level Root

When turned on, sets the root controls to world orientation.

Level Pole Vector

When turned on, sets the pole vector controls to world orientation.

Level Tip

When turned on, sets the tip controls to world orientation.

Use Goal Rotation

When turned on, uses the goal rotation for the target orientation. When turned off, uses the solver’s position for the target orientation.

Resist Straight

When turned on, resists straightening of the IK chain.

Pole Vector Offset

The amount to offset the pole vector in the direction of the middle joint (between the root and tip). The IK chain must be slightly bent for this to work.

Driven

Foot Segments

Segments are tags that separate each foot. For example, *foot loops over tags L_foot and R_foot. Tags can be set up on skeleton joints using an Attribute Adjust Array SOP. See preparing skeletons for rigging for more information.

If segments is empty, the foot 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.

Toe Subsegments

Tags that separate each toe. This is required to set up IK for the toes (when Piano Feet is turned on).

Rename Subsegments

A pattern that specifies how to rename the toe segments in a foot. You can use this if your toe segments have a generic tag name like toeA, as opposed to something like L_toeA and R_toeA.

For example, let’s say you've tagged the following joints in your skeleton:

  • Foot joints (including the ankle and toe joints) with tags L_foot_upper and R_foot_upper.

  • Toe joints on both feet with tags toeA, toeB, toeC, toeD, and toeE.

Set Foot Segments to *foot* and Toe Subsegments to toe*.

In this parameter, specify the part of the foot segment name to strip off, leaving a prefix and/or suffix that is then added to the toe segment name. For example, if you set Rename Subsegments to *foot*, the part of the foot segment name before foot is the prefix that is added to the toe segment name, and the part after foot is the suffix that is added to the toe segment name. In our case, the toe segment toeA on the left foot would be renamed to L_toeA_upper.

If the toe segments don’t have generic names, or this is left empty, the toe segments are not renamed.

Driver

Ankle

The ankle control. This can be set to a tag or control name. See the Heel parameter for more information.

Heel

The heel control. This can be set to a tag or control name. If set to a tag like #heel, it will look in the skeleton for a joint with the tag heel. If a joint is found, it will create a heel control at that joint. If no joint is found, it will create a heel control with a default name (for example, Heel_ctrl) at the position defined by Heel Offset. If this parameter is set to a name, it will create a heel control with that name at the position defined by the Heel Offset.

Ball

The control for the ball joint. This can be set to a tag or control name. See the Heel parameter for more information.

Ball Rotate

The rotation control for the ball joint. This can be set to a tag or control name. See the Heel parameter for more information.

Tilt A

The tilt control for one side of the foot. This can be set to a tag or control name. See the Heel parameter for more information.

Tilt B

The tilt control for the other side of the foot. This can be set to a tag or control name. See the Heel parameter for more information.

Toe

The control at the tip of the toe. This can be set to a tag or control name. See the Heel parameter for more information.

IK Root

The name to add to the root control of the IK toes.

IK Pole Vector

The name to add to the pole vector of the IK toes.

IK Target

The name to add to the target control of the IK toes.

Reverse Foot

Piano Feet

When turned on, adds FK and IK controls for the toes. To set up IK controls for the toes, you must tag the toe joints and specify the toe segments in Toe Subsegments. When turned off, this is essentially the reverse foot component.

Ankle Pivot

The position of the ankle control.

Heel Offset

The position of the heel control. You don’t need to have a heel joint before using this component.

Tilt A Offset/Tilt B Offset

The position of the tilt controls. These controls are identical on both sides of the rig, so A and B are determined by how you set up the side roll.

Toe Offset

The placement of the toe. If this component cannot find a toe, one is automatically created and adjusted so that the toe control is at the tip of the foot.

Toe Up

The position of the toe up vector.

Tilt

The amount of tilt to apply. The tilt is controlled using a slider in the menu.

Roll

The amount of rotation to apply to the roll. The roll is controlled using a slider in the menu.

Invert Tilt

When turned on, inverts the tilt behavior.

Invert Roll

When turned on, inverts the roll behavior.

Ground Plane Offset

The height of the ground plane that the foot controls are projected onto. If the character’s waist is at ground level, this value needs to be adjusted to the level of the character’s feet.

Meta

You can add metacarpal controls to your toes by specify toe joints in Meta. The metacarpal controls are a look at from the metacarpal joint to the ball of the foot, where the control at the metacarpal joint is the driver, and the control at the ball of the foot is the target. See the hand rig component for an example.

The Piano Feet parameter must be turned on for metacarpal controls to be added to the foot.

Note

The driver control is only visible in FK mode.

Meta

The toes to add metacarpal controls for. This parameter accepts APEX path patterns, so you can add tags to the toe joints and specify tags in this field, for example, #meta.

Up

The up vector of the look at constraint.

Parent

Reverse Foot Parent

The parent of the foot setup.

Root

The parent of the root control(s) of the IK toes. When empty, the root control has the same parent as the root node of the IK chain. To unparent the root control, set this parameter to an underscore (“_”).

Tip

The parent of the tip control(s) of the IK toes. When empty, the tip is not parented.

Pole Vector

The parent of the pole vector(s) of the IK toes. When empty, the pole vector is parented to the tip.

Tags

Root

The tags to add to the root TransformObject nodes of the IK toes.

Pole Vector

The tags to add to the pole vector TransformObject nodes of the IK toes.

Target

The tags to add to the target TransformObject nodes of the IK toes.

Shape

The APEX Configure Controls SOP provides more options for changing the look of the controls.

Shape

The shape of the root controls of the IK toes. 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 FK toe 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