Houdini 20.5 Nodes Geometry nodes

Dem Bones Skinning Converter geometry node

Generates and assigns capture weights to points based on the Smooth Skinning Decomposition with Rigid Bones algorithm.

On this page
Since 20

Dem Bones - © Electronic Arts 2019

This node creates captures weights on geometry that is to be deformed by the Bone Deform SOP. The capture weights are computed using an implementation of Smooth Skinning Decomposition with Rigid Bones, an automated algorithm that extracts the Linear Blend Skinning (LBS) with bone transformations from a set of example meshes.

Skinning decomposition can be used in various tasks:

Note

This node can only handle clean input data, for example, only one piece of connected geometry. If this node takes a really long time to process, it may have gotten stuck while trying to find a solution. To fix this, set the Min Non-Zero Weights parameter to 1.

Parameters

Conversion Settings

Input Animated Cache

The path to the Alembic geometry cache that contains the animated mesh sequence used to compute skinning weights.

Bones

Max Number of Bones

The maximum number of bones that can be generated.

Note

Due to the possibility that more efficient solutions may be found during conversion, the actual output may be lower than the number specified by this parameter.

Solve Iterations

Global Iterations

The number of global iterations to process during the conversion. This functions as a scalar for the number of optimizations that have to be calculated. For more complex scenes, increase this value.

Error Tolerance

The algorithm keeps track of the decreasing errors during iterations, and increments a counter if the reduction is less than the threshold specified by this parameter. This allows the algorithm to stop optimizing early if no improvement is found after the number of iterations specified by the Patience parameter.

Patience

The number of iterations to wait before stopping early when no improvement is found that is incrementally better than the threshold specified by the Error Tolerance parameter.

Splitting Iterations

The number of clustering update iterations that are applied on initialization.

Transform Iterations

The number of bone transformation update iterations per global iteration. Dem Bones performs multiple bone transform updates after each update on the weights.

Soft Constraints

Translations Affinity

Activates a soft constraint that forces bone translation that follows the centroid of the patch supported by that bone. Values greater than 0 turn on the soft constraint, and values less than 0 turn off the soft constraint.

For many use cases, a value of 0 (no constraint) may be required. Whether or not to use higher values should depend on numerical stability and whether optimization can converge or not.

P-Norm

The power used to compute the centroid of the patch. Higher values move the centroid of the bones closer to the vertices with max weights (soft-max).

Weights

Weights Iterations

The number of weight updates to perform after each bone update. 1-5 iterations usually produce good results. These iterations are very expensive, so it is better to increase the Global Iterations than to increase the number of Weights Iterations.

Smoothness

Controls the weights smoothness for the generated soft constraint.

Step Size

The step size of the Implicit Laplacian smoothing on the weights for the soft constraint.

Min Non-Zero Weights

The number of non-zero weights per vertex required for the conversion to succeed.

Inputs

Rest Geometry

The geometry to capture. The geometry must be closed.

Capture Geometry

The SOP skeleton to capture the Rest Geometry input to.

Outputs

Rest Geometry

The skin geometry with capture attributes (boneCapture point attribute).

Attributes

boneCapture

Attribute added to the Rest Geometry output that defines the skinning weights for the deformation, ready for use with the Joint Deform SOP.

See also

Geometry nodes