# Voronoi Fracture geometry node

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

The Voronoi fracture SOP takes two primary inputs: the mesh to fracture, and the points around which to build each Voronoi cell. Often these points will be generated by either the Scatter SOP, or the Points From Volume SOP, but any source of points will work. For a solid fracture (where the interior surface of the object is built for each piece) it is very useful to have all the points reside within the volume, in which case one fractured piece will be generated for for each cell point. Pieces cut by this SOP can be further clustered together based on attribute values on the input points. An optional third input can provide an SDF Volume to be used in depth sampling when generating detail on the interior surfaces.

## Tips

• Using points scattered in a density volume generated from the geometry using IsoOffset is a flexible way to generate cell points, as you can modulate the density in the volume before scattering to get more points within particular regions of the object. Where there is higher point density, the Fracture SOP will generate more, smaller pieces.

• Mesh complexity slows down fracturing more than anything. PolyReduce before fracturing if you can.

• When testing fractures, turning off Create Inside Surface will speed things up and should look the same on the surface of the object.

• If you have problems with insufficient point density in long appendages or something in the input object, try scattering points after using IsoOffset and scaling the density up in those areas.

• You can object merge the `CONSTRAINT_NETWORK SOP` from inside of this node to recover the connectivity graph of the pieces. This is useful for feeding into a glue constraint network.

## Inputs

Geometry to Fracture

The polygonal geometry that will be fractured according to the Voronoi decomposition.

Points for Voronoi Cells

Input points, where each point represents a Voronoi cell around which to fracture the geometry.

Optional SDF For Depth Sampling

An optional SDF Volume, usually created by IsoOffset, to use for depth sampling when creating interior detail. If not connected, this node will generate a default one.

## Parameters

Group to Fracture

The geometry to be fractured.

If no group is specified, the full input geometry will be fractured.

Fuse Points

The incoming geometry will have its points fused together. This can help detect closed objects to provide proper shattering of solid objects where points were uniqued for shading. However, it can also change the incoming topology, so if the geometry has already been properly fused, this should not be used.

Update Fused Point Normals

After fusing point normals may be come incorrect. This will rebuild the point normals if fusing is enabled. If custom point normals need to be maintained, this should be disabled.

Create Inside Surfaces

Creates inside faces.

Connect Inside Edges

Connects the inside faces of the fractured geometry to the corresponding outside faces.

Cusp Interior Normals

Computes vertex normals on the edges of the interior geometry, so that they will have a cusped appearance.

Cusp Interior Normals Angle

Computes vertex normals on the edges of the interior geometry with angles greater than this angle, so that they will have a cusped appearance.

Cusp Exterior Normals

Computes vertex normals on the edges of the input geometry, so that they will have a cusped appearance. If the input geometry already has normals, you may want to disable this.

Cusp Exterior Normals Angle

Computes vertex normals on the edges of the input geometry with angles greater than this angle, so that they will have a cusped appearance. If the input geometry already has normals, you may want to disable this.

Cusp Interior Edges by Uniquing Points

Cusps the edges of the interior geometry by duplicating points. This can result in disconnected geometry, so Cusp Interior Normals is recommended instead.

Visualize Pieces

Allows you to visualize fractured geometry by applying a random color to each piece.

Use Cell Point Group

Only fracture pieces around the input points in the group or pattern specified in the Cell Point Group parameter.

Cell Point Group

The point group from the input cell points around which to fracture.

Cluster Display Mode

Ignore Clustering

When Use Cell Point Group and Cluster are enabled, only cut those pieces directly specified in the Cell Point Group parameter, ignoring any clustered pieces.

Keep Any Clustered Pieces

Fracture and output any pieces clustered to the specified pieces as well.

Keep Clustered Pieces Only For Primary Point

When clustering, each piece is associated with a primary point which is the point with the lowest point number in the cluster. Only output pieces for this cluster if this primary point is specified in Cell Point Group.

## Cut

Triangulation

Auto Detect

Determine whether the input points are 1D, 2D, or 3D and generate a triangulation for them.

2D

Assume points are 2D and triangulate.

3D

Assume points are 3D and tetrahedralize.

Use Existing

Use an existing triangulation on the input points.

Connectivity Partition

None

Do not further partition pieces into groups by connectivity.

Overwrite Piece Numbering

Normally each input cell point will create one output piece group. However, with concave objects this can mean that disconnected pieces of geometry are placed in the same piece group. Enabling this option will further divide the pieces into separate, connected groups of geometry. This option allows the piece numbers to be overwritten by this operation, which is fast and acceptable if you don’t need the piece numbers to match the input point numbers.

Maintain Piece Numbering

This option uses a slower algorithm to ensure that piece numbers remain consistent with input point numbers.

Cut Plane Offset

Offsets the cut plane between adjacent cell points before cutting. Increasing this has the effect of putting space between each fractured piece.

Optimize Cutting Based on Clustering

When clustering is enabled, avoid cutting any pieces that are fully surrounded by pieces in the same cluster.

## Cluster

Cluster Pieces

Fuse the individual pieces into larger clusters based on their input points sharing a common, non-zero cluster attribute value. Values for this attribute can come from attributes on the input points, or from noise as specified below.

Add cellular noise to any input points with a zero cluster attribute value.

Size

The size of the cells for the noise added to the input points. This roughly corresponds to the size of the clusters.

Offset

The offset of the cellular noise added to the input points.

Jitter

The jitter of the cellular noise added to the input points.

Random Detachment

Randomly detach pieces from clusters.

Detach Seed

The random seed used for detachment.

Detach Ratio

The probability that a particular piece will be detached.

Create Constraint Network

If selected, the constraint network in the internal `CONSTRAINT_NETWORK SOP` will have its primitive values overwritten if the edge marks a connection between two clustered pieces. Also, fusing won’t be performed, since the network will be presumed to handle holding the clusters together.

Within Cluster Constraint Strength

The strength of glue bonds between two pieces in the same cluster.

Between Cluster Constraint Strength

The strength of glue bonds between two pieces in different clusters.

Cluster Attribute

The name of the cluster attribute.

Attribute Tolerance

Pieces will be considered in the same cluster if their cluster attribute value is within this tolerance.

Fuse Tolerance

Pieces in the same cluster are fused together with this tolerance.

## Interior Detail

Add additional polygons to the interior surfaces created when Create Inside Surfaces is enabled.

Visualize Noise Scale

Add color to the pieces to indicate the amount of noise applied at each point.

Triangulate Non-Planar Detail

The Add Interior Detail option can create non-planar quadrilaterals. This option will triangulate the interior detail.

Detail Size

The size of the polygons added to the interior surfaces.

Noise Type

The type of noise added to the interior points.

Frequency

The frequency of the noise added to the interior points.

Offset

The offset of the noise added to the interior points.

Turbulence

The turbulence of the noise added to the interior points.

Depth Volume Resolution

Resolution of the default depth sampling SDF.

The amplitude of the noise added to the interior points is scaled by the depth of the point within the surface of the original geometry, calculated by sampling an SDF of the geometry. If an SDF is not connected to the third input of the SOP, a default one will be created at this resolution.

Clamp Displacement Amount to Depth

Limit the amount of displacement done at a point by its depth within the surface.

When adding high amplitude noise to the interior points, it’s possible that the interior surface could interpenetrate the exterior. This option will clamp the amount of displacement at a particular point by the depth within the surface.

Clamp Depth Percentage

The percentage of the depth within the surface to which the displacement should be clamped.

Because an SDF is not a perfect representation of depth, this option allows you to clamp to a percentage of the depth. Lowering this can guarantee no interpenetration, at the expense of more clamping of the interior noise.

Depth / Noise Bias

The value for the bias curve that maps depth within the surface to the amplitude of the noise applied.

Use Depth / Noise Ramp

Use a ramp control for more precise control of the depth / noise mapping.

Depth / Noise Ramp

The ramp that maps from depth within the surface to the amplitude of the noise applied.

## Groups

Create Output Groups

Create groups containing each individual piece, as well as the interior and exterior geometry.

Piece Group Prefix

The group name prefix applied to each piece created by the fracture.

Interior Group

The group containing any primitives in the interior surfaces created during fracturing.

Exterior Group

The group containing the primitives in the original input geometry.

## Attributes

Create Name Attribute

Create a primitive attribute called "name" identifying primitives belonging to each piece.

Name Prefix

The prefix applied to the name of each piece created by the fracture.

Copy Cell Point Attributes

Copy attributes from the input cell points to the output piece geometry.

To Piece Points

The attributes to copy from the cell points to the points of the output piece geometry.

To Piece Primitives

The attributes to copy from the cell points to the primitives of the output piece geometry.

Keep Internal Attributes

Keep various attributes that are used during the fracturing process.

Primitive Piece

The name of the attribute containing the piece number with which each primitive is associated.

Primitive Cell Point

The name of the attribute on primitives that will store which of the fracture points it comes from.

Primitive Clip Point

The name of the attribute on interior surface primitives that correspond to the other piece adjacent at that surface.

Primitive Outside

The name of the attribute indicating if a primitive is exterior or interior.

Point Depth

The name of the attribute containing the depth of a point within the surface of the object when creating interior detail.

## Examples

The following examples include this node.

BreakingSprings Example for Constraint Network dynamics node

This example shows how to use a SOP Solver to break spring constraints in a constraint network that have stretched too far.

ControlledGlueBreaking Example for Constraint Network dynamics node

This example shows how to gradually remove glue bonds from a constraint network and control the crumbling of a building.

GlueConstraintNetwork Example for Constraint Network dynamics node

This example shows how to create a constraint network to glue together adjacent pieces of a fractured object. It also shows how primitive attributes such as 'strength' can be used to modify properties of individual constraints in the network.

SpringToGlue Example for Constraint Network dynamics node

This example shows how to create spring constraints between nearby objects, and then change those constraints to glue constraints during the simulation.

MagnetMetaballs Example for Magnet Force dynamics node

This example demonstrates how to use the Magnet Force node on a group of metaballs to force the fragments of an object outwards at the moment of impact.

ShatterDebris Example for RBD Fractured Object dynamics node

This example demonstrates the how the shatter, RBD Fractured Object, and Debris shelf tools can be used to create debris emanating from fractured pieces of geometry.

First, the Shatter tool (from the Model tool shelf) is used on the glass to define the fractures. Then the RBD Fracture tool is used on the glass to create RBD objects out of the fractured pieces. Then the Debris tool is used on the RBD fractured objects to create debris.

This example shows how one can control the break up of any glued object through the use of the RBD State node.

In this version of the choreographed breakup example, a moving plane is used to choreograph the breakup of a fractured tube. As the plane passes each piece, it is allowed to break off from the rest of the tube.

AnimatedObjects Example for RBD Packed Object dynamics node

This example shows how to use animated packed primitives in an RBD Packed Object and set up a transition to active objects later in the simulation.

ScalePieces Example for Script Solver dynamics node

This example demonstrates how to use the Script Solver node to scale fractured pieces of an RBD sim over time.

FractureExamples Example for Voronoi Fracture Solver dynamics node

This example actually includes eight examples of ways that you can use voronoi fracturing in Houdini. In particular, it shows how you can use the Voronoi Fracture Solver and the Voronoi Fracture Configure Object nodes in your fracture simulations. Turn on the display flags for these examples one at a time to play the animation and dive down into each example to examine the setup.

PackedFragments Example for Assemble geometry node

This example shows how you can break a sphere into packed objects for use in a rigid body simulation using the Assemble SOP.

Here is an example of accumulating and fading an attribute

dopimportrecordsexample Example for DOP Import Records geometry node

This example demonstrates a creating points for each matching record in the DOP simulation. This lets us create a point for each object or a point for each impact.

glueclusterexample Example for Glue Cluster geometry node

This example shows how to use the gluecluster SOP and glue constraint networks to cluster together the pieces of a voronoi fracture. This allows clustering to be used with Bullet without introducing concave objects.

TransformFracturedPieces Example for Transform Pieces geometry node

This example demonstrates using the Transform Pieces SOP to transform high-resolution geometry from the results a DOPs rigid-body fracture simulation that used low-resolution geometry.

# Geometry nodes

• Removes elements while trying to maintain the overall appearance.

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

• Creates agent primitives.

• 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.

• Edits properties of agent primitives.

• Adds a new layer to agent primitives.

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

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

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

• 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.

• 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.

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

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

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

• Changes the size/precision Houdini uses to store an 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.

• Interpolates attributes within primitives or based on explicit weights.

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

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

• Generates random attribute values of various distributions.

• 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.

• Runs a VOP network to modify geometry attributes.

• Runs a VEX snippet to modify attribute values.

• Samples texture map information to a point attribute.

• 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

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

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

• 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 Deform by assigning capture weights to points based on biharmonic functions on tetrahedral meshes.

• 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.

• Creates an axis-aligned bounding box or sphere for the input geometry.

• Creates a cube or six-sided rectangular box.

• Breaks the input geometry using the specified cutting shape.

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

• Records and caches its input geometry for faster playback.

• Closes open areas with flat or rounded coverings.

• 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.

• 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.

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

• Creates open or closed arcs, circles and ellipses.

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

• 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.

• 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.

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

• Copies geometry and applies transformations to the copies.

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

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

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

• Populates a crowd of agent primitives.

• Creates crowd agents to be used with the crowd solver.

• Creates polygonal, NURBS, or Bezier curves.

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

• 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 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.

• Removes polygons that overlap.

• Smooths out (or "relaxes") point deformations.

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

• Deletes points, primitives, and edges from the input geometry and repairs any holes left behind.

• 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.

• 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.

• Flips the direction of polygon 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.

• 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.

• Extrudes geometry along a normal.

• Extrudes surface geometry into a volume.

• Controls the smoothness of faceting of a surface.

• Evolves polygonal curves as vortex filaments.

• Reads, writes, or caches geometry on disk.

• Writes and reads geometry sequences to disk.

• Reads and collates data from disk.

• Creates smooth bridging geometry between two curves or surfaces.

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

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

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

• Creates one or multiple volumes out of geometry to be used in a fluid simulation

• 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.

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

• Merges or splits (uniques) points.

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

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

• 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.

• Runs VEX expressions to modify group membership.

• 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.

• 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.

• Allows intuitive manipulation of guide curves in the viewport.

• 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.

• 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.

• 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.

• 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.

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

• 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 0.

• Sets the border voxel policy on a height field volume.

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

• Creates a mask based some other geometry.

• 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.

• 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.

• 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.

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

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

• Deforms geometry based on how you reshape control geometry.

• 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.

• Aligns the input geometry to a specific axis.

• Resizes and recenters the geometry according to reference geometry.

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

• Assigns one or more materials to geometry.

• Measures volume, area, and perimeter of polygons and puts the results in attributes.

• Merges 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.

• Displaces points along their normals based on fractal noise.

• Displaces points along their normals based on fractal noise.

• Supports Muscle Deform by assigning capture weights to points based on distance away from given primitives

• Deforms a surface mesh representing skin to envelop or drape over geometry representing muscles

• 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.

• Assists the creation of a Muscle or Muscle Rig by allowing you to draw a stroke on a projection surface.

• Deforms input geometry based on ocean "spectrum" volumes.

• 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 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.

• Marks the output of a sub-network.

• Packs geometry into an embedded primitive.

• Packs points into a tiled grid of packed primitives.

• Editing Packed Disk Primitives.

• Editing Packed Primitives.

• Lets you paint color or other attributes on geometry.

• Creates a color volume based on drawn curve

• Creates a fog volume based on drawn curve

• Creates an SDF volume based on drawn curve

• Creates simple particle simulations without requiring an entire particle network.

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

• Creates a set of regular points filling a tank.

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

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

• Creates platonic solids of different types.

• Manually adds or edits point attributes.

• Constructs an iso surface from its input points.

• Deforms geometry on 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.

• 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.

• Bevels points and edges.

• Breaks curves where an attribute crosses a threshold.

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

• Extrudes polygonal faces and edges.

• 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.

• Divides an existing polygon into multiple new polygons.

• Stitches polygonal surfaces together, attempting to remove cracks.

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

• Assigns channel paths and/or pickscripts to geometry.

• Edits primitive, primitive attributes, and profile curves.

• Takes a primitive attribute and splits any points whose primitives differ by more than a specified tolerance at that attribute.

• Extracts or manipulates profile curves.

• Creates profile curves on surfaces.

• Runs a Python snippet to modify the incoming geometry.

• Attaches RenderMan shaders to groups of faces.

• 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.

• Repacks geometry as an embedded primitive.

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

• Sets the alignment of solid textures to the geometry so the texture stays put on the surface as it deforms.

• Reverses or cycles the vertex order of faces.

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

• Rewires vertices to different points specified by an attribute.

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

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

• Runs scripts when cooked.

• Lets you interactively reshape a surface by brushing.

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

• Sequence Blend lets you do 3D Metamorphosis between shapes and Interpolate point position, colors…

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

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

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

• Creates a sky filled with volumentric clouds

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

• 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 tetrahedral mesh that conforms to a connected mesh as much as possible.

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

• 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.

• Creates a sphere or ovoid surface.

• Splits primitives or points into two streams.

• Spray paints random points onto a surface.

• Simulates the behavior of points as if the edges connecting them were springs.

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

• 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.

• Simplifies the building of tools that incrementally modify geometry based on strokes.

• 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.

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

• Creates a surface by sweeping cross-sections along a backbone curve.

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

• Reads a CSV file creating point per row.

• 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 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.

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

• Performs variations of a Delaunay Tetrahedralization.

• Retimes the input to a different time range.

• Blends intraframe values for geometry.

• Cooks the input at a different time.

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

• 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.

• 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.

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

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

• Applies deformations such as bend, linear taper, shear, squash/stretch, taper, and twist.

• 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.

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

• Merges UVs.

• Tries to pack 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.

• 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.

• 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 points in the input geometry along a VDB velocity field.

• Moves SDF VDBs 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 aligned VDB volumes in various ways.

• Tests VDBs for Bad Values and Repairs.

• Cuts level set VDB volume primitives into multiple pieces.

• Build an LOD Pyramid from a VDB.

• Blends between source and target SDF VDBs.

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

• Manipulates the Internal Groups of a VDB Points Primitive.

• 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.

• Merges three scalar VDB into one vector VDB.

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

• 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.

• References a VEX program that can manipulate point attributes.

• Verify that a bsdf conforms to the required interface.

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

• Takes a vertex attribute and splits any point whose vertices differ by more than a specified tolerance at that attribute.

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

• Lets you attach visualizations to different nodes in a geometry network.

• Creates a volume primitive.

• 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.

• Re-compresses Volume Primitives.

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

• 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.

• 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.

• Converts a curve into a volume.

• Converts fur or hair to a volume for rendering.

• 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.

• 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 emission particles and volumes to be used as sources in a Whitewater simulation.

• 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.