Houdini 21.0 Nodes Geometry nodes

Bone Deform geometry node

Uses capture attributes created from bones to deform geometry according to their movement.

On this page
Since 17.0

Tip

This node supports the character muscle/joint deformation workflow. To do a cage deformation of geometry, use the Lattice Deform SOP.

The Bone Deform SOP works in conjunction with the bone capture nodes (Bone Capture SOP, Bone Capture Proximity SOP, Bone Capture Biharmonic SOP) to deform geometry. As the bones move, this node displaces the points on the geometry according to the point weights.

Typically, one or more capture regions are placed in an object (usually a bone) and named “capture_region”. The object is read into a capture operation through the object’s hierarchy. A deform operation then moves the object, deforming the capture’s geometry.

To compute the deformation, this node can use the Linear or Dual Quaternion skinning methods, or mix both solutions linearly.

Starting in Houdini 18.0, the Bone Deform SOP can be used with point attributes in its second and third inputs:

Note

This node currently only deforms in 32-bit precision even if the attributes themselves are in 64-bit precision.

Attributes

boneCapture

This required attribute defines the rest transforms and skinning weights for the deformation. It can be created by various SOPs such as the Bone Capture Biharmonic SOP, Bone Capture Proximity SOP, or Bone Capture SOP.

Parameters

Group

Optional point and/or primitive groups that limit the points that are deformed.

Skeleton Root Path

The parent OBJ for the bones that are attached to the input geometry. If empty, the pCaptSkelRoot detail attribute is used.

Skinning Method

Specifies the deformation method.

Linear

The standard and fastest method. However, artifacts can occur for twisting geometry between two bones, producing volume loss. To fix these artifacts, introduce additional bones to even out the deformation.

Dual Quaternion

Dual quaternion skinning is an alternate way of computing the deformation from bones. This method is better than the traditional Linear skinning for deforming twisting geometry and preventing volume loss. This is often used for body parts, such as a character’s shoulders.

Blend Dual Quaternion and Linear

Blends the deformation computed using the Linear and Dual Quaternion methods based on the point attribute specified in Blend Attribute. A blend attribute value of 0.0 uses the Linear skinning solution, a blend value of 1.0 uses the Dual Quaternion solution, and a blend value of 0.5 evenly mixes the two solutions.

From Input Geometry

The deformSkinMethod global attribute provides the skinning method, where the string value linear specifies Linear skinning, dualquat specifies Dual Quaternion skinning, and blenddualquat specifies Blend Dual Quaternion and Linear skinning. The deformDualQuaternionBlendAttrib global attribute also provides the Blend Attribute name.

Blend Attribute

When Skinning Method is set to Blend Dual Quaternion and Linear, this is the name of the floating point attribute to use when blending the dual quaternion and linear solutions.

Transforms Path

An optional path to a CHOP node that contains channels for the world bone transforms, overriding the current state of the bones. The Extract Bone Transforms CHOP can be used to capture the bone transforms.

The deformTransformsPath detail attribute is used by default when this parameter is empty.

Other Attributes

The name of other attributes (beyond positions and normals) to deform. This is typically a list of attribute names separated by spaces, but pattern characters such as '*' can also be used to match multiple attributes. An attribute’s type qualifier (see the Attribute Create SOP) is used to determine whether the geometry can be transformed. Only attributes with the “transforming” type qualifiers of Position, Vector, Normal, Quaternion, or Transform Matrix can be deformed. Attributes that don’t have these type qualifiers are ignored.

Deform Normals

When turned on, deforms the normals to match the deformation of the points.

Note

If Deform Normals is turned off, this also prevents the deforming of normals that are matched in the Other Attributes parameter.

Delete Capture Attributes

When turned on, deletes capture attributes such as boneCapture, pCaptAlpha, pCaptSkelRoot, and pCaptFrame to lighten the geometry data.

Delete Point Colors

When turned on, deletes the point color attribute to lighten the geometry data.

Use OpenCL

When turned on, enables GPU acceleration using OpenCL. When turned off, the CPU path is used.

Inputs

Geometry to Deform

The skin geometry to deform. It’s required to have a boneCapture attribute (for example, created by the Bone Capture Biharmonic SOP).

Rest Point Transforms

The capture paths from the first input’s boneCapture attribute are matched with the name point attribute in this input to provide rest transforms that override the values in boneCapture. These transforms are provided from the input’s P and transform (matrix3) point attribute values.

Deform Point Transforms

The capture paths from the first input’s boneCapture attribute are matched with the name point attribute in this input to provide deformation transforms instead of obtaining them from the Bone nodes in the scene. These transforms are provided from the input’s P and transform (matrix3) point attribute values.

See also

Geometry nodes