Houdini 22.0 Nodes Geometry nodes

Pose Difference geometry node

Computes the difference between point transforms on two SOP skeletons.

On this page
Since 18.5

This node allows you to store the difference between the transforms of corresponding points in the two inputs. The inputs can be topologically-different skeletons that have been mapped using the Map Points SOP.

The difference can be computed between world or local transforms, or any custom matrix attribute that is present on both inputs (for example, a rest_transform attribute). You can also store the difference between animated inputs on a given frame or the current frame of the animation. For example, if you have a T-pose on frame 1 of an imported animation, you can compute the offset using that frame, or compute the local space delta for an animated skeleton from a 'rest' position specified on the second input.

Parameters

Frame

When turned on, stores the difference between the transforms at the specified frame.

Map Using

Specifies how to match points between the two inputs.

Mapping Attribute

Uses the Mapping Attribute Name on the first input to look up the drivers on the second input. This attribute is created by the Map Points SOP, but any dictionary attribute matching the following format can be used:

{
    'reference': string, 
                 // The point attribute on the driver
                 // skeleton to use as the reference.
                 // If set to "ptnum", the point number 
                 // is used.
    'value': string or int 
             // The value of the point attribute 
             // on the point to use as the driver.
}

Match by Attribute

Matches points on the first input to corresponding points on the second input using the attribute in Attribute to Match. For example, if Attribute to Match is set to name, the points on the first input will be driven by points on the second input that share the same name. This option is useful when the second input contains a subset of the first input’s points.

Point Number

Performs a simple match by point number between the two inputs.

Mapping Attribute Name

When Map Using is set to Mapping Attribute, this is the dictionary point attribute on the first input that is used to look up the drivers on the second input.

Attribute to Match

When Map Using is set to Match by Attribute, this is the point attribute that is used to match points between the first and second inputs.

Use Transform

The transforms to use to compute the difference.

World Transform

Computes the difference between the world transforms on the matching points.

Local Transform

Computes the difference between the local transforms on the matching points.

Custom

Computes the difference between the transforms on the matching points in the 4×4 matrix attribute specified by Input Attribute Name.

Input Attribute Name

When Use Transform is set to Custom, this is the attribute to use to compute the transform delta.

Note

This attribute must be present on both inputs for the transform delta to be computed properly.

Output Attribute Name

The name of the point attribute that stores the difference.

Components

A mask that specifies the parts of the transform to extract the difference from. This can be any combination of translate, rotate, and scale.

Invert

When turned on, inverts the computed difference.

Apply Offset Inplace

When turned on, immediately applies the computed offset to the first input geometry.

Inputs

Skeleton

The skeleton onto which the offsets are stored.

Reference Skeleton

The skeleton to use as the reference for computing the offsets.

Outputs

Skeleton

The first input skeleton with the computed offsets stored.

See also

Geometry nodes