This node deforms geometry using another deforming geometry. This is typically used for deforming hair curves with an animated character mesh.

It can also deform the input geometry using guide curves.

The input geometry can be hair curves, for example the dense hair of a character, generated in the rest position.

The operator can also deform arbitrary geometry.

## Parameters

Mode

Deform only by Skin

Deforms the input geometry by the difference between rest and animated skin geometry.

Guide Capture and Deform

Finds nearby guides in the rest geometry for each point in the first input’s geometry and assigns weights to them depending on their distance to the guide.

Each point is then deformed by the difference between rest and animated guides.

Guide Capture

Finds nearby guides in the rest geometry for each point in the first input’s geometry and assigns weights to them depending on their distance to the guide.

The result is output as `guides`

and `weights`

attributes. These can be used to deform the geometry with another Guide Deform SOP, with its mode set to **Guide Deform**.

Guide Deform

Uses the `guides`

and `weights`

attribute output by another Guide Deform SOP to deform each point in the first input by the difference between rest and animated guides.

## Capture

Guide Coverage

Ensure that each point is captured & deformed by at least this many guides.

Use Guide Radius Attribute

Use an attribute on the guides to determine their influence radii.

Guide Radius Attribute

The name of the attribute specifying the guide influence radius.

Compute Radius From Guide Coverage

Compute a radius automatically, such that each point will find roughly the number of guides specified by **Guide Coverage**.

This makes it easier to deform by guides that have varying density across the skin geometry. For example when using more guides in the face of a character.

Radius

When **Compute Radius From Guide Coverage** is disabled, this sets an absolute radius to use.

Limit Segments Per Guide

Limit the number of capture segments per guide. This helps manage the amount of memory (or disk space) the weight information takes up.

Segments Per Guide

The maximum number of segments that each point in the first input can be captured by.

Expand Radius for Uncaptured Points

Expands the radius for points that aren’t covered by the number of guides specified by **Guide Coverage**.

This allows using a small number of guides (or a small radius) overall, which is necessary to preserve finely detailed guide movement, while covering points that may otherwise not be captured by the required number of points.

Expansion Iterations

The maximum number of times the radius is expanded. The loop is stopped early if each point has been captured by the number of guide specified by **Guide Coverage**.

Expansion Factor

The factor by which the radius is multiplied in each expansion iterations.

## Deform

Geometry to Deform

Hair Curves

Deform the input geometry as hair curves. The main difference is that the first point of each primitive is expected to sit on the rest skin geometry, and this constraint is preserved on the animated skin.

Arbitrary Geometry

Deform any geometry. Note that this works for hair curves as well, but shouldn’t be used for these because it doesn’t preserve the constraints mentioned above.

Rigidly Transform Pieces

Computes a rigid transform for each piece that matches the soft guide deformation as closely as possible.

Pieces are identified by connectivity or by an attribute when **Use Piece Attribute** is enabled.

Use Piece Attribute

Use an attribute rather than connectivity to identify pieces.

Piece Attribute

The attribute to identify pieces by. All points with the same value are considered a single piece.

Attributes to Transform

Attributes on the first input’s geometry to deform.