Houdini 20.5 Nodes VOP nodes

Realistic Shoulder 2.0 VOP node

Propagates rotation from the arm to the clavicle point in a KineFX skeleton.

On this page
Since 19.0

This operator makes the given clavicle point follow the rotation of the arm once the angle between the arm and the body of the skeleton exceeds the specified Arm Rotation Threshold.

This operator takes a clavicle point or (optionally) points for the rest of the arm as inputs. If you do not provide any arm points, the operator will automatically try to detect them by getting the first child of the clavicle and then moving down the chain.

Note

When set to Active, this operator uses a Two Bone IK node set-up. To make sure that this operator functions correctly, make sure that your skeleton’s rest pose includes a slight angle in the arm.

Parameters

File Rest Pose

Specifies where to find the geometry file to use for the rest pose of the skeleton.

Geometry Path

Specifies a SOP node path to use for the skeleton rest pose.

This parameter is only available when File Rest Pose is set to Operator Path.

Arm Rotation Threshold

Specifies the angle (in degrees) between the arm and the body of the skeleton above which to start propagating the arm rotation to the clavicle joint.

Propagate Rotation

Specifies the percentage of rotation to propagate.

Hand Pin

Specifies the blend amount (0-1) between the hand’s position resulting from the operator and the hand’s position from the input.

Limit Clavicle Downward Rotation

When on, any downward rotation from the clavicle point is corrected. The rest pose is used as the rotation reference. This means that any rotation below the clavicle’s rest pose rotation will be corrected.

Active

When on, the point transforms will be run through a Two Bone IK before being set back to the joints inside the node. Turn this off if you want to manipulate the transforms of the arm joints further before setting them back to the joints.

Inputs

filerest

The geometry file to use for the rest pose of the skeleton.

claviclept

The point number of the clavicle joint.

shoulderpt

The point number of the shoulder joint. If no input is connected, the shoulder joint will automatically be the first child of the clavicle (first child based on point order).

elbowpt

The point number of the elbow joint. If no input is connected, the elbow joint will automatically be the first child of the shoulder (first child based on point order).

handpt

The point number of the hand joint. If no input is connected, the hand joint will be automatically be the first child of the arm (first child based on point order).

rotationthreshold

The angle (in degrees) between the arm and the body of the skeleton above which to start propagating the arm rotation to the clavicle joint.

propagaterotation

Percentage of rotation to propagate.

handpin

Blend amount (0-1) between the hand’s position resulting from the operator and the hand’s position from the input.

limitclavicledownward

When an input is connected, corrects any downward rotation from the clavicle point. The rest pose will be used as the rotation reference. Any rotation below the clavicle’s rest pose rotation will be corrected.

active

When on, the point transforms will be run through a Two Bone IK before being set back to the joints inside the node. Turn this off if you want to manipulate the transforms of the arm joints further before setting them back to the joints.

Outputs

out_claviclept

The clavicle point as an integer.

claviclexform

The world transform matrix of the clavicle point.

out_shoulderpt

The shoulder point as an integer.

shoulderxform

The world transform matrix of the shoulder point.

out_elbowpt

The elbow point as an integer.

elbowxform

The world transform matrix of the elbow point.

out_handpt

The hand point as an integer.

handxform

The world transform matrix of the hand point.

See also

VOP nodes