Houdini 20.5 Nodes Geometry nodes

Adapt to Terrain 2.0 geometry node

Adapts a character’s skeleton to conform to terrain.

On this page
Since 19.0

This node rays the provided hip and foot joints on to the input terrain and then runs a Full Body IK on the whole skeleton to conform the whole character to the terrain properly.

Parameters

Method

Choose method of projection.

Direction Vector

Specify a direction vector to use for projecting.

Direction

The projection will happen from the character’s position in the direction of this specified direction vector.

From Attribute

Specify a vector attribute name that will be used for projecting.

Attribute

Name of the attribute to read the projection direction data from.

From Terrain Attribute

Specify a vector attribute name from the terrain input that will be used for projecting.

Terrain Attribute

Name of the attribute from the terrain input to read the projection direction data from.

Projection Change Threshold Degrees

Amount of degrees needed to consider changing the projection attribute. For an example where the terrain is a hilly surface with multiple projection attribute values spread across its surface, it can be useful to limit the amount of projection changes to major terrain differences.

Ground Plane

Specify which plane acts as the ground plane.

Rotate Skeleton

Rotate the character around its own bounding box center before projecting it. Normally, each specified hip or foot joint gets projected on to the terrain following the direction vector. In most cases, this means that the projection will not be perpendicular to the surface of the terrain. In certain situations the result can be less stretchy - especially for quadrupeds - if the character is rotated before being projected. The effect is the same as rotating the projection direction vector with the minor exception that the projection will have no position offset.

Clip Range

Read the frame range from the clipinfo detail attribute on the input geometry, or set a custom frame range.

Frame Range

The custom frame range of the animation. This parameter is only available when Clip Range is set to Custom Frame Range.

Use the action button on this parameter to populate the values from either the clipinfo detail attribute, the scene frame range, or the playback frame range.

Main

Hips

Hip Joint

Specify the hip joint of the character by name. Multiple hip joints can be specified. For example, in case of a quadruped you will want to select both the pelvis as well as the chest joints as to both front and back legs are touching the terrain and will have to be projected.

Hip Offset

Offsets the hip joint after it has been projected on to the terrain.

Hip Axis

The axis will be automatically computed. This option allows you to overwrite that computation. The axis expected is the “front” axis of the hip joint. The “front” axis is the local axis of the hip pointing towards the character’s front. This is required for the Max Rotation Per Frame feature and for the Hip Lean Range feature.

Lower Limbs

Knee Joint

Specify the knee joint of the character’s leg by name.

Ankle Joint

Specify the ankle joint of the character’s leg by name.

Toe Joint

Specify the toe joint of the character’s foot by name. This field is optional. The toe joint is used to get the proper rotation of the ankle joint after it has been projected.

Ankle Offset

Offsets the ankle joint after it has been projected on to the terrain.

Toe Offset

Offsets the toe joint after it has been projected on to the terrain.

Foot Lift Blend

Enable or disable terrain-based foot lifting for this ankle joint and control the amount of lifting.

Advanced

Hip Options

Hip Lean

Enable hip leaning forward or backward when the projected character is ascending or descending a slope. This option makes use of the target skeleton’s Center of Mass(COM) which will be computed inside.

Hip Lean Range

Specify how much the hips can rotate backward and forward.

Hip Lean Blend

Control the amount of hip leaning.

Translate COM

Manually translate the COM of the target skeleton to achieve forward or backward leaning.

Max Rotation Per Frame

Specify the maximum amount, in degrees, that the hip joints can rotate each frame.

Max Translation Per Frame

Specify the maximum amount that the hip joints can translate each frame.

Spine Extension

When dealing with quadrupeds or characters with multiple hip-like joints, this option limits the amount of extension that can occur in the spine as a result of the projection. A value of 0 means that no extension is allowed, a value of 1 means that any amount of extension is allowed.

Spine Compression

When dealing with quadrupeds or characters with multiple hip-like joints, this option limits the amount of compression that can occur in the spine as a result of projecting. A value of 0 means that no compression is allowed, a value of 1 means that any amount of compression is allowed.

Lower Limb Options

Enable Ankle To Toe Lookat

Rotate the ankle joints to look at the toe joints. When projected on to a surface, this will basically orient the foot to match the surface.

Enable Terrain-Based Foot Lift

Enable lifting the feet based on the terrain slope. This option will adjust the step height of the input animation in accordance to the terrain underneath. A steep ascending slope will make a step rise higher - a steep descending slope will make it sink lower.

Foot Lift Blend

Control the global value of the foot lift. A value of 0 means no foot lift, a value of 1 means maximum foot lift.

Position Stabilization Attribute Name

Specify the name of the Stabilize Joint position output attribute name that will be used to find all the foot steps in the animation.

Solve

Solve

Use a Full Body IK to solve internally and output the result.

Solve Current Frame

Enabling this option will make the computation of the node much faster because it will bypass evaluting a MotionClip over the whole timeline and stick only to the current frame. This can be useful if we want to manipulate parameters on this node or upstream and see results immediately in the viewport. Certain features will not be available while in this mode because they need the full MotionClip.

Use Toes as Drivers

Use toe joints, if specified, as fullbodyik drivers. Otherwise, only the hip and foot joints will be used.

Group

Iterations

Damping

Tolerance

Configurations

Default Configurations

Initialize a set of default configurations for the Full Body IK.

Output Configuration Attributes

Enabling this will output the Full Body IK configuration attributes. If the Hip Lean feature is enabled, the COM of the character will also be outputted. See Full Body IK for more details.

COM Point Name

When Output Configuration Attributes is enabled, specifies the name of the center of mass point that is added to the output geometry.

Target Configurations

Inputs

Target Skeleton

The input skeleton to adapt.

MotionClip

The animated input skeleton, in the form of MotionClip. This input can be useful if you want to modify the transforms of the driver joints before adapting them to the Terrain and solving the Target Skeleton using a Full Body IK. A common example is to use the Stabilize Joint to plant the feet, set the Mode to Pass Through and wire the Target Skeleton to the Target Skeleton and the MotionClip to the MotionClip.

Terrain

The terrain geometry to adapt the Target Skeleton to.

Outputs

Target Skeleton

The adapted input skeleton.

Motion Trails

The motion trails of the driver joints: Hip Joints and Leg Joints. In certain situations, you will want to manipulate the result of the this node further, without using the Full Body IK inside to solve. For these situations, you can use the motion trails output, manipulate them and then solve later.

See also

Geometry nodes