Nodes that control the shape of geometry.
Overview
Surface nodes create and manipulate geometry (curves, surfaces, metaballs, and so on). Surface nodes live inside a Geometry container object.
Surface node flags
Tip
Select a node and press 1 to set its display flag, or 2 to set its render flag.
| Lock | Caches the input geometry and stops cooking the inputs to improve performance. | |
| Bypass | Makes this node have no effect: passes the geometry through from the input to the output untouched. This is useful for testing and visualizing the effect the node is having in the viewer. | |
| Template | Makes the geometry in this node visible and snappable, but unrenderable. This is useful for “guide” geometry, where you want to edit, visually match, or snap to, existing geometry. Templated geometry only appears at the Geometry level, for use in modeling operations. It does not appear at the Scene level (it is not part of the “final” geometry of the object). To prevent snapping to template geometry, open the snapping options window and turn off Apply to: Templates. | |
| Selectable template | Ctrl-click the template flag to make the node’s geometry templated but selectable in the 3D viewer (at the Geometry level). Like normal templated geometry, selectable templates only appear at the Geometry level, not the Scene level. This flag is equivalent to the “footprint” flag in previous versions of Houdini. | |
| Display | This flag indicates which node provides the geometry for the container object. Only one node at a time can have the display flag. Unlike an object’s display flag, this flag does not make a node visible or invisible in the viewer. If you want geometry from more than one node in the object, use a Merge operator to merge the output of the nodes, then click the display flag on the Merge node. A common problem when you first start working directly in the network is that you connect a node but it seems to have no effect. This is often because you haven’t clicked the display flag on the new node. | |
| Render | The display flag normally indicates which node provides the geometry shown in the viewer and rendered by the renderer. You can set separate display and render flags, so one node provides the geometry for the viewer and a different node provides the geometry for the renderer. This lets you show proxy geometry in the viewer and render more detailed geometry.
Ctrl-click the display flag on another node to move the render flag there. The ring marks the display node, the circle marks the render node. To fuse the display and render flags back together, Ctrl-click the active display flag. |
Unload flag
The
unload flag is available in list mode. When the unload flag is on, a surface node will not cache the geometry that passes through it.
This is useful for finished, static props and other non-time-dependent objects, where the geometry network cooks only once. Even if a node in a geometry is dynamic (its output changes depending on the frame number), you can turn on the unload flag of all the nodes above it to save memory.
(Unloading cached geometry will probably not decrease the total amount of memory Houdini uses, but it will free the memory for use in other parts of Houdini.)
To switch the network editor to list mode, right-click the network background and choose View nodes as a list, or move the mouse over the network editor and press T.
Nodes
| Add | Creates Points or Polygons, or adds points/polys to an input. | |
| Alembic | Loads the geometry from an Alembic scene archive (.abc) file into a geometry network. | |
| Align | Aligns a group of primitives to each other or to an auxiliary input. | |
| Assemble | Cleans up a series of break operations and creates the resulting pieces. | |
| Attrib Cast | Changes the size/precision Houdini uses to store an attribute. | |
| Attrib Composite | Composites vertex, point, primitive, and/or detail attributes between two or more selections. | |
| Attrib Copy | Copies attributes between groups of vertices, points, or primitives. | |
| Attrib Create | Adds or edits user defined attributes. | |
| Attrib Mirror | Copies and flips attributes from one side of a plane to another. | |
| Attrib Promote | Promotes or demotes attributes from one geometry level to another. | |
| Attrib Reorient | Modifies point attributes based on differences between two models. | |
| Attrib String Edit | Edits string attribute values. | |
| Attrib Transfer | Transfers vertex, point, primitive, and/or detail attributes between two models. | |
| Attribute | Renames or deletes point and primitive attributes. | |
| Attribute Fade | Fades a point attribute in and out over time. | |
| Attribute From Map | Samples texture map information to a point attribute. | |
| Attribute From Volume | Copies information from a volume onto the point attributes of another piece of geometry, with optional remapping. | |
| Bake ODE | Converts primitives for ODE and Bullet solvers. | |
| Bake VEX | Pre-shades mesh, Bezier or NURBs geometry with VEX surface and displacement VEX shaders. | |
| Bake Volume | Computes lighting values within volume primitives | |
| Basis | Provides operations for moving knots within the parametric space of a NURBS curve or surface. | |
| Blast | Deletes primitives, points, edges or breakpoints. | |
| Blend Shapes | Computes a 3D metamorphosis between shapes with the same topology. | |
| Bone Link | Creates default geometry for Bone objects. | |
| Bound | Creates an axis-aligned bounding box or sphere for the input geometry. | |
| Box | Creates a cube or six-sided rectangular box. | |
| Break | Breaks the input geometry using the specified cutting shape. | |
| Bridge | Skins trimmed surfaces or holes, creates highly controllable joins between arms and body, branches, or tube intersections. | |
| Bulge | Deforms the points in the first input using one or more magnets from the second input. | |
| Cache | Records and caches its input geometry for faster playback. | |
| Cap | Closes open areas with flat or rounded coverings. | |
| Capture | Supports Capture Region and Deform by assigning capture weights to capture regions. | |
| Capture Correct | Adjusts capture regions and capture weights. | |
| Capture Layer Paint | Lets you paint capture attributes directly onto geometry. | |
| Capture Metaball | Captures points on geometry to metaballs, similarly to capturing to a bone. | |
| Capture Mirror | Copies capture attributes from one half of a symmetric model to the other. | |
| Capture Override | Overrides the capture weights on individual points. | |
| Capture Proximity | Supports Capture Region and Deform by assigning capture weights to points based on distance to capture regions. | |
| Capture Region | Supports Capture and Deform operation by creating a volume within which points are captured to a bone. | |
| Carve | Slices, cuts or extracts points or cross-sections from a primitive. | |
| Channel | Reads sample data from a chop and converts it into point positions and point attributes. | |
| Circle | Creates open or closed arcs, circles and ellipses. | |
| Clay | Lets you deforms faces and surfaces by pulling points that lie directly on them. | |
| Clean | Helps clean up dirty models. | |
| Clip | Removes or groups geometry on one side of a plane, or creases geometry along a plane. | |
| Cloth Capture | Captures low-res simulated cloth. | |
| Cloth Deform | Deforms geometry captured by the Cloth Capture SOP. | |
| Cloth Refine | Refines cloth panels by triangulating them. | |
| Cluster | Low-level machinery to cluster points based on their positions (or any vector attribute). | |
| Cluster Points | Higher-level node to cluster points based on their positions (or any vector attribute). | |
| Color | Adds color attributes to geometry. | |
| Comb | Adjust surface point normals by painting. | |
| Connectivity | Creates an attribute with a unique value for each set of connected primitives or points. | |
| Control | Creates simple geometry for use as control shapes. | |
| Convert | Converts geometry from one geometry type to another. | |
| Convert Meta | Polygonizes metaball geometry. | |
| Convert volume | Polygonizes volume geometry. | |
| Cookie | Combines two polygonal objects with boolean operators, or computes the contour line along the intersection between two polygonal objects. | |
| Copy | Creates multiple copies of the input geometry, or copies the geometry onto the points of the second input. | |
| Crease | Manually adds or removes a creaseweight attribute to/from polygon edges, for use with the Subdivide SOP. | |
| Creep | Deforms and animates a piece of geometry across a surface. | |
| Curve | Creates polygonal, NURBS, or Bezier curves. | |
| Curveclay | Deforms a spline surface by reshaping a curve on the surface. | |
| Curvesect | Finds the intersections (or points of minimum distance) between two or more curves or faces. | |
| DOP Import Records | Imports option and record data from DOP simulations into points with point attributes. | |
| Deform | Uses capture attributes created by Capture or Capture Proximity to deform outer geometry according to the movement of capture regions. | |
| Deform Metaball | Deforms captured points according to metaball deformations. | |
| Deform Muscle | Deforms captured points according to muscle deformations. | |
| Delete | Deletes input geometry by group, entity number, bounding volume, primitive/point normals, and/or degeneracy. | |
| Delete Overlapping Polygons | Removes polygons that overlap. | |
| Dissolve | Deletes points, primitives, and edges from the input geometry and repairs any holes left behind. | |
| Divide | Divides, smooths, and triangulates polygons. | |
| Dop I/O | Imports fields from DOP simulations, saves them to disk, and loads them back again. | |
| Dop Import | Imports and transforms geometry based on information extracted from a DOP simulation. | |
| Dop Import Fields | Imports scalar and vector fields from a DOP simulation. | |
| Duplicate | Copies geometry and applies transformations to the copies. | |
| Each | Culls the input geometry in according to the specifications of the For Each SOP. | |
| Edge Collapse | Collapses edges and faces to their centerpoints. | |
| Edge Cusp | Sharpens edges by uniquing their points and recomputing point normals. | |
| Edge Divide | Inserts points on the edges of polygons and optionally connects them. | |
| Edge Flip | Flips the direction of polygon edges. | |
| Edit | Edits points, edges, or faces interactively. | |
| Ends | Closes, opens, or clamps end points. | |
| Exploded View | Pushes geometry out from the center to create an exploded view. | |
| Extrude | Extrudes geometry along a normal. | |
| Extrude Volume | Extrudes surface geometry into a volume. | |
| Facet | Controls the smoothness of faceting of a surface. | |
| File | Reads, writes, or caches geometry on disk. | |
| File Merge | Reads and collates data from disk. | |
| Fillet | Creates smooth bridging geometry between two curves or surfaces. | |
| Finalize Waves | Imparts wave velocities to points in waveform geometry | |
| Fit | Fits a spline curve to points, or a spline surface to a mesh of points. | |
| Fluid Source | Creates one or multiple volumes out of geometry to be used in a fluid simulation | |
| Font | Creates 3D text from Type 1 and TrueType fonts. | |
| ForEach | Repeatedly applies a set of SOPs to the input geometry. | |
| Force | Uses a metaball to attract or repel particles or springs. | |
| Fractal | Creates jagged mountain-like divisions of the input geometry. | |
| Fur | Creates a set of hair-like curves across a surface. | |
| Fuse | Merges or splits (uniques) points. | |
| Geometry ROP output driver | ||
| Glue Cluster | Adds strength to a glue constraint network according to cluster values. | |
| Glue Pieces | Creates a glue constraint network between adjacent pieces. | |
| Grid | Creates a plane. | |
| Group | Generates groups of points or primitives according to various criteria. | |
| Group Copy | Copies groups between two pieces of geometry, based on point/primitive numbers. | |
| Group Paint | Sets group membership interactively by painting. | |
| Group Transfer | Transfers groups between two pieces of geometry, based on proximity. | |
| Hole | Makes holes in surfaces. | |
| Inflate | Deforms the points in the first input to make room for the inflation tool. | |
| Iso Offset | Builds an offset surface from geometry. | |
| Iso Surface | Generates an isometric surface from an implicit function. | |
| Join | The Join op connects a sequence of faces or surfaces into a single primitive that inherits their attributes. | |
| Knife | Divides, deletes, or groups geometry based on an interactively drawn line. | |
| L-system | Creates fractal geometry from the recursive application of simple rules. | |
| LOD | Lets you view different levels of detail of geometry based on distance from camera. | |
| Lattice | Deforms geometry based on how you reshape control geometry. | |
| Layer | Lets you maintain multiple layers of attributes. | |
| Line | Creates polygon or NURBS lines from a position, direction, and distance. | |
| Load Slices | Reads and collates distributed data from disk. | |
| MDD | Animates points using an MDD file. | |
| Magnet | Deforms geometry by using another piece of geometry to attract or repel points. | |
| Match Axis | Aligns the input geometry to a specific axis. | |
| Match Size | Resizes and recenters the geometry according to reference geometry. | |
| Match Topology | Reorders the primitive and point numbers of the input geometry to match some reference geometry. | |
| Material | Assigns one or more materials to geometry. | |
| Measure | Measures volume, area, and perimeter of polygons and puts the results in attributes. | |
| Merge | Merges geometry from its inputs. | |
| MetaGroups | Defines groupings of metaballs so that separate groupings are treated as separate surfaces when merged. | |
| Metaball | Creates metaballs and meta-superquadric surfaces. | |
| Mirror | Duplicates and mirrors geometry across a mirror plane. | |
| Mountain | Displaces points along their normals based on fractal noise. | |
| Muscle | Support node for the Muscle object. | |
| Name | Creates a “naming” attribute on points or primitives allowing you to refer to them easily, similar to groups. | |
| Network | Transmits geometry data between two instances of Houdini over a network connection. | |
| Null | Does nothing. | |
| Object Merge | Merges geometry from other Geometry objects into this one. | |
| POP Merge | Loads the geometry from a pop network back into this Geometry object as points. | |
| POP Network | Contains a Particle node network. | |
| Paint | Lets you paint color or other attributes on geometry. | |
| Particle | Creates simple particle simulations without requiring an entire particle network. | |
| Particle Fluid Surface | Generates a polygonal surface around the particles from a particle fluid simulation. | |
| Particle Fluid Tank | Creates a set of regular points filling a tank. | |
| Partition | Places points and primitives into groups based on a user-supplied rule. | |
| Paste | Lets you paste local refinements on top of base NURBS geometry. | |
| Peak | Moves primitives, points, edges or breakpoints along their normals. | |
| Platonic Solids | Creates platonic solids of different types. | |
| Point | Manually adds or edits point attributes. | |
| Point Cloud Iso Surface | Constructs an iso surface from its input points. | |
| Point Jitter | Jitters points in random directions. | |
| Pointmap | A VEX node that generate points based on the luminance of a texture map. | |
| Points From Volume | Creates set of regular points filling a volume. | |
| Poly Bevel | Bevels points and edges. | |
| Poly Cap | Fills in polygons between boundary edges. | |
| Poly Extrude | Extrudes polygonal faces and edges. | |
| Poly Frame | Creates coordinate frame attributes for points and vertices. | |
| Poly Knit | Creates new polygons to joining existing polygons. | |
| Poly Loft | Creates new polygons using existing points. | |
| Poly Patch | Creates a smooth polygonal patch from primitives. | |
| Poly Reduce | Reduces the number of polygons in a model while attempting to preserve its shape. | |
| Poly Spline | The Polyspline op fits a spline curve to a polygon or hull and outputs a polygonal approximation of that spline. | |
| Poly Split | Divides an existing polygon into multiple new polygons. | |
| Poly Stitch | Stitches polygonal surfaces together, attempting to remove cracks. | |
| Poly Wire | Constructs polygonal tubes around polylines, creating renderable geometry with smooth bends and intersections. | |
| PolyDoctor | Helps repair invalid polygonal geometry, such as for cloth simulation. | |
| Primitive | Edits primitive, primitive attributes, and profile curves. | |
| Primitive Split | Takes a primitive attribute and splits any points whose primitives differ by more than a specified tolerance at that attribute. | |
| Profile | Extracts or manipulates profile curves. | |
| Project | Creates profile curves on surfaces. | |
| RMan Shader | Attaches RenderMan shaders to groups of faces. | |
| Rails | Generates surfaces by stretching cross-sections between two guide rails. | |
| Ray | Projects one surface onto another. | |
| Refine | Increases the number of points/CVs in a curve or surface without changing its shape. | |
| Resample | Resamples one or more curves or surfaces into even length segments. | |
| Rest Position | Sets the alignment of solid textures to the geometry so the texture stays put on the surface as it deforms. | |
| Reverse | Reverses or cycles the vertex order of faces. | |
| Revolve | Revolves a curve around a center axis to sweep out a surface. | |
| Ripple | Generates ripples by displacing points along the up direction specified. | |
| Round | Generates round fillets of a specified radius between two surfaces. | |
| Scatter | Scatters new points randomly across a surface or through a volume. | |
| Script | Runs scripts when cooked. | |
| Sculpt | Lets you interactively reshape a surface by brushing. | |
| Sequence Blend | Sequence Blend lets you do 3D Metamorphosis between shapes and Interpolate point position, colors... | |
| Shader | Applies shaders to faces. | |
| Shrink Wrap | Takes the convex hull of input geometry and moves its polygons inwards along their normals. | |
| Skin | Builds a skin surface between any number of shape curves. | |
| Slide Modifier Paint | Lets you paint the slide modifier and inflation modifier attributes onto geometry interactively. | |
| Smooth | Smooths out (or “relaxes”) polygons, meshes and curves without increasing the number of points. | |
| Soft Peak | Moves the selected point along its normal, with smooth rolloff to surrounding points. | |
| Soft Transform | Moves the selected point, with smooth rolloff to surrounding points. | |
| Solver | 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. | |
| Sort | Reorders points and primitives in different ways. | |
| Sphere | Creates a sphere or ovoid surface. | |
| Spring | Simulates the behavior of points as if the edges connecting them were springs. | |
| Standard Variables | ||
| Starburst | Insets points on polygonal faces. | |
| Stitch | Stretches two curves or surfaces to cover a smooth area. | |
| Subdivide | Subdivides polygons into smoother, higher-resolution polygons. | |
| Subnetwork | The Subnet op is essentially a way of creating a macro to represent a collection of ops as a sin... | |
| Super Quad | Generates an isoquadric surface. | |
| Surfsect | Trims or creates profile curves along the intersection lines between NURBS or bezier surfaces. | |
| Sweep | Creates a surface by sweeping cross-sections along a backbone curve. | |
| Switch | Switches between network branches based on an expression or keyframe animation. | |
| Table Import | Reads a CSV file creating point per row. | |
| Tetrahedralize | Connects points into a Delaunay Tetrahedralization. | |
| TimeBlend | Blends intraframe values for geometry. | |
| TimeShift | Cooks the input at a different time. | |
| TimeWarp | Retimes the input to a different time range. | |
| Torus | Creates a torus (doughnut) shaped surface. | |
| Trace | Traces curves from an image file. | |
| Trail | Creates trails behind points. | |
| Transform | The Transform operation transforms the source geometry in “object space” using a transformation matrix. | |
| Transform Axis | Transforms the input geometry relative to a specific axis. | |
| Tri Bezier | Creates a triangular Bezier surface. | |
| Tri Divide | Refines triangular meshes using various metrics. | |
| Tri Strip | Converts polygons to triangle strips. | |
| Triangulate 2D | Connects points to form well-shaped triangles. | |
| Trim | Trims away parts of a spline surface defined by a profile curve or untrims previous trims. | |
| Tube | Creates open or closed tubes, cones, or pyramids. | |
| Twist | Applies deformations such as bend, linear taper, shear, squash/stretch, taper, and twist. | |
| UV Brush | Adjusts texture coordinates in the UV viewport by painting. | |
| UV Edit | Lets you interactively move UVs in the texture view. | |
| UV Fuse | Merges UVs. | |
| UV Pelt | Relaxes UVs by pulling them out toward the edges of the texture area. | |
| UV Project | Assigns UVs by projecting them onto the surface from a set direction. | |
| UV Quick Shade | Applies an image file as a textured shader to a surface. | |
| UV Texture | Assigns texture UV coordinates to geometry for use in texture and bump mapping. | |
| UV Transform | Transforms UV texture coordinates on the source geometry. | |
| UV Unwrap | Separates UVs into reasonably flat, non-overlapping groups. | |
| Unix | Processes geometry using an external program. | |
| Unpaste | The Unpaste op removes one or more pasted surfaces from a paste hierarchy, causing the hierarchy to update. | |
| VEX SOP | References a VEX program that can manipulate point attributes. | |
| VOP SOP | Contains a VOP network that can manipulate point attributes. | |
| Vertex | Manually adds or edits attributes on vertices (rather than on points). | |
| Vertex Split | Takes a vertex attribute and splits any point whose vertices differ by more than a specified tolerance at that attribute. | |
| Visibility | Shows/hides primitives in the 3D viewer and UV editor. | |
| Volume | Creates a volume primitive. | |
| Volume Analysis | Computes analytic properties of volumes. | |
| Volume Blur | Blurs the voxels of a volume. | |
| Volume Break | Cuts polygonal objects using a signed distance field volume. | |
| Volume Compress | Re-compresses Volume Primitives. | |
| Volume Feather | Feathers the edges of volumes. | |
| Volume From Attrib | Sets the voxels of a volume from point attributes. | |
| Volume Merge | Flattens many volumes into one volume. | |
| Volume Mix | Combines the scalar fields of volume primitives. | |
| Volume Ramp | Remaps a volume according to a ramp. | |
| Volume Reduce | Reduces the values of a volume into a single number. | |
| Volume Resample | Resamples the voxels of a volume to a new resolution. | |
| Volume SDF | Builds a Signed Distance Field from an isocontour of a volume. | |
| Volume Slice | Extracts 2d slices from volumes. | |
| Volume Splice | Splices overlapping volume primitives together. | |
| Volume Surface | Adaptively surfaces a volume hierarchy with a regular triangle mesh. | |
| Volume Trail | Computes a trail of points through a velocity volume. | |
| Volume Velocity | Computes a velocity volume. | |
| Volume Visualization | Adjusts attributes for multi-volume visualization. | |
| Volume Vop | Runs CVEX on a set of volume primitives. | |
| Volume bounds | Bounds voxel data. | |
| Voronoi Fracture | Fractures the input geometry by performing a Voronoi decomposition of space around the input cell points | |
| Voronoi Fracture 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. | |
| Voronoi Split | Cuts the geometry into small pieces according to a set of cuts defined by polylines. | |
| Vortex Force Attributes | Creates the point attributes needed to create a Vortex Force DOP. | |
| Waveform | Creates a waveform shape out of surface geometry | |
| Wire Blend | Morphs between curve shapes while maintaining curve length. | |
| Wire Capture | Captures surfaces to a wire, allowing you to edit the wire to deform the surface. | |
| Wire Deform | Deforms geometry captured to a curve via the Wire Capture node. | |
| Wire Transfer Shape | Transfers the shape of one curve to another. | |
| Wireframe | Constructs polygonal tubes around polylines, creating renderable geometry. |

