Houdini 22.0 Nodes Geometry nodes

Guide Deform geometry node

Deforms geometry with an animated skin and optionally guide curves.

On this page
Since 22.0

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.

Choosing a deform method

Guide Shape Interpolation

Captures rest-pose shape relationships between groom curves and nearby guide curves by comparing their arc-length-sampled shapes. Each groom curve is matched to the best-fitting guides based on spatial proximity and curve shape similarity — guides do not need to match groom topology or length. After capture, guide deformations are blended and applied while preserving each groom curve’s original shape.

Good for grooms with authored guides that roughly follow the hair’s natural flow. Unlike Guide Interpolation Mesh, no separate interpolation mesh is required, making it ideal for sparse guide rigs and varying hair density. Struggles when guide shapes differ drastically from groom curves, or when dense tangled regions need volume-based deformation (use Point Deform with a tet mesh instead).

Guide Reduce uses the same shape-comparison algorithm to select the minimal set of guides that can accurately reconstruct the full groom — making it the natural companion to this mode. Running Guide Reduce first ensures the guide set covers the shape space of the groom as efficiently as possible.

Guide Weights

Works like Guide Interpolation Mesh, but reads guides/weights attributes directly from the groom curves rather than from a separate mesh. The guide assignments are pre-computed — for example, by Hair Generate with Create Guide & Weight Attribs enabled, or by running this node in Capture Only mode and keeping the capture attributes. Deformation math is identical to Guide Interpolation Mesh and Guide Shape Interpolation.

Use this when guide assignments are already on the curves to skip per-frame capture overhead. Good for the same groom styles as Guide Interpolation Mesh.

Guide Interpolation Mesh

Blends sparse guide curves to deform dense renderable curves using weights stored on a guide interpolation mesh. You need an animated skin mesh, guide curves, and a guide interpolation mesh with guides/weights attributes as created by Guide Interpolation Mesh. The mesh acts as a spatial lookup table — every point encodes a guide blend recipe solved from biharmonic weights across the mesh, so nearby hairs naturally share similar guide influences.

Works well for fur, short hair, and many long hair styles where curves don’t get too tangled. For styles where tangling occurs, enabling Preserve Shape can help correct stretching and intersection artifacts. Choose this over Guide Shape Interpolation when you want explicit spatial control over guide influence regions via the mesh.

Surface Deform

Rigidly transforms each curve by a deformation frame computed from the skin’s rest position, surface normal, and tangent at the location closest to each curve root. As the skin animates the frame is updated and applied to the entire curve. Only requires the animated skin mesh with a rest attribute containing rest-pose surface positions.

Best for short fur, stubble, or simple rigs where skin deformation alone is sufficient. Not suitable for long hair that bends significantly or styles that need to be preserved — switch to a guide-based method if curves stretch or lose shape during animation.

Also works well as input to a Vellum hair simulation, where root points are typically pinned to the skin animation — the deformed curves provide a driven rest pose for the sim to start from.

Point Deform

Deforms curves using point capture: each point on a groom curve is captured by one or more nearby deformer points, then follows their movement. The deformer can be a polygonal mesh, tetrahedral mesh, or guide curves. For curve deformers, enable Use Orient Attribute and provide restorient/orient quaternion attributes on the deformer — these define local frames at each deformer point, transferring both translation and rotation to captured groom points.

You can pre-build point capture attributes (pCaptPts/pCaptWeights) using multiple Point Deform nodes for fine-grained control over capture regions, then use Deform Only mode to reuse them across frames without re-capturing.

A general-purpose point capture method, not specifically developed for hair. Can be an advantage when guide interpolation produces blending artifacts, or when you need direct one-to-one tracking (set Maximum Points to 1). Smooth tet capture can give good results for dense structures like braids, and Piece Attribute lets you limit capture to independent sections. Results depend heavily on deformer quality and capture settings.

There is overlap between these methods, and the best choice depends on the groom. You can also split your groom into separate prims and use different deform methods where appropriate — for example, Guide Interpolation Mesh for the main body fur and Point Deform for stray whiskers.

Parameters

Group

Select which curve primitives to deform. Leave empty to deform all curves.

Enable Deformation

When off, no deformation is applied. If the input geometry has a rest point attribute, its positions are used as the pre-deformed starting shape for the Preserve Shape solve. This lets you run the quasi-static solve on pre-deformed geometry without needing a skin or guide input.

Deform Method

Controls how the groom curves deform at render time. Each method needs a different combination of inputs.

Guide Shape Interpolation

Captures hairs against nearby guides by comparing arc-length-sampled curve shapes — guides do not need to match groom topology or length. Deformation method is equivalent to the one used in Guide Interpolation Mesh and Guide Weights mode. Requires Skin Prim and Guide Curve inputs. If no Guide Curve inputs are provided, this falls back to the Surface Deform method and deforms the hairs by the skin only.

Guide Weights

Blends nearby guide curves using guides/weights attributes already on the groom curves (for example, from the Hair Generate SOP with Create Guide & Weight Attribs enabled, or from a prior cook with Capture Only mode). Does not use a Guide Interpolation Mesh input. Requires Skin Prim and Guide Curve inputs. Deformation method is equivalent to the one used in Guide Shape Interpolation and Guide Interpolation Mesh mode.

Guide Interpolation Mesh

Blends nearby guide curves using weights stored on an interpolation mesh. Requires Skin, Guide Curve, and Guide Interpolation Mesh inputs. The mesh encodes guide assignments across its surface, so nearby hairs naturally share similar guide influences. Deformation method is equivalent to the one used in Guide Shape Interpolation and Guide Weights mode.

Surface Deform

Rigidly transforms each curve by a deformation frame computed from the skin’s rest position, normal, and tangent at the curve’s root point. Requires Rest Skin and Deformed Skin inputs. Does not use Guide Curve inputs. Fast and simple, but only suitable for short grooms where skin deformation alone gives acceptable results.

Point Deform

Deforms curves using point capture against a deformer. Requires Rest Guides and Deformed Guides inputs — these can be a polygonal mesh, tetrahedral mesh, or guide curves. Guide curves are supported only when Use Orient Attribute is enabled, providing quaternion-based frame transforms instead of topology-derived ones.

Treat Skin as Subdivision Surface

Evaluates the skin mesh using Catmull-Clark subdivision before computing surface deformation frames. This gives smoother per-curve transforms on meshes with large polygons or sharp creases, at the cost of additional compute. Disabled for Point Deform.

Use Orient Attribute

When enabled, builds point-deform transforms from deformer orientation attributes (restorient and orient quaternions) instead of deriving transforms from deformer neighbourhood topology.

This is required when using guide curves as the Rest Guides and Deformed Guides inputs, because curve topology does not provide stable neighbourhood-based transforms. Orient attributes solve this by providing explicit frame information: the orientation change (delta rotation) between restorient and orient is extracted and applied directly to captured groom points, enabling twist-aware deformation. Also works with mesh and tet mesh deformers for more reliable frame computation.

When enabled, the deformer must provide:

  • restorient attribute (rest pose quaternion)

  • orient attribute (deformed pose quaternion)

Orient Blend

Blends between position-only deformation (0) and full orient-augmented deformation (1) for the Guide Weights and Guide Interpolation Mesh methods. Only active when Use Orient Attribute is enabled. At 0, curves are positioned by blending guide translations only. At 1, guide orientations are also blended and applied to each deformed curve. Intermediate values mix both contributions.

Guide Shape Interpolation

Mode

Controls how guide assignments are computed and used.

Capture and Deform

Computes guide capture attributes and immediately uses them to deform. This is the default and handles everything in a single cook.

Capture

Computes and stores guides/weights on the geometry without deforming. Use this to cache the capture for reuse across frames.

Deform

Deforms using existing guides/weights attributes already on the geometry. Use after Capture mode to avoid re-capturing every frame.

Max Candidates

Number of nearby guide root points to consider when assigning guides to each hair. Higher values improve assignment quality at the cost of performance.

Min Guides

Minimum number of guides kept for each hair. Guides with weights below Weight Threshold are normally dropped, but this many are always kept — the highest-weighted guides are retained even if they fall below the threshold. Increase this to ensure smoother blending in areas with few good guide matches.

Max Guides

Maximum number of guides blended for each hair. Only the best-scoring candidates (up to this count) are considered for weighting. Higher values allow more guides to contribute but increase memory and compute cost.

Blur Width

Controls the width of the Gaussian falloff applied to guide shape distances when computing blend weights. The algorithm compares each groom curve’s shape to nearby guide curves via arc-length sampling, then applies a Gaussian weight function to convert those distances into influence weights.

Increase this to make weighting wider so guides with slightly worse shape matches still receive significant weight, producing smoother, more diffuse blending. Decrease it to make weighting sharper so only guides with the best shape matches contribute, creating more distinct guide regions.

Weight Threshold

Guides with normalized weights below this value are dropped. At least Min Guides are always kept regardless of this threshold. Lower values keep more low-weight guides, producing smoother blending at the cost of more guides per hair.

Length Penalty Scale

Penalizes guide curves whose total arc-length differs significantly from each groom curve’s length. The penalty is the squared ratio difference: (guideLength / groomLength - 1)². At 0 (default), length differences have no effect and guides are chosen by shape match and proximity alone. Increase this to prefer guides with similar total length, which reduces visible stretching or compression when guides don’t closely match the groom’s proportions.

Delete Capture Attributes

Removes guides and weights from the output after deformation. Keep this on unless you need to inspect or cache the guide assignment attributes.

Point Deform

Smooth Capture / Tet Capture

Enable this to use connectivity-aware smooth capture instead of BVH point capture. Smooth capture is equivalent to the Point Capture SOP, while BVH capture is equivalent to the capture built into the Point Deform SOP. Smooth capture prevents geometry bleed-through between neighboring features and gives smoother results, especially with small capture radii. Requires the deformer to be a Mesh or TetMesh.

Only visible when Deform Method is Point Deform.

Mode

Controls how capture attributes are computed and used.

Capture and Deform

Computes point capture attributes and immediately uses them to deform. This is the default and handles everything in a single cook.

Capture

Computes and stores pCaptPts/pCaptWeights on the geometry without deforming. Use this to cache the capture for reuse across frames.

Deform

Deforms using existing pCaptPts/pCaptWeights attributes already on the geometry. Use after Capture mode to avoid re-capturing every frame.

Radius

Maximum distance (in world units) from each curve point to search for nearby deformer points during capture. Smaller values give more localized deformation but may leave points uncaptured if the deformer is far away.

Minimum Points

If a curve point finds fewer deformer points than this within Radius, the search radius expands until at least this many are found. Prevents points from being left undeformed at the cost of potentially introducing wider-radius influence.

Maximum Points

Maximum number of deformer points that can influence each curve point. Only the closest points within Radius are kept. Lower values are faster but may increase visible discontinuities when the deformer moves. Set to 1 to force each curve to follow only its single nearest deformer point — useful when deforming a full-resolution groom against a matching guide groom.

Piece Attribute

Name of a string or integer point attribute that identifies separate capture pieces. When set, curves only capture from deformer points in the same piece. Leave empty to ignore pieces.

Pre-Separate Pieces

When enabled, curves are prevented from capturing deformer points in different pieces before the capture radius is applied. Disable this if you want guides from one piece to influence adjacent pieces.

Delete Capture Attributes

Removes pCaptPts and pCaptWeights from the output after deformation. Keep this on unless you need to inspect or cache the capture attributes. This toggle is disabled in Capture mode since the attributes are the output.

Smooth Point Capture

Capture Radius

Maximum distance (in world units) from each projected location on the capture geometry to search for connected primitives. A smaller radius reproduces local animation more accurately but may produce chunking artifacts. Decrease this if you see geometry bleed-through; increase it if you see chunking.

Kernel Type

Function used to convert capture distances to capture weights. The kernel is integrated over the capture radius on the surface of the capture geometry, and the result is distributed to intersecting primitives.

Exponential Bump

Smoothest option. Works well for most cases.

Truncated Gaussian

Less smooth than Exponential Bump, but faster to compute.

Quadratic

Falloff is the normalized squared distance from the capture sphere boundary.

Linear

Falloff is the normalized distance from the capture sphere boundary.

Smoothing

Smoothing Method

Controls how capture weights are smoothed to avoid artifacts from small capture radii.

Approximating (prefer extra smooth)

Gives the smoothest deformations, but follows the animation less accurately.

Interpolating (prefer extra accurate)

Follows the animation as accurately as possible while still smoothing out a small capture radius.

No smoothing

Applies no smoothing. With a small capture radius, this may produce visible chunking artifacts.

Smoothing Level

Amount of smoothing applied to the capture. Higher values give a smoother capture surface and smoother deformation. Increase this if the result looks too rough.

Capture Geometry Treatment

Tet Mesh Treatment

Controls how tetrahedral meshes in the deformer are handled during capture.

Only consider the surface of the capture tet mesh

Only uses the triangular surface faces of the tet mesh, ignoring interior points.

Treat the capture tet mesh as a solid volume

Uses the entire tet mesh as a solid volume.

Ignore all tets in the capture geometry

Ignores tetrahedra in the capture geometry entirely.

Preserve Shape

Runs a Cosserat rod quasi-static relaxation pass after deformation. This corrects stretching and bending artifacts by iteratively solving for physically plausible curve shapes, starting from the deformed positions.

Preserve Shape

Turn this on to enable the quasi-static relaxation pass.

Iterations

Number of solver iterations. Higher values converge more accurately but take longer.

Stretch Stiffness

Resistance to stretching along the curve. Higher values preserve rest-length edge lengths more strongly.

Bend Stiffness

Resistance to bending. Higher values make curves stiffer, preserving rest-pose curvature more strongly.

Ref Pos Strength

How strongly points are pulled back toward their reference (rest) positions. Acts as a soft constraint that attracts points toward their original shape.

Lock Roots

Keeps curve root points fixed during relaxation so they stay attached to the skin surface.

Preserve Clumps

Applies soft constraints that pull curves toward nearby clump neighbors during the quasi-static solve, producing bunched or clumped hair shapes.

Enable

Enables clump constraints for the quasi-static solve. When on, each curve is attracted toward nearby curves weighted by Stiffness. Neighbors are found dynamically using Max Neighbors and Max Constraints. If clumppts/clumpdists attributes are already present on the groom, they are used as pre-computed targets instead, skipping the dynamic search.

Stiffness

How strongly each curve is pulled toward its clump neighbors.

Damping

Damping factor for the clump constraint. Higher values reduce oscillation in the clump stiffness solve.

Max Neighbors

Maximum number of nearby curves to consider as clump candidates for each curve. Higher values allow more clumping partners but increase solve cost.

Max Constraints

Maximum number of active clump constraints per curve. Only the closest candidates (up to this count) are kept. Lower values produce fewer but stronger clump pulls per curve.

Locals

See also

Geometry nodes