# Curve 2.0geometry node

Lets you interactively draw Bézier curves using tools similar to 2D illustration programs, as well as polylines and NURBS.

## Overview

This node’s interactive state lets you draw and edit cubic Bézier curves using tools similar to 2D illustration programs like Illustrator, Sketch, and InkScape. This is very useful for drawing “artistic” curves by hand. For example, tracing images, drawing logos, drawing profile curves to extrude, revolve, and so on.

While drawing a Bézier curve, you can insert arc segments. (Technically the arcs are not perfectly round, because this node does not create weighted Bézier curves.)

This node also includes an “Auto-Bézier” mode, similar to Illustrator’s Curvature tool, which lets you “guide” a curve by placing edit points, without having to worry about tangents.

You can set corners as rounded, and control the radius of each corner with a draggable grip. These corners remain editable while you use the node, then are “baked” into the curves.

You can also use this node to draw polylines, non-cubic orders of Bézier curves, and NURBS. However, when you are drawing these other types, you simply click to place each point, and Houdini interprets the point according to the curve type, without the special support for drawing tangents you get when drawing cubic Bézier curves.

### Terms

Edit points

Also called on-curve points, breakpoints, or knots. In a cubic Bézier curve, the curve passes through these points.

Tangent handles

Also called control points. In a cubic Bézier curve, these control the direction of the curve going into and coming out of an edit point.

Corner point

An edit point where the tangents have zero length or point in different directions, causing a sharp corner. This is sometimes called having broken tangents.

Smooth point

An edit point where the node keeps the tangents together in a line, so the curve has smooth tangent continuity as it goes through the point.

Balanced point

An edit point where the node keeps the tangents together in a line, and also enforces that the tangent points are equal distance from the edit point, so the curve has smooth curvature continuity as it goes through the point.

Modes

While the Curve tool’s state is active, you can be in one of three modes: the Pen (drawing) mode, the Edit mode, or the Auto-Bezier mode. The buttons for these modes are in the operation toolbar across the top of the viewer when the node’s state is active.

## Using the interactive state

• With the Curve node selected, click the Handles tool (to the left of the viewer), or move the mouse over the viewer and press Enter.

The Handles tool lets you interact with the current node’s state/handles in the viewer. You can switch between the Handles tool and other tools (View, Select, Move, Rotate, Scale) to change the view and manipulate objects in the scene.

• Because of how Houdini works, pressing ⎋ Esc will switch from the Handles tool to the View tool. This can be confusing if you just meant to cancel drawing. To get back to the Handles tool (and the curve node’s state), make sure the Curve node is still selected, move the mouse over the viewer, and press Enter.

## Drawing Bézier curves

In Draw mode, click or drag in empty space to start a new curve, or click/drag an the start or end point of an existing curve to continue drawing the curve.

To...Do this

Place a corner point

• Click to place a corner point.

Place a smooth point

• Press to place the point, and without releasing the mouse button, move to drag out tangent handles.

Switch from a smooth curve to a straight line

• Hold ⌃ Ctrl + ⇧ Shift to straighten the current segment.

Switch from a straight line to a smooth curve

• Hold ⌃ Ctrl and press to place a point, then drag out the outgoing tangent handle.

Draw two curve segments connected by a corner (broken tangents)

1. Press to place the point, and without releasing the mouse button, move to drag out tangent handles.

2. With the mouse button still down, press ⌃ Ctrl to “freeze” the incoming tangent, so you are now only dragging the outgoing tangent.

(You can release ⌃ Ctrl to go back to dragging the tangents together.)

3. Drag the outgoing tangent to where you want, then release the mouse button.

1. After placing the a point, press and hold A.

2. The arc segment uses the outgoing tangent of the previous point. As you move the mouse with the A key held down, the node shows a preview of the arc from the previous point to the pointer.

3. Click to place the end point of the arc segment.

You can then release A to switch back to normal drawing, or keep holding A to draw more arc segments.

Edit points while drawing

• Press ⌦ Del to delete the previous point.

Finish the curve

• Click the start point to close the curve. (You can also drag to edit the tangents on the point.)

or

• Click Close Curve on the toolbar to automatically connect the previous point to the first point.

or

• Press Enter to finish drawing the (open) curve.

or

• Switch to the Edit mode.

## Drawing with the Auto-Bézier mode

In Auto-Bézier mode, you can only click to place points (there are no tangent handles). The relative placement of the points controls the direction and curvature of the curve. The preview shows the new shape of the curve if you add a point at the current pointer location.

With some practice, you can learn how to place points (closer together or farther apart) to control the curve’s “turning speed” and its shape.

To...Do this

• Click to add a smooth point.

• Hold ⌃ Ctrl and click to add a corner point.

Finish the curve

• Click the start point to close the curve. (You can also drag to edit the tangents on the point.)

or

• Click Close Curve on the toolbar to automatically connect the previous point to the first point.

or

• Press Enter to finish drawing the (open) curve.

or

• Switch to the Edit mode.

## Editing curves

To...Do this

Select a point or points using the Edit mode

• Click a point to select it.

• Drag a selection box around multiple points to select them.

• Click a curve segment to select the edit points at the start and end of the segment.

• Hold ⇧ Shift and click a point to add it to the selection.

Make a smooth point into a corner (break tangents)

• Click a point to show its tangent handles.

• Hold ⌃ Ctrl and drag one of the tangent handles to move it independently of the other.

Change points from corner to smooth to balanced

1. Click a point to select it.

2. Do one of the following:

• Click Make Corner in the toolbar, or press 1.

• Click Make Smooth in the toolbar, or press 2.

• Click Make Balanced in the toolbar, or press 3

Reshape a Bézier curve

Do any of the following:

• Select a point to show its tangent handles. Drag a tangent handle to change the direction and speed of the curve going into or out of the point.

• Press on a curve segment (between edit points) and drag. The node will manipulate the tangents to shape the curve interactively as you drag it.

• Drag the line connecting the tangent handles to rotate the tangents without affecting their distances from the point.

• Select a curve segment and click the Make Straight button in the toolbar.

Move a point

• Select a point and drag it to move it.

Move a point in 3D space

1. Select the point.

2. Press K to show the transform handle.

3. Use the handle to move the point in 3D space.

You can press K again to hide the handle when you're finished.

Move an entire curve

• Hold ⇧ Shift and drag the curve.

Insert a point in the curve

• Hold ⌃ Ctrl and click the curve where you want to insert the new point.

Split a curve at a point

1. Select the point at which you want to split the curve.

2. In the toolbar, click Split at Selected Points.

Fuse two open endpoints

1. Select two endpoints.

2. In the toolbar, click Join Selected Points

Join two open endpoints with a line

1. Select two endpoints.

2. In the toolbar, click Add Segment Between Endpoints.

Delete a point

1. Select the point.

2. Click Delete Point in the toolbar, or press ⌦ Del.

The node reshapes teh curve to try to approximate its previous shape without the deleted point.

Delete a curve segment

1. Select a segment in the curve.

2. In the toolbar, click Delete Segment.

Make a corner rounded

1. Select a corner point.

2. In the toolbar, click Rounded Corner.

3. Drag the Radius grip to change the radius of the rounded corner.

To go back to a sharp corner, select the rounded segment or the radius grip, then in the toolbar, click Remove Rounded Corner.

Reverse a curve

1. Select one or more points on the curve.

2. Click the Reverse button in the tooblar.

Clear all curves

• In the parameter editor, click Reset operations.

or

• Click the Edit mode, then press ⌃ Ctrl + A to select all points, the press ⌦ Del.

## Operation toolbar

 Primitive Type Sets what kind of curve(s) this node creates. Edit mode F Edit existing curves. See editing curves. Draw mode G Draw new curves. See drawing curves. Auto-Bézier mode H Draw Bézier curves using a simpler “path guiding” method. See using Auto-Bézier. Delete Point ⌦ Del Deletes the selected point (if any). Join Points Fuses the selected endpoints (if any) into a single point. If the two endpoints belonged to separate curves, the result is a single merged curve. Split Point Splits the selected point (if any) into two separate points. Depending on where the point it, it may also split the curve into two curves. Add Segment Between Points Inserts a new straight segment between the two selected endpoints (if any). Delete Segment Deletes the selected segment, leaving a gap in the curve. Depending on where the points are, this may split the curve into two curves. Make Selected Point Corner 1 Sets the selected point(s) (if any) to be corners, where the user can position the tangent handles independently. Make Selected Point Smooth 2 Sets the selected point(s) (if any) to be corners, where the tangents have the same direction but may have different “speeds” going into and out of the point. Make Selected Point Balanced 3 Sets the selected point(s) (if any) to be corners, where the tangents have the same direction and speed, creating curvature continuity across the point. Retract Tangents Sets the selected point(s) (if any) to have zero-length tangents, like straight corners. Expand Tangents Sets a certain minimum distance on the tangent handles of the selected point (if any), to make it possible to grab and move them. Make Segment Straight Makes the points on either side of the selected segment into corners, and retracts the tangents, so the segment becomes a straight line. Close Curve If the curve is open, adds a segment from the last point to the first point. Round Corner Make the selected corner point(s) rounded. You can then drag the radius grip to change the corner radius. Remove Round Corner Remove rounding from the selected corners (select the rounded segment or the radius grip first). Reverse Reverses the direction of the selected curve, so the start point becomes the end point.

## Shortcut reference

 C Show a radial menu with the commonly used modes and actions. K Show/hide a transform handle on the selected point.

### Draw mode

 G Switch to Draw mode. ⌃ Ctrl + ⇧ Shift Start straight segment after curved segment. ⌃ Ctrl + Drag Start curved segment after straight segment. ⌃ Ctrl while dragging tangents Freeze other tangent handle in place. Hold A Make circular arc segment.

### Auto-Bézier mode

 H Switch to Auto mode. ⌃ Ctrl + LMB Add sharp corner.

### Edit mode

 F Switch to edit mode. ⌃ Ctrl click curve Insert a point. ⌃ Ctrl click point Make point a sharp corner. ⇧ Shift click curve Select entire curve. ⇧ Shift drag curve Move entire curve. Drag on curve Reshape Bézier curve, or move polyline/NURBS segment. 1 Make selected point(s) corner. 2 Make selected point(s) smooth. 3 Make selected point(s) balanced. MMB drag point Re-pull tangent handles. Drag tangent handle line Rotate tangent handles without affecting distances. ⇧ Shift while moving points/handles Constrain to vertical, horizontal, or diagonal.

## Tips and notes

• You can connect curve geometry to this nodes input to edit existing curves (or reinterpret existing curve points as a new type of spline). See Inputs for more information.

• In a Perspective viewport, interactive drawing automatically snaps to the plane the view is facing (or, if the construction plane is active, to the construction plane).

You may want to switch to an orthographic viewport so you can draw on a flat plane without worrying about skew from the camera angle.

• You can select an edit point or control point and press K to show a transform handle to move the point in 3D space.

• There may be issues with drawing curves in a shaded display mode. The OpenGL viewer does not do always do a perfect job filling Bezier curves. Even when just drawing polylines, having closed curves be filled/shaded can be distracting. You can press W in the viewer to switch to wireframe mode to view closed curves without shading.

• You can turn the little radius labels on rounded corners on or off in the parameters.

## Inputs

Input Curves

The node finds curves in the first input and makes them editable using this node’s interactive modes. This is useful when you have existing curves and you want to use this node’s interactive features to extend or reshape them.

However, if you just want to add new curves to existing geometry, you will need to adjust the Group parameter.

The Group parameter specifies which primitives in the input you want to be able to edit. The default is empty, meaning all input geometry. This can be awkward if you just want to add new curves to the input geometry, not edit existing curves.

Use the following instructions based on whether the input contains all curves you want to edit, no curves you want to edit, or some curves you want to edit.

If the input contains only curves you want to edit

Connect to the input and use the defaults.

If the input contains goemetry you don’t want to edit, you just want to add curves

Connect the input, set Group to `!*` (matches nothing) so none of the incoming primitives become editable curves.

The input contains some curves you want to make editable, and other geometry you just want to pass through

Connect the input. Set Group to the primitive numbers of the curves you want to edit. You can use the Reselect button to the right of the field to select the curves interactively in the viewer.

## Outputs

The output is a set of curve primitives, of the type set with the Primitive type parameter. If you want to resample the drawn curve as a polyline, add a Convert node after this node.

## Parameters

Group

A primitive group in the input geometry determining the primitives to edit.

Primitive Type

Type of curve primitives to create.

Polygon

Create a polyline.

NURBS Curve

Create a NURBS curve.

Bezier Curve

Create a Bézier curve.

Order

The order of the NURBS or Bézier curve. Higher order curves give more control vertices and smoother curve interpolation between on-curve knots. However, you should generally use the default order (4) unless you have a reason for needing higher-order curves. Note that changing the Order changes the interpretation of all existing curves to use the new order value.

The drawing mode is optimized for cubic Bézier curves (Order set to 4, the default). For higher-order Bézier curves, the drawing interface is the same as for cubic Bézier curves, but after you drag out the tangent handles, the node creates more than one tangent handle on the trailing side of the point. It creates the extra control points in line, so they have the same shape as a cubic Bézier would, but after you're finished drawing you can use the Edit mode to move the extra control points independently.

For NURBS, the drawing interface is always the same: placing points by clicking.

Mode

The mode that the tool is currently in.

Select/Edit Mode

Modifies existing curves.

Draw Mode

Puts down new points.

Auto-Bezier Draw Mode

Put down new points when creating Bezier curves. Tangents will be optimized to create a bezier curve continuous in the first and second derivatives. Previous points will be optimized until it either reaches back to the start of the curve, or a corner point.

Delete Selected Points

Removes the selected point(s), if any.

Join Selected Points

Fuses two selected points together.

Split Curves at Selected Points

Splits the curve at each selected point.

Joins the two selected points with a straight line.

Delete Segments Between Selected Points

Removes any selected segments, possibly splitting curves around selected segments.

Make Selected Points Corner

Turns an anchor point into a corner point.

Make Selected Points Smooth

Turns an anchor point into a smooth point, possibly snapping handles to be aligned.

Make Selected Points Balanced

Turns an anchor point into a balanced point, possibly snapping handles to be aligned.

Retract Tangents at Selected Points

Collapses the bezier handles down into a sharp bezier corner point.

Expand Tangents at Selected Points

Expands out the bezier handles to be intractable, if the selected point is collapsed.

Make Segments Between Selected Points Straight

Collapses the handles on the ends of the selected segments, converting the segment into a straight line.

Close Selected Curves

Closes all curves with at least one point selected.

Reverse

Reverse selected curves.

Reset Operations

Resets all modeling operations that have been done. Will reset the output geometry to the input geometry.

Snap Tangents when Fusing Ends in Draw Mode

Whether to snap the final tangent when fusing curves together or closing curves by clicking on the end point of another curve or the opposite end point of the same curve. Dragging out the tangent while fusing will not snap the tangents.

Approximate Shape on Delete

Approximates the previous curve shape on a point delete.

Approximate End Tangents

Prioritizes keeping the end derivatives of a segment when approximating the previous curve shape on a point delete.

Enable Caching

Caches previous operations to avoid recomputing previous operations with each interaction.

Corner Points Group

The name of the group to create that will contain the corner points. When chaining curve nodes, this can be used to ensure later curve nodes pick up the corner points from this node.

Smooth Points Group

The name of the group to create that will contain the smooth points. When chaining curve nodes, this can be used to ensure later curve nodes pick up the smooth points from this node.

Name

The name to place in the name attribute on all created geometry. Defaults to the name of the SOP (\$OS).

## Current Operation

These parameters represent the transformations of the current operation. These will be internally stored and cleared upon finishing actions, or starting new actions. Re-selecting points, finishing a movement of a component, or finishing an interaction with the transform handle will all cause it to store the parameters and clear them.

Active Points

Points used in the current operation.

Translate

The amount to translate the selected points or the selected handle end point by.

Rotate

The amount to rotate (in degrees) the selected points with respect to the pivot.

Scale

The amount to scale the selected points with respect to the pivot.

Corner Points

A group parameter specifying the corner points. When chaining multiple curve nodes, this can be set with an input group, such as that created through Corner Points Group, to pick up the corner points from previous nodes.

Smooth Points

A group parameter specifying the smooth points. When chaining multiple curve nodes, this can be set with an input group, such as that created through Smooth Points Group, to pick up the smooth points from previous nodes.

## Pivot Transform

Pivot Translate

The position of the pivot, before any further translations.

Fixed Pivot

Whether to keep the pivot position the same when selecting new points. If disabled, the pivot will be reset to the center of the bounding box of the selected points on a selection change.

Pivot Rotate

Specifies the axis to align the transform handle with. Upon finishing any operation with the transform handle, it will snap back to this rotation to begin a new edit. Is specified as three angles in degrees representing the amount to rotate around each axis.

## Rounded Corners

View Rounded Corners

Whether to view rounded corners. When disabled, rounded corners are all shown with a radius of 0.0. The topology of created curves is not changed when this toggle is disabled.

Round Corner Points

A string parameter encoding the rounded corners and their radii.

Sets the radius of the selected rounded corners.

Create Rounded Corners

Turns the selected corner points into rounded corners.

Remove Rounded Corners

Turns the selected rounded corners into ordinary corners.

Bake Selected Rounded Corners

Convert selected rounded corners into regular bezier segments.

Show Rounded Corner Widget

Whether to show a widget to modify rounded corner radii.

Show Rounded Corner Labels

Whether to show labels for the radii on the rounded corner widgets. These labels are disabled if Show Rounded Corner Widget is disabled.

## Examples

ChainCurve Example for Curve geometry node

This example provides a walkthrough of creating an HDA that wraps Curve SOP together with Chain SOP and correctly promotes all parameters of Curve along with the state.

# Geometry nodes

• Adapts a character’s skeleton to conform to terrain.

• Removes elements while trying to maintain the overall appearance.

• Creates Points or Polygons, or adds points/polys to an input.

• Creates agent primitives.

• Extracts animation or MotionClips from an agent primitive.

• Extracts the rest geometry, skeleton, and animation from an agent primitive.

• Adds new clips to agent primitives.

• Defines how agents' animation clips should be played back.

• Creates geometry describing possible transitions between animation clips.

• Creates a new agent layer that is suitable for collision detection.

• Creates point attributes that specify the rotation limits of an agent’s joints.

• Builds a constraint network to hold an agent’s limbs together.

• Writes agent definition files to disk.

• Edits properties of agent primitives.

• Adds new shapes and layers to an agent primitive.

• Adjusts the head of an agent to look at a specific object or position.

• Adds custom data to an agent definition.

• Updates an agent primitive’s pose from a geometry skeleton.

• Adds various common point attributes to agents for use by other crowd nodes.

• Provides simple proxy geometry for an agent.

• Creates parent-child relationships between agents.

• Adapts agents' legs to conform to terrain and prevent the feet from sliding.

• Adds new transform groups to agent primitives.

• Extracts geometry from agent primitives.

• Extracts geometry from agent primitives for a Vellum simulation.

• Creates an agent primitive from a geometry skeleton.

• Loads the geometry from an Alembic scene archive (.abc) file into a geometry network.

• Creates a geometry group for Alembic primitives.

• Modifies intrinsic properties of Alembic primitives.

• Cleans up a series of break operations and creates the resulting pieces.

• Creates control geometry for SOP-based KineFX rigs.

• Modifies values for a vector-type color attribute on the incoming geometry.

• Modifies dictionary attribute values.

• Modifies floating point attribute values on the incoming geometry.

• Modifies integer attribute values on the incoming geometry.

• Modifies values for a vector-type attribute on the incoming geometry.

• Blurs out (or relaxes) points in a mesh or a point cloud.

• Changes the size/precision Houdini uses to store an attribute.

• Combines multiple attributes within one geometry into a new attribute.

• Composites vertex, point, primitive, and/or detail attributes between two or more selections.

• Copies attributes between groups of vertices, points, or primitives.

• Adds or edits user defined attributes.

• Deletes point and primitive attributes.

• Allows simple VEX expressions to modify attributes.

• Fades a point attribute in and out over time.

• A low-level node that can solve combinatorial versions of some partial differential equations on an edge-connected point cloud.

• Assigns an attribute to points specifying which of a set of models should be copied/instanced to that point, randomly or based on various rules.

• Interpolates attributes within primitives or based on explicit weights.

• Copies and flips attributes from one side of a plane to another.

• Adds or generates noise in geometry attributes.

• Interactively paint point attributes, such as color or deformation mask values, directly on geometry.

• Promotes or demotes attributes from one geometry level to another.

• Generates random attribute values of various distributions.

• Fits an attribute’s values to a new range.

• Renames or deletes point and primitive attributes.

• Modifies point attributes based on differences between two models.

• Edits string attribute values.

• Copies, moves, or swaps the contents of attributes.

• Transfers vertex, point, primitive, and/or detail attributes between two models.

• Transfers attributes between two geometries based on UV proximity.

• Computes transform matrices using vector and matrix point attributes.

• Decomposes transform point attributes into their component pieces and applies an Euler filter to the rotation component

• Runs a VOP network to modify geometry attributes.

• Runs a VEX snippet to modify attribute values.

• Samples texture map information to a point attribute.

• Creates a dictionary attribute filled with parameter values.

• Copies information from a volume onto the point attributes of another piece of geometry, with optional remapping.

• Converts primitives for ODE and Bullet solvers.

• Computes lighting values within volume primitives

• Generates ballistic projectile paths from the incoming points.

• Applies deformations to captured geometry such as bend, twist, taper, and squash/stretch.

• Deletes primitives, points, edges or breakpoints.

• Computes a 3D metamorphosis between shapes with the same topology.

• The start of a looping block.

• The start of a compile block.

• The end/output of a looping block.

• The end/output of a compile block.

• Supports Bone Deform by assigning capture weights to bones.

• Supports Bone Deform by assigning capture weights to points based on biharmonic functions on tetrahedral meshes.

• Utility node that supports Bone Capture Biharmonic by creating lines from bones with suitable attributes.

• Supports Bone Deform by assigning capture weights to points based on distance to bones.

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

• Creates default geometry for Bone objects.

• Combines two polygonal objects with boolean operators, or finds the intersection lines between two polygonal objects.

• Fractures the input geometry using cutting surfaces.

• Creates a bounding box, sphere, or rectangle for the input geometry.

• Creates a cube or six-sided rectangular box.

• Deforms the points in the first input using one or more magnets from the second input.

• Imports 2d geometry from a Composite network.

• Records and caches its input geometry for faster playback.

• Chooses whether to cook the input or re-use cached output based on configurable conditions.

• Converts array attributes into a single index-pair capture attribute.

• Converts a single index-pair capture attribute into per-point and detail array attributes.

• Adjusts capture regions and capture weights.

• Lets you paint capture attributes directly onto geometry.

• Copies capture attributes from one half of a symmetric model to the other.

• Overrides the capture weights on individual points.

• Rigidly capture input packed geometry to a SOP skeleton.

• Supports Capture and Deform operation by creating a volume within which points are captured to a bone.

• Slices, cuts or extracts points or cross-sections from a primitive.

• Repeats one or more pieces of geometry along a curve.

• Reads sample data from a chop and converts it into point positions and point attributes.

• Applies blend shapes to a KineFX character’s geometry using the weight attributes on its skeleton.

• Adds blend shapes to a character’s skin geometry.

• Outputs one of a character mesh’s blend shapes.

• Packs Character mesh, capture pose and animation, saves them to disk, and loads them back again.

• Creates a packed geometry primitive from a rest geometry, skeleton, and animation inputs.

• Extracts the rest geometry, skeleton, and animation from an packed geometry primitive.

• Creates open or closed arcs, circles and ellipses.

• Evaluate and resample blended interpolating splines defined by one or more control polygons.

• Transforms selected geometry into a circle.

• Helps clean up dirty models.

• Removes or groups geometry on one side of a plane, or creases geometry along a plane.

• Captures low-res simulated cloth.

• Deforms geometry captured by the Cloth Capture SOP.

• Creates a volume representation of source geometry.

• Fills a volume with a diffuse light.

• Applies a cloud like noise to a Fog volume.

• Low-level machinery to cluster points based on their positions (or any vector attribute).

• Higher-level node to cluster points based on their positions (or any vector attribute).

• Creates geometry and VDB volumes for use with DOPs collisions.

• Adds color attributes to geometry.

• Adjust surface point normals by painting.

• Evaluates a multiparm of transform parameters and applies them to the input skeleton.

• Recomputes world space or local space transforms for points in a hierarchy.

• Edits properties of a skeleton animation or motion clip.

• Configures joint properties like local center of mass and transformation limits and creates a center of mass joint.

• Determines which input skeleton components are visible for a KineFX character.

• Creates lines between nearby pieces.

• Creates an attribute with a unique value for each set of connected primitives or points.

• Creates simple geometry for use as control shapes.

• Converts geometry from one geometry type to another.

• Converts a 2D height field to a 3D VDB volume, polygon surface, or polygon soup surface.

• Converts the input geometry into line segments.

• Polygonizes metaball geometry.

• Generates the oriented surface of a tetrahedron mesh.

• Converts sparse volumes.

• Converts a Point Cloud into a VDB Points Primitive, or vice versa.

• Converts the iso-surface of a volume into a polygonal surface.

• Decomposes the input geometry into approximate convex segments.

• Copies geometry and applies transformations to the copies.

• Copies geometry in the first input onto curves of the second input.

• Copies geometry in the first input onto the points of the second input.

• Creates multiple copies of the input geometry, or copies the geometry onto the points of the second input.

• Manually adds or removes a creaseweight attribute to/from polygon edges, for use with the Subdivide SOP.

• Creates a surface around cross sections.

• Assigns layers to a crowd to produce geometry variations.

• Populates a crowd of agent primitives.

• Lets you interactively draw Bézier curves using tools similar to 2D illustration programs, as well as polylines and NURBS.

• Finds the intersections (or points of minimum distance) between two or more curves or faces.

• Imports fields from DOP simulations, saves them to disk, and loads them back again.

• Imports scalar and vector fields from a DOP simulation.

• Imports option and record data from DOP simulations into points with point attributes.

• Generates point emission sources for debris, pyro, or particle sources from separating fractured rigid body objects.

• Runs a VEX snippet to deform geometry.

• Deletes input geometry by group, entity number, bounding volume, primitive/point/edge normals, and/or degeneracy.

• Delete Joints on a SOP Rig.

• Smooths out (or relaxes) point deformations.

• Uses machine-learning algorithms to denoise images with high quality and speed.

• Attempts to prevent collisions when deforming geometry.

• Removes edges from the input polygonal geometry merging polygons with shared edges.

• Measures the distance of the shortest path along the geometry’s edges or surfaces from each start point.

• Measures distance between each point and a reference geometry.

• Measures distance of each point from a target.

• Divides, smooths, and triangulates polygons.

• Imports and transforms geometry based on information extracted from a DOP simulation.

• Creates a curve based on user input in the viewport.

• Dynamically Time-warps the first input (the Source) using the second input (the Reference) as a reference.

• Culls the input geometry according to the specifications of the For Each SOP.

• Collapses edges and faces to their centerpoints.

• Sharpens edges by uniquing their points and recomputing point normals.

• Inserts points on the edges of polygons and optionally connects them.

• Transforms selected edges so that all edges are of equal length.

• Flips the direction of polygon edges.

• Cuts geometry along edges using guiding curves.

• Straightens selected edges.

• Copies and optionally modifies attribute values along edges networks and curves.

• Edits points, edges, or faces interactively.

• Closes, opens, or clamps end points.

• Sets an attribute on selected points or primitives to sequential numbers or strings.

• Generates a message, warning, or error, which can show up on a parent asset.

• Pushes geometry out from the center to create an exploded view.

• Export transform attributes to object nodes.

• Computes the centroid of each piece of the geometry.

• Extracts translation and orientation from a character using a given input joint.

• Creates new points where an interpolated attribute has a certain value on a curve.

• Extracts the t-pose position from the input bone, muscle, or tissue geometry.

• Computes the best-fit transform between two pieces of geometry.

• Extrudes geometry along a normal.

• Extrudes surface geometry into a volume.

• Configures joint properties used by full-body inverse kinematics solvers.

• Import animation from an FBX file as a geometry-based skeleton.

• Import a skinned character from an FBX file with animation.

• Import skin geometry from an FBX file.

• Deforms a solid piece of geometry (tetrahedral mesh) using the FEM quasistatic solver.

• Visualizes the quality of a tetrahedral mesh.

• Transfer forward kinematic motion to a SOP-based skeleton

• Creates a surface or density VDB for sourcing FLIP simulations.

• Controls the smoothness of faceting of a surface.

• Defines the fiber direction vector for input solid muscle geometry.

• Evolves polygonal curves as vortex filaments.

• Reads, writes, or caches geometry on disk.

• Caches (writes out once and then reads from) geometry (possibly animated) to disk.

• Caches (writes out once and then reads from) geometry (possibly animated) to disk.

• Reads and collates data from disk.

• Reads and collates data from disk.

• Finds the shortest paths from start points to end points, following the edges of a surface.

• Compresses the output of fluid simulations to decrease size on disk

• Creates 3D text from Type 1, TrueType and OpenType fonts.

• Uses a metaball to attract or repel points or springs.

• Creates jagged mountain-like divisions of the input geometry.

• Transfer a motion to a SOP-based skeleton using full-body inverse kinematics algorithm.

• Creates a set of hair-like curves across a surface.

• Merges or snaps points.

• Geometry nodes live inside Geo objects and generate geometry.

• Adds strength to a glue constraint network according to cluster values.

• Generates particles to be used as sources in a particle-based grain simulation.

• Assigns a unique integer attribute to non-touching components.

• Creates planar geometry.

• Blends the guides and skin of two grooms.

• Fetches groom data from grooming objects.

• Packs the components of a groom into a set of named Packed Primitives for the purpose of writing it to disk.

• Switches between all components of two groom streams.

• Unpacks the components of a groom from a packed groom.

• Generates groups of points, primitives, edges, or vertices according to various criteria.

• Combines point groups, primitive groups, or edge groups according to boolean operations.

• Copies groups between two pieces of geometry, based on point/primitive numbers.

• Deletes groups of points, primitives, edges, or vertices according to patterns.

• Expands or shrinks groups of Edges, Points, Primitives, or Vertices.

• Runs VEX expressions to modify group membership.

• Constructs groups for paths between elements.

• Group Joints on a SOP Rig.

• Sets group membership interactively by painting.

• Converts point, primitive, edge, or vertex groups into point, primitive, edge, or vertex groups.

• Groups points and primitives by ranges.

• Renames groups according to patterns.

• Transfers groups between two pieces of geometry, based on proximity.

• Groups points and primitives by lasso.

• Creates a group that includes the boundaries of the specified attribute.

• Advects guide points through a velocity volume.

• Resolves collisions of guide curves with VDB signed distance fields.

• Deforms geometry with an animated skin and optionally guide curves.

• Interactively creates and modifies guide curves.

• Creates standard primitive groups used by grooming tools.

• Quickly give hair guides some initial direction.

• Creates masking attributes for other grooming operations.

• Creates and prepares parting lines for use with hair generation.

• Modifies guide or hair using one or more operations.

• Looks up skin geometry attributes under the root point of guide curves.

• Constructs a coherent tangent space along a curve.

• Transfer hair guides between geometries.

• Converts dense hair curves to a polygon card, keeping the style and shape of the groom.

• Clumps guide curves together.

• Generates hair on a surface or from points.

• Generates a velocity field based on stroke primitives.

• Generates an initial heightfield volume for use with terrain tools.

• Blurs a terrain height field or mask.

• Limits height values to a certain minimum and/or maximum.

• Creates a copy of a height field or mask.

• Extracts a square of a certain width/length from a larger height volume, or resizes/moves the boundaries of the height field.

• Creates a cutout on a terrain based on geometry.

• Displaces a height field by another field.

• Advects the input volume through a noise pattern to break up hard edges and add variety.

• Lets you draw shapes to create a mask for height field tools.

• Calculates thermal and hydraulic erosion over time (frames) to create more realistic terrain.

• Simulates the erosion from one heightfield sliding over another for a short time.

• Distributes water along a heightfield. Offers controls for adjusting the intensity, variability, and location of rainfall.

• Calculates the effect of thermal erosion on terrain for a short time.

• Imports a 2D image map from a file or compositing node into a height field or mask.

• Generates flow and flow direction layers according to the input height layer.

• Copies another layer over the mask layer, and optionally flattens the height field.

• Composites together two height fields.

• Sets all values in a heightfield layer to a fixed value.

• Sets the border voxel and compression policies on a height field volume.

• Creates a mask based on different features of the height layer.

• Creates a mask based some other geometry.

• Creates a mask where the input terrain is hollow/depressed, for example riverbeds and valleys.

• Adds vertical noise to a height field, creating peaks and valleys.

• Exports height and/or mask layers to disk as an image.

• Lets you paint values into a height or mask field using strokes.

• Patches features from one heightfield to another.

• Adds displacement in the form of a ramps, steps, stripes, Voronoi cells, or other patterns.

• Projects 3D geometry into a height field.

• Applies a material that lets you plug in textures for different layers.

• Remaps the values in a height field or mask layer.

• Changes the resolution of a height field.

• Scatters points across the surface of a height field.

• Simulates loose material sliding down inclines and piling at the bottom.

• Creates stepped plains from slopes in the terrain.

• Stitches height field tiles back together.

• Splits a height field volume into rows and columns.

• Height field specific scales and offsets.

• Visualizes elevations using a custom ramp material, and mask layers using tint colors.

• Makes holes in surfaces.

• Create and evaluate Two-Bone IK solvers on a SOP skeleton.

• Deforms the points in the first input to make room for the inflation tool.

• Instances Geometry on Points.

• Creates points with attributes at intersections between a triangle and/or curve mesh with itself, or with an optional second set of triangles and/or curves.

• Composes triangle surfaces and curves together into a single connected mesh.

• Processes its inputs using the operation of a referenced compiled block.

• Processes its inputs using operations defined by a geometry graph.

• Builds an offset surface from geometry.

• Generates an isometric surface from an implicit function.

• The Join op connects a sequence of faces or surfaces into a single primitive that inherits their attributes.

• Capture skin geometry to a SOP skeleton for use with Joint Deform.

• Supports Joint Deform by assigning capture weights to points based on distance to joints.

• Perform skin deformation from KineFX skeleton animation.

• Divides, deletes, or groups geometry based on an interactively drawn line.

• Creates fractal geometry from the recursive application of simple rules.

• The main WFC node: The solver.

• Match all features between candidate image pairs using Alicevision.

• Retrieves the depth value of each pixel from the cameras using Alicevision.

• Configure which images to process using Alicevision.

• Creates a dense geometric surface representation of the scene using Alicevision.

• The complete Alicevision photogrammetry pipeline.

• Detects 3D points with position and orientation and calibrate the cameras accordingly using Alicevision.

• Texture the generated mesh using Alicevision.

• Spread a collection of shapes along an axis or grid.

• Allows you to replace attribute values with others.

• Automatically Generates UV Attributes

• Automatic Trim Texturing node.

• Aligns Objects based on the Bounding Box

• Does a boolean on a polycurve.

• Clip geometry to a resizable box region.

• Viewport interactive boolean for hardsurface modeling.

• Convert low-resolution blockout geometry into detailed buildings using a library of user defined modules.

• Create base modules to use with the building generator, as well as override base module behavior.

• Export geometry attibutes to a CSV file.

• Creates and simulates cables based on curve or geometry input.

• Calculate the slope of a surface by comparing to a direction, and optionally blur and remap the result.

• Vertex Based Thickness Calculation

• Calculate UV distortion of a piece of geometry

• Removes from an edge group all the edges that are not borders between different primitive islands identified by an island attribute.

• Blends Color data on 2 separate meshes based on common algorithms

• Documentation coming soon…

• Swizzles Quaternions in order to change rotation spaces

• Reorders Vector Components

• Scatters curves over curves, with many intuitive controls to go from clean geometric branches to organic vines. Duplicates of this sop can be chained together for recursive growth, approximating the look of L-Systems but much more controllable.

• Create a tube from a curve, with uv’s and normals.

• Project a decal (localised piece of geometry and a texture) onto geometry.

• Removes pieces based on connectivity and size

• Remove light and shadow variation from photogrammetry textures.

• Dem Bones Skinning Converter is a SOP that can convert any non-changing topology deforming mesh sequence into a bone based animation.

• Prepare rigid body simulation results for export, reducing redundant geometry, cleaning normals, cleaing attributes.

• The Detail Mesh SOP allows you to project a so called detail mesh onto template geometry.

• Create a geometry 'skirt' where an object and ground plane intersect, to be used as a soft blend in a game engine.

• Create a polygon disc with uv’s and normals

• Remove edges on flat surfaces.

• Calculates the distance for each point from the nearest unshared edge

• Color sharp edges on geometry

• Adding procedural damage on inputs

• Converts an Edge Group to a Poly Curve

• Converts an Edge Group to a Poly Curve

• Converts edge groups to polylines.

• Smooth an edge-group found in input geometry.

• Allows you to export the UV wireframe for texturing

• Extract curves from Meshes

• Utility SOP to store the filename of a file SOP as its detail attributes to be then used in other SOPs.

• Create an outline of an object projected from either an axis, or from a camera.

• Import an FBX as an archive similar to how the Alembic Archive sop works.

• This utility tool sets up a flowmap template on your input geometry.

• The flowmap obstacle SOP allows for easy modifications on the flowmap based on geometry.

• The flowmap SHOP is a glsl based viewport shader to preview flowmap shaders.

• A high quality realtime preview of a flowmap texture in the Houdini viewport.

• The flowmap to color SOP converts the flowmap data to vertex colors

• Runs Gaea .TOR files from inside Houdini.

• Full Pipeline Node to Take High Res Models to Low Res

• Generate Textures based on a High Poly to Low Poly match

• Creates divergence from temperature change.

• A simple flamefront combustion model.

• Sends Houdini Mesh data automatically to Zbrush

• Contains GoZ data sent from Zbrush

• Creates Groups for Inside and Outside corner points

• Invert any number of specified groups

• Converts Attributes to Groups

• Allows for grouping geometry based on properties that can be measured

• The Guide Flowmap modifies a flowmap based on a guide curve.

• Simplifies the process of blending masks together in Heightfields

• Allows you to insert a layer from another heightfield.

• Geometric representation for Houdini icon

• This OBJ sets up a camera rig to be used with the Impostor Texture ROP

• The impostor tool creates texture sheets to fake 3D objects in your game engine.

• Create UV’s for inside faces of voronoi fractured geometry.

• Summary.

• This tool allows you to run geometry through InstantMeshes and generate a quad mesh.

• The LOD Create SOP allows for easy LOD generation.

• Create and export an LOD Hierarchy as FBX

• Generate lightning effect around meshes

• Finds edge loops or quad loops from manually or procedurally selected start edges.

• Divide polygons into panels

• Takes a mesh or volume that is animated and loops them.

• Generate color, height and Open Street Map (OSM) curves using data provided by Mapbox.com.

• Generates textures bakes from a high resolution to low resolution model at near interactive speeds.

• Generates material_override attributes per primitive based on the assigned material.

• Generates Point Colors based on the Curvature of the Model

• Consolidates Small UV Islands into Larger Neighbors

• Sharpens the geometry based on curvature

• Clips the geometry into multiple submeshes based on a 3d grid pattern

• Makes packed geometry lying on a plane tileable.

• Multiple Min/Max/Average Analysis in a single node

• Viewport shader for motion vector textures

• Generate Several Bounding Boxes For the Input Mesh

• Detects what the bone name of the highest skinning weight influence is.

• Export point caches to be used with Unreal’s Niagara particle system.

• Import an OBJ File including its materials and textures.

• Generate Buildings from OSM Data

• Isolates Specific OSM Data Layers

• Imports Open Street Map Data

• Import input and output files attached to a work-item in PDG

• Deform geometry along a curve.

• Physics Painter is a SOP that allows users to paint physics objects onto any other object.

• Allows you to interactively place individual objects in a scene.

• Warps a source mesh to match the shape of a target

• Slice polygons into polygons or polylines

• Apply modeling changes to deforming geometry

• The procedural smoke SOP will generate an animated volume to represent smoke.

• Resamples a curve progressively based on an attribute

• Simple Node to take a triangulated mesh and attempt to collapse the diagonal edges to return the mesh to a quad dominant state

• Creates a quick basic tree

• The QuickMaterial sop is a convenience tool that allows you to very easily set up PBR materials.

• Generate polystrips on fractured geometry for extra destruction detail in game engines.

• This tool allows for fast export of an RBD Sim to bone based FBX

• Randomly selects a subset of input points or primitives.

• This tool removes inside faces for objects that are intersecting.

• Remove UV Distortion tries to reduce UV distortion by inserting new seams

• Quickly Spot Heal a Mesh

• Enables the use of Rizom UV within Houdini

• Generate roads from curves or OSM data

• Example HDA from the Rebirth Project to generate Sci Fi Panneling

• SOP Based Baking of Texture Maps

• Simple Interface to Change the Timing of an animation

• Generate a rubber band like rope around an object based on inputs.

• Deforms a mesh based on a sine wave curve

• Skinning Converter is a SOP that can convert any non-changing topology deforming mesh sequence into a bone based animation.

• Adds geometry to an input mesh that mimics snow buildup

• Soften Normals is a convenience SOP that is frequently used to prepare geometry for baking.

• The sphere generator creates a sphere from a cube with uv’s and normals.

• Creates a spiral curve

• Creates a POP Fluid simulation setup for splattering.

• Split primitives into separate outputs based on normals

• Create a simple star primitive.

• The Static Fracture SOP takes static geometry data from sop level, and separates them into newly generated geometry containers on object level

• Generate the central curve (straight skeleton) for 2D input shapes.

• Generates a curve based on the internal structure of a mesh

• Orients a mesh based on UP and FRONT groups

• Loads a Substance Archive and assigns it as a material

• This tool creates 2D shapes using the superformula equation.

• Sweeps geometry along a curve.

• Clips and mirrors geometry along an axis.

• The terrain layer export SOP exports a heightfield with the correct settings for Unreal.

• The terrain layer import SOP exports a heightfield with the correct settings from Unreal.

• The Terrain Mesh Output allows you to convert the plugged in heightfield into (tiled) geometry.

• The Terrain Texture Output renders image data from a heightfield.

• A scan of Luiz Kruel

• A scan of Paul Ambrosiussen

• Calculates and corrects texel density of an asset.

• Extrudes a mesh along it’s averaged normals

• Generates Curves from Photoshop File Layers

• Generates tree branches

• Manually place tree branches

• Controls other tree nodes

• This tool extracts geometry and pivot points from trees created with Labs Tree Generator tools for use with Labs Unreal PivotPainter.

• Generates leaves on branches

• Simple leaf generator for visualization purposes

• Generates a tree trunk

• Interactive version of the Trim Texture node.

• Helps preparing trim texture geometry for a Trim Texture workflow

• Displacing geometry based on a triplanar projection

• Rotates the input geometry around itself based on the timeline

• Creates a UDIM tile number attribute on primitives, points, or vertices.

• Marks and optionally repairs UV overlaps.

• Transfer uv’s between a source and target geometry.

• Converts every primitive to 0-1 UVs

• Different methods of visualizing UV Data

• Exports hair to Unreal Engine.

• Pivot Painter stores model pivot and rotation information for geometry used in a shader.

• Prepare heightfield and actor instances for use with World Composition in Unreal

• Converts the input volume/VDB field to a VDB vector field and updates how the vector field will respond to transformations downstream.

• Export a vector field, compatible with Unreal Engine.

• Summary.

• Take a volume as an input and export a texture of the density field.

• Take a volume as an input and export a texture of the density field.

• A utility tool to initialize a WFC grid to be used with the WFC Solver

• A utility tool to paint attribute values on a grid used by the WFC Solver

• A decoder that decodes color information into Wang Tilesets.

• Sample tiles that can be used as Wang Tilesets.

• Export a pointcloud to XYZ file.

• Deforms geometry based on how you reshape control geometry.

• Create a point cloud, connected polyline mesh, or tet mesh around the active region of volumes. This node creates a deformation lattice for use with the Volume Deform node.

• Reads a lidar file and imports a point cloud from its data.

• Creates polygon or NURBS lines from a position, direction, and distance.

• Animates points using an MDD file.

• Deforms geometry by using another piece of geometry to attract or repel points.

• Stores a reference on a point to a point in another geometry.

• Creates a point attribute mask based on visibility/lighting, letting you limit the effect of other nodes to areas that are visible, or facing a certain direction, or in shadow.

• Aligns the input geometry to a specific axis.

• Resizes and recenters the geometry according to reference.

• Reorders the primitive and point numbers of the input geometry to match some reference geometry.

• Assigns one or more materials to geometry.

• Measures area, volume, or curvature of individual elements or larger pieces of a geometry and puts the results in attributes.

• Merges geometry from its inputs.

• Merges and names geometry from its inputs.

• Defines groupings of metaballs so that separate groupings are treated as separate surfaces when merged.

• Creates metaballs and meta-superquadric surfaces.

• Duplicates and mirrors geometry across a mirror plane.

• Parses and imports motion capture data as geometry.

• This SOP outputs live motion capture data from various devices

• Converts a skeleton animation to a MotionClip

• Blends the animation of one MotionClip on top of another

• Smoothly loops a section of a MotionClip

• Evaluates a single frame of a MotionClip

• Extracts the motion of joints over a set of frames from a MotionClip

• Identifies the key poses of an animation

• Extracts the locomotion from a MotionClip and manages its representation.

• Removes the specified samples from the MotionClip

• Adds a new sample to a MotionClip containing the given pose

• Adjusts the timing of a MotionClip

• Concatenates two MotionClips

• Update a MotionClip using the given point list

• Creates and modifies the muscle Vellum constraints for the input solid muscle geometry in preparation for the muscle solver.

• Activates and animates the contraction and relaxation of input solid muscle geometry.

• Creates and assigns Muscle IDs to each connected cluster of primitives on the input geometry.

• Duplicates muscle geometry with symmetry. Muscle attributes are also copied/renamed with symmetry.

• A stroke-based paint tool for modifying muscle attributes.

• Transitions input bone, muscle, tissue, or skin geometry from their static t-poses into the start frame of their animated sequence.

• Creates and modifies the physical properties for the input solid muscle geometry in preparation for the muscle solver.

• Converts input surface geometry to a tetrahedral mesh for use as muscles.

• Computes the dynamics simulation for the muscle pass using Vellum.

• Creates and attaches line segments to input bone surface geometry that then drive muscle flexion.

• Creates a naming attribute on points or primitives allowing you to refer to them easily, similar to groups.

• Computes surface normal attribute.

• Does nothing.

• Merges geometry from multiple sources and allows you to define the manner in which they are grouped together and transformed.

• Deforms input geometry based on ocean spectrum volumes.

• Generates particle-based foam

• Generates particles and volumes from ocean spectrum volumes for use in simulations

• Generates volumes containing information for simulating ocean waves.

• Instances individual waveforms onto input points and generated points.

• Executes an OpenCL kernel on geometry.

• Orient Joints on a target skeleton.

• Computes orientations (frames) along curves.

• Marks the output of a sub-network.

• Packs geometry into an embedded primitive.

• Replaces the contents of Packed Primitives in-place.

• Packs points into a tiled grid of packed primitives.

• Editing Packed Disk Primitives.

• Editing Packed Primitives.

• Creates a color volume based on drawn curve

• Creates a fog volume based on drawn curve

• Creates an SDF volume based on drawn curve

• Parent Joints on a target skeleton.

• Generates a surface around the particles from a particle fluid simulation.

• Creates a set of regular points filling a tank.

• Generates trails from the incoming particles that can be used to render sparks, fireworks, and rain.

• Places points and primitives into groups based on a user-supplied rule.

• Deforms geometry using the shape of a curve.

• Moves primitives, points, edges or breakpoints along their normals.

• Creates a planar polygonal patch.

• Fills in a 2d curve network with triangles.

• Deforms flat geometry into a pleat.

• Creates platonic solids of different types.

• Constructs an iso surface from its input points.

• Deforms geometry according to an arbitrary connected point mesh.

• Creates new points, optionally based on point positions in the input geometry.

• Jitters points in random directions.

• Moves points with overlapping radii away from each other, optionally on a surface.

• Generates a cloud of points around the input points.

• Splits points shared by multiple vertices, optionally only if the vertices differ in attribute values.

• Computes and manipulates velocities for points of a geometry.

• Merges points interactively.

• Creates set of regular points filling a volume.

• Creates flat or tube-shaped polygon surfaces between source and destination edge loops, with controls for the shape of the bridge.

• Creates offset polygonal geometry for planar polygonal graphs.

• Extrudes polygonal faces and edges.

• Creates straight, rounded, or custom fillets along edges and corners.

• Breaks curves where an attribute crosses a threshold.

• Helps repair invalid polygonal geometry, such as for cloth simulation.

• Fills holes with polygonal patches.

• Creates coordinate frame attributes for points and vertices.

• Creates new polygons using existing points.

• Creates a smooth polygonal patch from primitives.

• Cleans up topology of polygon curves.

• Reduces the number of polygons in a model while retaining its shape. This node preserves features, attributes, textures, and quads during reduction.

• Combines polygons into a single primitive that can be more efficient for many polygons

• The PolySpline SOP fits a spline curve to a polygon or hull and outputs a polygonal approximation of that spline.

• Divides an existing polygon into multiple new polygons.

• Constructs polygonal tubes around polylines, creating renderable geometry with smooth bends and intersections.

• Compute the difference between point transforms on two SOP skeletons.

• Assigns channel paths and/or pickscripts to geometry.

• Interpolates between a set of pose-shapes based on the value of a set of drivers.

• Combine result of Pose-Space Deform with rest geometry.

• Packs geometry edits for pose-space deformation.

• Creates common attributes used by the Pose-Space Edit SOP.

• Edits primitive, primitive attributes, and profile curves.

• Helps develop the volume look both for viewport display and rendering after the pyro solve.

• Creates points suitable for sourcing into pyro simulations to create explosions, muzzle flashes, shockwaves, and detonation rings.

• Applies common post-processing effects to the results of Pyro solves.

• Generates a cloud of points around the input points suitable for pyro trails and particle simulations.

• Runs a dynamic Pyro simulation.

• Creates points for sourcing pyro and smoke simulations.

• Pyro Source Spread solves for the spreading of flame across a point cloud.

• Generates curves to use as trails for the Pyro Trail Source node.

• Creates points suitable for sourcing into pyro simulations to create trails for explosions.

• Runs a Python snippet to modify the incoming geometry.

• Runs a dynamic Bullet simulation.

• Combines fractured pieces or constraints into larger clusters.

• Packs and creates attributes describing rigid body objects.

• Stores the primitive number and distance to the opposite face on the inside faces of fractured geometry.

• Creates attributes describing rigid body constraints.

• Creates rigid body constraint geometry from curves drawn in the viewport.

• Creates rigid body constraint geometry from interactively drawn lines in the viewport.

• Creates rigid body constraint geometry from a set of rules and conditions.

• Converts existing constraint prims into constraints with different anchor positions.

• Deforms geometry with simulated proxy geometry.

• Converts deforming geometry to animated static packed objects.

• Detects when connected faces have become separated.

• Visualize RBD fractured geometry merged with the proxy geometry, pushed out from the center to create an exploded view.

• Sets attributes on packed fragments for the RBD Guide DOP.

• Packs RBD fractured geometry, saves them to disk, and loads them back again.

• Creates additional detail on the interior surfaces of fractured geometry.

• Fractures the input geometry based on a material type.

• Packs RBD geometry, constraints, and proxy geometry into a single geometry.

• Paints values onto geometry or constraints using strokes.

• Unpacks an RBD setup into three outputs.

• Attaches RenderMan shaders to groups of faces.

• Export animation from geometry-based skeleton to an FBX file.

• Export a skinned character with geometry-based skeleton to an FBX file.

• Export a skinned character with a geometry-based skeleton to a glTF or glb (binary) file.

• Creates collision shapes for a KineFX skeleton to be used in a ragdoll RBD simulation.

• Builds a constraint network to hold a KineFX skeleton together during a ragdoll RBD simulation.

• Runs a ragdoll RBD simulation on the target skeleton.

• Generates surfaces by stretching cross-sections between two guide rails.

• Projects one surface onto another.

• Increases the number of points/CVs in a curve or surface without changing its shape.

• Scatters new guides, interpolating the properties of existing guides.

• Recreates the shape of the input surface using high-quality (nearly equilateral) triangles.

• Rebuilds polygonal topology to straighten edges, close small holes, and remove interior geometry.

• Repacks geometry as an embedded primitive.

• Resamples one or more curves or surfaces into even length segments.

• Creates rest attributes on the geometry so procedural textures stay put on the surface as it deforms.

• Retimes the time-dependent input geometry.

• Reverses or cycles the vertex order of faces.

• Creates a reverse foot set up for the given input skeleton.

• Revolves a curve around a center axis to sweep out a surface.

• Rewires vertices to different points specified by an attribute.

• Runs a VOP network to modify geometry attributes on a KineFX rig.

• Runs a VEX snippet to modify transform attribute values on a KineFX rig.

• Attach the joints of a skeleton SOP to another, posed skeleton.

• Optimize and run checks on a SOP skeleton

• Conform the rest poses of two skeletons in preparation for retargeting.

• Mirror a SOP skeleton’s pose.

• Pose and animate a SOP rig or skeleton.

• Runs a Python snippet to modify the incoming rig geometry.

• Store a static pose on a skeleton as a matrix point attribute.

• Generates ripples by displacing points along the up direction specified.

• Generates ripples by displacing points along the up direction specified.

• Scatters new points randomly across a surface or through a volume.

• Scatters points across a surface with randomized scale and orientation attributes for use with Copy to Points.

• Export animation from a geometry-based character to the Scene (OBJ) context.

• Creates a geometry-based character with animation from the Scene (OBJ) context.

• Runs scripts when cooked.

• Lets you interactively reshape a surface by brushing.

• Adds secondary motion effects to a static or animated input KineFX joint, skeleton, or character.

• Morphs though a sequence of 3D shapes, interpolating geometry and attributes.

• Stores the rest position for the input bone, muscle, or tissue geometry.

• Computes the post-deform or pre-deform difference of two geometries with similar topologies.

• Computes the convex hull of the input geometry and moves its polygons inwards along their normals.

• Interactively create and edit geometry-based skeletons.

• Blends two skeletons

• Modify an input skeleton by duplicating joints across a mirror plane.

• Builds a skin surface between any number of shape curves.

• Creates and modifies skin attributes in preparation for the skin solver.

• Converts surface geometry to a solid (tetrahedrons). The output geometry is prepared for solving with a tissue solver.

• Computes the dynamics simulation for the skin pass using Vellum.

• Creates a sky filled with volumentric clouds

• Smooths out (or relaxes) polygons, meshes and curves without increasing the number of points.

• Moves the selected point along its normal, with smooth rolloff to surrounding points.

• Moves the selected point, with smooth rolloff to surrounding points.

• Creates a partition of a tetrahedral mesh that can be used for finite-element fracturing.

• Allows running a SOP network iteratively over some input geometry, with the output of the network from the previous frame serving as the input for the network at the current frame.

• Reorders points and primitives in different ways, including randomly.

• Creates a sphere or ovoid surface.

• Aligns a group of primitives to each other or to an auxiliary input.

• Provides operations for moving knots within the parametric space of a NURBS curve or surface.

• Closes open areas with flat or rounded coverings.

• Lets you deform NURBS faces and NURBS surfaces by pulling points that lie directly on them.

• Deforms and animates a piece of geometry across a surface.

• Deforms a spline surface by reshaping a curve on the surface.

• Creates smooth bridging geometry between two curves or surfaces.

• Fits a spline curve to points, or a spline surface to a mesh of points.

• Extracts or manipulates profile curves.

• Creates profile curves on surfaces.

• Trims or creates profile curves along the intersection lines between NURBS or bezier surfaces.

• Trims away parts of a spline surface defined by a profile curve or untrims previous trims.

• Splits primitives or points into two streams.

• Spray paints random points onto a surface.

• A SOP node that sets the sprite display for points.

• Removes jitter from the input animation and handles terrain snapping of joints.

• Insets points on polygonal faces.

• Caches the input geometry in the node on command, and then uses it as the node’s output.

• Stretches two curves or surfaces to cover a smooth area.

• Low level tool for building interactive assets.

• Subdivides polygons into smoother, higher-resolution polygons.

• The Subnet op is essentially a way of creating a macro to represent a collection of ops as a single op in the Network Editor.

• Creates a surface by sweeping a cross section curve along a spine curve.

• Switches between network branches based on an expression or keyframe animation.

• Switches between two network branches based on an expression or geometry test.

• Sends input geometry to a TOP subnet and retrieves the output geometry.

• Reads a CSV file creating point per row.

• Creates a rock creature, which can be used as test geometry.

• Creates a pig head, which can be used as test geometry..

• Creates a rubber toy, which can be used as test geometry.

• Creates a shader ball, which can be used to test shaders.

• Creates a squab, which can be used as test geometry.

• Creates a template body, which can be used as test geometry.

• Creates a template head, which can be used as test geometry.

• Creates a soldier, which can be used as test geometry.

• Provides a simple crowd simulation for testing transitions between animation clips.

• Provides a simple Bullet simulation for testing the behavior of a ragdoll.

• Creates a tetrahedral mesh that conforms to a connected mesh as much as possible.

• Creates a simple tetrahedral mesh that covers a connected mesh.

• Partitions a given tetrahedron mesh into groups of tets isolated by a given polygon mesh

• Cooks the input at a different time.

• Creates and modifies tissue attributes in preparation for the tissue solver.

• Converts surface geometry to a solid (tetrahedrons). The output geometry is prepared for solving with a tissue solver.

• Computes the dynamics simulation for the tissue pass using Vellum.

• Sets attributes used by the Toon Color Shader and Toon Outline Shader.

• Non-rigidly deforms a surface to match the size and shape of a different surface.

• Lets you interactively draw a reduced quad mesh automatically snapped to existing geometry.

• Creates a torus (doughnut) shaped surface.

• Traces curves from an image file or heightfield.

• Creates trails behind points.

• The Transform operation transforms the source geometry in object space using a transformation matrix.

• Transforms the input geometry relative to a specific axis.

• Transforms the input geometry by a point attribute.

• Transforms input geometry according to transformation attributes on template geometry.

• Creates a triangular Bezier surface.

• Refines triangular meshes using various metrics.

• Connects points to form well-shaped triangles.

• Creates open or closed tubes, cones, or pyramids.

• Imports a skeleton and animation from a UsdSkel character.

• Imports the rest geometry, skeleton, and animation from a UsdSkel character.

• Imports skinned geometry from a UsdSkel character.

• Generates an edge group representing suggested seams for flattening a polygon model in UV space.

• Adjusts texture coordinates in the UV viewport by painting.

• Lets you interactively move UVs in the texture view.

• Creates flattened pieces in texture space from 3D geometry.

• Merges UVs.

• Packs UV islands efficiently into a limited area.

• Relaxes UVs by pulling them out toward the edges of the texture area.

• Assigns UVs by projecting them onto the surface from a set direction.

• Applies an image file as a textured shader to a surface.

• Assigns texture UV coordinates to geometry for use in texture and bump mapping.

• Transforms UV texture coordinates on the source geometry.

• Separates UVs into reasonably flat, non-overlapping groups.

• Processes geometry using an external program.

• Unpacks packed primitives.

• Unpacks points from packed primitives.

• Converts packed USD primitives into normal Houdini geometry.

• Creates one or more empty/uniform VDB volume primitives.

• Activates voxel regions of a VDB for further processing.

• Expand or contract signed distance fields stored on VDB volume primitives.

• Moves VDBs in the input geometry along a VDB velocity field.

• Moves points in the input geometry along a VDB velocity field.

• Computes an analytic property of a VDB volumes, such as gradient or curvature.

• Clips VDB volume primitives using a bounding box or another VDB as a mask.

• Combines the values of two VDB volumes in various ways.

• Tests VDBs for Bad Values and Repairs.

• Extrapolate a VDB signed distance field.

• Cuts level set VDB volume primitives into multiple pieces.

• Build an LOD Pyramid from a VDB.

• Combines many VDB volumes in various ways.

• Blends between source and target SDF VDBs.

• Create a mask of the voxels in shadow from a camera for VDB primitives.

• Deletes points inside of VDB Points primitives.

• Manipulates the Internal Groups of a VDB Points Primitive.

• Computes the steady-state air flow around VDB obstacles.

• Removes divergence from a Vector VDB.

• Fixes signed distance fields stored in VDB volume primitives.

• Re-samples a VDB volume primitive into a new orientation and/or voxel size.

• Reshapes signed distance fields in VDB volume primitives.

• Splits SDF VDBs into connected components.

• Smooths out the values in a VDB volume primitive.

• Smooths out SDF values in a VDB volume primitive.

• Creates an SDF VDB based on the active set of another VDB.

• Splits a vector VDB primitive into three scalar VDB primitives.

• Merges three scalar VDB into one vector VDB.

• Replaces a VDB volume with geometry that visualizes its structure.

• Generates a signed distance field (SDF) VDB volume representing the surface of a set of particles from a particle fluid simulation.

• Converts point clouds and/or point attributes into VDB volume primitives.

• Converts polygonal surfaces and/or surface attributes into VDB volume primitives.

• Fills a VDB volume with adaptively-sized spheres.

• Interactive brushing of Vellum geometry, grains, and fluids in the viewport.

• Configures geometry for Vellum Grain constraints.

• Modifies common Vellum Constraint properties.

• Configure constraints on geometry for the Vellum solvers.

• Vellum solver setup to pre-roll fabric to drape over characters.

• Packs Vellum simulations, saves them to disk, and loads them back again.

• Packs Vellum geometry and constraints into a single geometry.

• Applies common post-processing effects to the result of Vellum solves.

• Ties Vellum points to a reference frame defined by moving geometry.

• Blends the current rest values of constraints with a rest state calculated from external geometry.

• Runs a dynamic Vellum simulation.

• Unpacks a Vellum simulation into two outputs.

• Verify that a bsdf conforms to the required interface.

• Manually adds or edits attributes on vertices (rather than on points).

• Shows/hides primitives in the 3D viewer and UV editor.

• Lets you adjust display options and attach visualizers to geometry.

• Visualize the transformations and parenting of a SOP skeleton

• Creates a volume primitive.

• Modifies values on the incoming Volume and VDB primitives.

• Computes analytic properties of volumes.

• Computes a speed-defined travel time from source points to voxels.

• Blurs the voxels of a volume.

• Bounds voxel data.

• Cuts polygonal objects using a signed distance field volume.

• Combines multiple volumes or VDBs within one geometry into a new volume or VDB.

• Re-compresses Volume Primitives.

• Convolves a volume by a 3×3×3 kernel.

• Deform a volume using lattice points.

• Compute the Fast Fourier Transform of volumes.

• Feathers the edges of volumes.

• Flattens many volumes into one volume.

• Combines the scalar fields of volume primitives.

• Adds or generates noise in volume/VDB primitives.

• Adds or generates noise and displaces an SDF.

• Adds or generates noise in a Vector volume/VDB.

• Ensure a set of volumes add up to one.

• Translates the motion between two image volumes into displacement vectors.

• Fill in a region of a volume with features from another volume.

• Remaps a volume according to a ramp.

• Rasterizes into a volume.

• Samples point attributes into VDBs.

• Converts a curve into a volume.

• Converts fur or hair to a volume for rendering.

• Deform a volume using lattice points.

• Converts a point cloud into a volume.

• Converts a point cloud into a volume.

• Reduces the values of a volume into a single number.

• Resamples the voxels of a volume to a new resolution.

• Resizes the bounds of a volume without changing voxels.

• Builds a Signed Distance Field from an isocontour of a volume.

• Extracts 2d slices from volumes.

• Splices overlapping volume primitives together.

• Stamps volumes instanced on points into a single target volume.

• Adaptively surfaces a volume hierarchy with a regular triangle mesh.

• Computes a trail of points through a velocity volume.

• Runs CVEX on a set of volume primitives.

• Computes a velocity volume.

• Generates a volume velocity field using curve tangents.

• Generates a velocity field within a surface geometry.

• Adjusts attributes for multi-volume visualization.

• Runs a VEX snippet to modify voxel values in a volume.

• Sets the voxels of a volume from point attributes.

• Create a line segment between points with adjacent Voronoi cells

• Fractures the input geometry by performing a Voronoi decomposition of space around the input cell points

• Given an object and points of impact on the object, this SOP generates a set of points that can be used as input to the Voronoi Fracture SOP to simulate fracturing the object from those impacts.

• Cuts the geometry into small pieces according to a set of cuts defined by polylines.

• Creates the point attributes needed to create a Vortex Force DOP.

• Generates volumes to be used as sources in a whitewater simulation.

• Computes generalized winding number of surface at query points.

• Morphs between curve shapes while maintaining curve length.

• Captures surfaces to a wire, allowing you to edit the wire to deform the surface.

• Deforms geometry captured to a curve via the Wire Capture node.

• Transfers the shape of one curve to another.

• Constructs polygonal tubes around polylines, creating renderable geometry.