Houdini 19.0 Nodes Geometry nodes Stabilize Joint

Stabilize Joint geometry node

Removes jitter from the input animation and handles terrain snapping of joints.

On this page
Since 18.5

This node stabilizes the input joints by removing position or rotation jitter from their animation. It also handles interaction with custom terrain and allows for terrain proximity detection and snapping.

Parameters

Mode

Choose whether to apply the stabilization on the input joints directly or to export a set of custom point attributes with the stabilization data. In case of the Output Stabilization Attributes or Pass Through, the actual transformations of the joints will not be modified.

Transforms to Modify

Transforms of the input joints to modify.

Update Children Transforms

Choose whether to apply the transformations only to the input joints or to their children as well.

Joint Group

Group of joints to stabilize.

Frame Range

Frame range of the animation.

Position Output Attribute Name

Name of the point attribute containing the position stabilization data.

Rotation Output Attribute Name

Name of the point attribute containing the rotation stabilization data.

Max Position Change

If enabled, it sets the distance tolerance before the joint stabilization is unlocked. It has an effect on position only. The distance is calculated between the same joint from two consecutive frames.

Max Angle Change

If enabled, it sets the angle tolerance before the joint stabilization is unlocked. It has an effect on rotation only. The angle difference is calculated between the same joint from two consecutive frames.

Distance To Terrain

If enabled, it sets the terrain distance tolerance before the joint stabilization is unlocked. It has an effect on position only. The distance to terrain is calculated between the joint and the closest primitive or point on the terrain’s surface, at each frame.

Blend In Frames

Number of frames to blend in to the stabilization.

Blend Out Frames

Number of frames to blend out of the stabilization.

Min Amount of Frames to Lock

Specify the minimum number of frames that a joint needs to stay locked for in order to be considered. If a locked segment is shorter than this paramter’s value, it will be discarded. It only applies to the automatic lock options: Max Position Change, Max Angle Change, Distance To Terrain.

Loosen Effect

Loosen the effect of the stabilization, resulting in a less rigid effect.

Guide Color

Color the joints as they get stabilized for better visualization. The first value of the ramp indicates the color the joints should have while not being stabilized, the last value of the ramp indicates the color of the joints while fully stabilized.

Guide Mode

Specifies whether to visualize the position or rotation stabilization values.

Overrides

Joints

Group of joints to override stabilization of.

Frame Range

Frame range when the override should take effect.

Option

Choose between stabilizing(locking) the specific joint or unlocking it.

Stabilize Option

Choose whether to stabilize the position, rotation or both of the specified joint.

Rotation when Position is Locked

This option will lock the rotation based on when the position is locked. The effect gets applied on the full animation length rather than just on a specific frame range.

Tip

Useful when running on examples like: Reverse Foot, where setting the toe marker to Rotation when Position is Locked will keep it from rotating while the foot is planted.

Blend In Frames

Number of frames to blend in to the stabilization of this specific override. If set to -1, the global Blend In Frames value will be used.

Blend Out Frames

Number of frames to blend out of the stabilization of this specific override. If set to -1, the global Blend Out Frames value will be used.

Unlock Early Frames

Number of frames by which the rotation stabilization should get unlocked faster than the position stabilization. Only relevant if Rotation when Position is Locked option is selected.

Target Geometry Options

Type

Type of the input target geometry.

Direction

Direction towards which to check for intersection with the target geometry. Useful when, for example, the input character is walking close to a wall and you want to stabilize the feet joints only when they touch the floor.

Use Distance to Compute Intersections Only

This option will disable any stabilization coming from the Distance To Geometry feature and will only keep the intersection data. This can be useful if you want to add manual overrides and have those match the orientation of the geometry. Any Rotation lock that is within the threshold specified in Distance To Geometry will rotate the joint to match the Orientation Attribute of the geometry.

Enable Snapping

Snaps the joint to the collision geometry’s closest primitive or point when within the Distance To Geometry tolerance.

Offset Joint

Offsets the joint from the geometry snap location in world or local space.

Match Orientation

If enabled, choose between rotating the joint to match the geometry’s Orientation Attribute before the contact or after the contact. The contact is defined by when the joint gets within the Distance To Terrain tolerance.

Orientation Attribute

Specify the attribute that marks the orientation of the primitive or point from the target geometry.

Note

If the Type is set to Primitives, the Orientation Attribute has to be a vector. If the Type is set to Points, the Orientation Attribute has to be a vector or a 3×3 or 4×4 matrix.

Custom Joint Axis

Which axis of the stabilized joint to match the Target Geometry orientation. The axis must be provided in the joint’s local space.

Axis Attribute

Specify vector attribute that defines the Custom Joint Axis of the input joint. Useful when, for example one input joint is mirrored, and you want to specify different axes for each.

Blend In Frames

Number of frames to rotate the joint to match the geometry’s Orientation Attribute.

Blend Out Frames

Number of frames to rotate the joint back to the original input rotation.

Inputs

Target Skeleton

The input skeleton to be processed.

MotionClip

The animated input skeleton, in the form of MotionClip. This input can be useful if you have to chain multiple Stabilize Joint and want to avoid computing a new MotionClip for each node or if you want to run the animation through Adapt to Terrain.

Target Geometry

The geometry to use to compute the Distance To Geometry.

Outputs

Target Skeleton

The input skeleton with stabilized joints.

MotionClip

The animated input skeleton, in the form of MotionClip. This MotionClip holds the Output Stabilization Attributes as well as the actual modified joint transforms.

See also

Stabilize Joint