Houdini 20.5 Nodes Geometry nodes

Pose Difference geometry node

Compute 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 transform on a given point on the first input to a corresponding point on the second input - these inputs can be two topologically similar skeletons or two completely 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 (a rest_transform attribute, for example). You also have the option to store the difference between animated inputs on a given frame, or on the current frame of the animation. For example, if we have a t-pose on frame 1 of an imported animation then we can just compute the offset using that frame, however we could use the latter approach to compute the local space delta for an animated skeleton from a given 'rest' position that we specify on the second input.

Parameters

Frame

When enabled this will store the difference between the transforms at the given frame.

Map Using

This parameter allows you to choose whether to use a dictionary attribute on the first input to look up the drivers on the second input or simply to match by an attribute present on both inputs. For example, the second option is useful when the second input contains a subset of the first input’s points.

Mapping Attribute

Use a dictionary point attribute present on the first input to look up the drivers on the second input. This attribute is created for you 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 reference. If set to "ptnum", the point number will be used.
    'value': string or int // The value of the point attribute on the point to use as the driver.
}

Match By Attribute

Match points on the first input to corresponding points on the second input using a given point attribute. For example, if Attribute To Match is set to 'name' then the points on the first input will be driven by points on the second input that share the same name.

Point Number

Perform a simple matching by point number between the two inputs.

Use Transform

World Transform

Compute the differences between the world transforms on the matching points.

Local Transform Custom

Compute the differences between the local transforms on the matching points.

Custom

Compute the differences between the transforms on the matching points found in the 4×4 matrix attribute specified by Input Attribute Name.

Input Attribute Name

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

Note

This attribute must be present on both inputs in order to be properly computed.

Output Attribute Name

The name of the point attribute that the difference will be stored on.

Components

A mask to specify which parts of the transform we wish to extract the difference from, this can be any combination of Translate, Rotate and Scale.

Invert

Invert the difference computed.

Apply Offset Inplace

Immediately apply the computed offset to the first input geometry.

Inputs

Skeleton

The skeleton onto which the offsets will be stored.

Reference Skeleton

The skeleton to be used as reference for computing the offsets.

Outputs

Skeleton

The first input skeleton with the computed offsets stored.

See also

Geometry nodes