Houdini 16.5 Nodes Geometry nodes

File geometry node

Reads, writes, or caches geometry on disk.

On this page

Overview

This node has two modes of operation. If its input is connected, you can choose a File mode to control how the node reads, writes, or caches geometry on disk. If no input is connected, you can specify a geometry file to read in from disk and send through the node’s output.

It also supports reading, but not writing, of .sim and .simdata files created from File and File Data DOPs.

Tips

  • You can also write out the geometry from any surface node as a one-shot action by right-clicking the node and choosing Save Geometry.

    To set up a procedural workflow where the geometry output of a surface node network is always written to disk as part of a render dependency network, set up a Geometry render driver.

  • You can "import" the loaded geometry into the .hip file so it works without the external file by locking the File node.

Parameters

File Mode

How this node reads/writes the geometry to/from the disk file.

This parameter is only available when the node’s input is connected.

Automatic

Writes the file if it doesn’t exist, reads it if it does exist.

This is useful for caching, where the node will write the cache to disk the first time it cooks, and use the cache file from then on.

To force a refresh of the cache, manually delete the file on disk.

Read Files

Reads the geometry from the file. If the node’s input is connected, it’s ignored.

Write Files

Writes the input geometry to disk.

No Operation

No file access will occur. Pass through the input geometry to the output, like a Null surface node.

Geometry File

The name of the file to read or write.

Reload Geometry

Force a reload of the file. This will also clear any cached data for packed disk primitives (see also the geocache command).

Object Mask

When loading .sim files this determines which objects should be loaded from disk. Any objects matching this pattern will be loaded.

Geometry Data Path

For each object loaded from a .sim file, any data attached to the object that matches this path will be loaded. Patterns like * can be used to match multiple data. If blank, only the Geometry data will be loaded.

Missing Frame

What should be done if the specified file does not exist on disk. This is only used if in Read Files mode. By default, if no file of the given name exists, the SOP will error. This can be troublesome in a network that can recover from the error. In these cases the behavior can be set to No Geometry so only a warning is posted.

Note that in No Geometry mode, if an input exists to the File SOP, it will be passed through. This allows the File SOP to become a read-only cache.

Load

Some file formats, in particular .bgeo, .bgeo.sc, and .geo, contain meta-data in the header than can be loaded without loading the entire file. This is useful for dealing with large data sets.

All Geometry

Loads the whole file. Potentially with some parts delayed (see below)

Info

Creates one point if the file loads successfully and attach attributes for each named component of the meta-data.

Info Bounding Box

Tries to build a bounding box using the information stored in the header of the file.

Point Cloud

Tries to load just the points from a disk file. This will be faster and use less memory than loading primitives.

Packed Disk Primitive

Instead of loading the geometry into memory, create a packed disk primitive. Copies of the delayed load primitive will share geometry meaning that multiple copies will use less memory.

Packed Disk Sequence

Instead of loading the geometry into memory, this will create a packed disk sequence primitive. Unlike a packed disk primitive, the packed disk sequence stores a list of filenames along with an index of which file to unpack during rendering. Since the packed disk sequence primitive is aware of all the files in the disk sequence, it is able to compute blended sub-frame geometry at render time (provided topology matches between frames). This means that motion blur can be computed correctly. When creating the packed disk sequence primitive, the Geometry File parameter is evaluated for each frame in the frame range. The index of the packed disk sequence primitive is set to the value of the Sequence Index parameter.

Pack Using Expanded/Absolute File Path

When loading the geometry as Packed Disk Primitive, this toggle controls whether the file name stored with the primitive will have variables expanded. By default, variables will be preserved. For example, a file such as $HIP/geo/tree.bgeo will be portable if the value of the $HIP variable changes. This is only important if you are saving the packed primitive to disk and may move the geometry file.

When storing variables in the packed primitive (i.e. the toggle is turned off), the primitive itself performs variable expansion. Since the primitive can be accessed in applications other than Houdini (mantra, gplay, gconvert, etc.), the expansion of variables is limited in function. For example, using variables local to the .hip file or using expressions which reference other nodes may not work as expected.

Display As

When loading the geometry as Packed Disk Primitive or when delayed loading, you can set the viewport display to a lighter representation of the packed geometry. This setting only applies to rendering in the viewport, at render time, the full geometry will be rendered.

Use File Setting

Packed primitives have viewport display settings that are saved to file. This option reads these and uses them. All others override the saved setting.

Full Geometry

The full geometry will be displayed in the viewport.

Point Cloud

Only the points of the geometry will be displayed. This will take less memory and be faster to render.

Bounding Box

Only display the bounding box of the geometry in the viewport.

Centroid

Display a single point at the center of the bounding box.

Hidden

Don’t display the geometry in the viewport.

Delay Load Geometry

If this parameter is set, packed primitives and other shared data will not be loaded immediately but will be loaded only as needed. This can be useful when opening a large scene to reduce load times.

Create Intermediate Directories

Create intermediate parent directories for output files as needed.

Cache Frames

The total number of frames to cache in memory. These sorted by filename, not by time, so if multiple frames evaluate to the same file name they will share the same cached geometry.

Note

A value of 1 is almost the same as the default behavior of the File SOP. However, the new geometry will be loaded before the old geometry is freed. When loading agent primitives, this avoids possible flushing shared agent shape caches.

Pre-fetch Geometry

Attempt to predict the next frame that will be needed and load it in the background. This lets computation be overlapped with file IO.

If you are blending multiple frames, the Cache Frames needs to be large enough for only the net-new frame to be loaded each cook. Otherwise the simple predictive model of the prefetcher will be confused and stop working.

Frame Range

When creating Packed Disk Sequence primitives, this parameter specifies the number of filenames in the disk sequence. When evaluating the Geometry File, the $F, and $FF variables will be set to the values in the frame range.

Sequence Index

When creating Packed Disk Sequence primitives, this parameter specifies which geometry from the sequence will be used at render time. The index is linear, with values between 0 and the number of geometry files in the disk sequence (not based on the frame number). Index values out of range will automatically wrap to generate animation cycles.

The index values can have non-integer values. If the topology matches between disk files, the geometry will be blended at render time. See also the vm_pack_sequencesubsteps rendering property.

Tip

To offset a sequence of images or geo files when you have padding in your frames, you should enter something like this:

<path_to_image>/frame`padzero(3, $F+1)`.tga

Where 3 is the number of digits in your sequence, for example 001 is pad 3, 0002 pad 4, etc. The back ticks are necessary so the expression gets evaluated inside the string parameter.

Examples

PackedPoints Example for File geometry node

This example shows how you can use the file sop to do a delayed load of packed disk primitives to have multiple geometry samples per frame for rendering motion blur. If you save out the packed disk geometry, you're really only saving out the point geometry with references to the disk files (which is very light weight).

PackedSamples Example for File geometry node

This example shows how you can use the file sop to do a delayed load of packed primitives to have multiple geometry samples per frame for rendering motion blur.

PackedSequence Example for File geometry node

This example shows how you can use the file sop to load a packed disk sequence.

The following examples include this node.

DynamicLights Example for Dynamics channel node

This example demonstrates how to use the Dynamics CHOP to extract impact data from a DOPs simulation, and then modify the data to control lights in the scene.

Fetch Example for Fetch channel node

This is an example of the Fetch CHOP. Here the Fetch CHOP is used to import the tx, ty and tz channels from a null node.

HoldLight Example for Hold channel node

This example uses the Hold CHOP in conjunction with the Dynamics CHOP to hold a light at the position of an impact from a DOPs simulation until a new impact occurs.

ClipLayerTrigger Example for Agent Clip Layer dynamics node

This example demonstrates how to use the Agent Clip Layer DOP to apply a clip to the upper body of an agent. The clip is activated when the agent is inside a bounding box.

MultipleSphereClothCollisions Example for Cloth Object dynamics node

This example shows a pieces of cloth with different properties colliding with spheres. By adjusting the stiffness, bend, and surfacemassdensity values, we can give the cloth a variety of different behaviours.

CrowdHeightField Example for Crowd Solver dynamics node

This example demonstrates using heightfields for terrain adaptation in the crowd solver, and for collisions against ragdolls in the Bullet solver.

FootLocking Example for Crowd Solver dynamics node

This example demonstrates how to set up foot locking for an agent.

PartialRagdolls Example for Crowd Solver dynamics node

This example demonstrates how to set up a partial ragdoll, where a subset of the agent’s joints are simulated as active objects by the Bullet solver and the remaining joints are animated.

PinnedRagdolls Example for Crowd Solver dynamics node

This example demonstrates how to set up constraints to attach a ragdoll to an external object, and how to use motors to drive an active ragdoll with an animation clip.

Formation Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a changing formation setup

The setup creates an army of agents. There are two paths created. Middle part of the army starts moving and then splits into two formations. One goes to the left, the other groups keeps marching forward and slowly changes formation to a wedge shape.

To keep the agents in formation a custom geo shape is used. It’s points are used as goals for indiviudal agents. Using blendshapes the shape can change allowing for different formation changes. Dive inside the crowdsource object to see the construction.

Note

The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.

Stadium Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a stadium setup

The setup creates a stadium crowd. The rotating cheer_bbox object is used as a bounding box for the agents. When they are inside it it will trigger a transition from a sitting to a cheering state. After a few seconds the cheering crowd sits back down by transitioning into a sitting state.

Note

The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.

Tip

To only see a section of the crowd for quicker preview there’s a switch node in /obj/crowdsource/switch_all_subsection. When 0 it will show all agents, when set to 1 will only show a small section.

Street Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a street setup with two agent groups

The setup creates two groups of agents. The yellow agents are zombies which follow a path of the street. The blue agents are living pedestrians that wander around until they come into proximity of the zombies and then they swtich into a running state.

Triggers to change agent states are setup in the crowd_sim dopnet. The zombies group uses proximity to the stoplights and the color of the light to transition into a standing state when lights are red. The living group transition into a running state when they get close to the zombie agents.

Note

The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.

TypesOfDrag Example for Drag Force dynamics node

This sample illustrates three different ways to apply drag on an rbd object: by dragging the linear velocity, by dragging the angular velocity, or by directly changing the angular velocity.

DensityViscosity Example for FLIP Solver dynamics node

This example demonstrates two fluids with different densities and viscosities interacting with a solid object.

FlipColorMix Example for FLIP Solver dynamics node

This example demonstrates the use of the Flip Solver to mix the colors of a red fluid with a blue fluid to form a purple fluid.

FlipFluidWire Example for FLIP Solver dynamics node

This example demonstrates the use of the Flip Solver and the Fluid Force DOP. The Fluid Force DOP is used to apply a drag force on a wire object according to the motions of a flip fluid. The drag force is only applied at locations where fluid exists in the fluid object.

PaintedGrog Example for Fluid Object dynamics node

This example creates a torus of paint which is dropped on the Grog character. The Grog character is then colored according to the paint that hits him. This also shows how to have additional color information tied to a fluid simulation.

CombinedSmoke Example for Gas Embed Fluid dynamics node

In this example, two smoke volumes are merged together using a Gas Embed Fluid DOP and some feathering to help provide a smoother transition between the volumes.

GuidedWrinkling Example for Hybrid Object dynamics node

This is a setup for guided wrinkling using the hybrid object. The first sim creates a detailed mesh consisting of both tets and triangles that doesn’t have any wrinkles yet. The second sim is targeted to the animation creates by the first sim and this adds in the wrinkles.

PopFlow Example for Particle Fluid Solver dynamics node

This example demonstrates how to integrate a POP network with a particle fluid simulation, granting one the Total Artistic Control of POPs with the fluid dynamics of the particle fluid simulator.

ViscousFlow Example for Particle Fluid Solver dynamics node

This example demonstrates highly viscous fluid flow using particle-based fluids. Fluids of this form could be used to simulate slowly-flowing fluids such as lava or mud.

WorkflowExample Example for Particle Fluid Solver dynamics node

This somewhat complicated example is meant to demonstrate a simple workflow for simulating, storing, surfacing and rendering a particle fluid simulation. Three geometry nodes in the example are named Step 1, Step 2 and Step 3 according to the order in which they are to be used. They write out particle geometry to disk, read the geometry in and surface it, and read the surfaced geometry from disk, respectively. The example also has shaders and a camera built in so that it can be easily rendered.

The fluid animated in this scene models a highly-elastic gelatin-like blob of fluid.

ParticleCollisions Example for POP Collision Detect dynamics node

This example demonstrates the use of the POP Collision Detect node to simulate particles colliding with a rotating torus with animated deformations.

CurveForce Example for POP Curve Force dynamics node

This example demonstrates the use of the POP Curve Force node to control the flow of a particle sim AND a flip fluid sim.

TargetSand Example for POP Grains dynamics node

This example demonstrates attracting grain simulations to points on the surface of a model.

BillowyTurbine Example for Pyro Solver dynamics node

This example uses the Pyro Solver and a Smoke Object which emits billowy smoke up through a turbine (an RBD Object). The blades of the turbine are created procedurally using Copy, Circle, and Align SOPs.

BlendSolverWithRBDGlue

This example shows how to grab animated key frame data from an RBD Glue object and blend it into a simulation of a cube fragmenting into multiple pieces on impact.

Chainlinks Example for RBD Pin Constraint dynamics node

In this chain simulation, the individual chain links react to one another in an RBD sim.

RBDtoSmokeHandoff Example for Smoke Object dynamics node

This example shows a way to turn an RBD object into smoke. It uses multiple different colored smoke fields inside the same smoke object.

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.

PortalBox Example for Environment Light object node

This example shows how to create a portal light using window geometry. A box is modeled and then split into 2 SOPs - one representing windows and the other walls. The walls are rendered, while the windows are used to specify the portal for an environment light. Toggle on and off the portal to see the render quality difference while rendering in the Render View.

RainbowGeometryLight

This example highlights several features:

  • Geometry area lights

  • Attenuation ramp controls

  • Surface model specular layers

The example consists of a geometry light based on a wireframe of nurbs curves. The attenuation on the light uses colored keys, allowing for different light colors to be produced at different distances from the light. The ground plane shader uses a surface model with two specular components - one wide component and another narrower glossy component to give a multi-layered appearance.

TransparentShadows Example for Light object node

This example shows how to configure transparent shadows with deep shadow maps. The scene includes a transparent grid which casts a shadow on the scene. The renderer used is micropolygon rendering.

IndirectLightBox Example for Indirect Light object node

This example shows how to set up the indirectlight object for indirect diffuse lighting. The scene consists of a box that has been extruded several times, containing a light source and the camera. The light has been placed so that all light reaching the camera must bounce more than once inside the scene before reaching the camera. The indirectlight object is configured to generate 1000000 photons. To visualize the photon map, change the rendering mode on the light to "Direct Global Photon Map". To adjust the sampling quality, modify the pixel samples or ray samples on the mantra ROP. The rendering engine used in this example is PBR.

TubeCaustic Example for Indirect Light object node

This example shows how to set up the indirectlight object for caustic photon map generation and also how light masks and photon targets should be used. The scene consists of a reflective tube and a point and environment light. Each light has a corresponding indirectlight to generate caustics, with the light mask configured to allow the light to generate photons only from the specified light. The photon target is used to ensure that photons are only sent toward the reflective tube. The mantra ROP will produce deep raster planes for the direct_diffuse component on a per-light basis, showing the diffuse illumination from the two lights and the caustics split into separate planes.

switchcamera Example for Switcher object node

In this example, we demonstrate how a switcher node can be used to switch the view between two cameras and then used by the render node to output the scene.

FetchROP Example for Fetch render node

This example demonstrates the use of a Fetch ROP to make render dependency connections to ROP nodes that are in a different network. A noise COP is used to generate a texture just-in-time for a surface which is rendered by mantra.

MotionVector Example for Mantra render node

The example demonstrates how to generate a motion vector layer for post-velocity compositing. Load the example and render 5 frames. Then in the image viewer, switch from 'C' (colour) to 'motion_vector' to see the results.

Volume Rendering - Metaballs as Volume Example for Mantra render node

Metaball geometry can be natively rendered as a volume in mantra. Metaball rendering can be enabled by checking the Metaballs as Volume parameter on the Geometry tab of a geometry object. Any point attributes on the metaballs will be interpolated to the shading position in the same manner that point attributes are interpolated for metaball surfaces.

Here is an example using randomized point color attributes:

Controlling Shadow Quality/Performance

Shadow map generation uses the Pixel Samples and Shadow Step Size parameters (in the Mantra Render Operator) to control quality and performance in exactly the same way they are used for surfaces. Since volumes often cast soft, diffuse shadows, it is often possible to use low-resolution deep shadow maps when rendering volumes, leading to much faster render times. Shadow map Resolution can be changed on the Shadow tab of a Houdini light.

Volume Rendering - File Referenced Smoke Example for Mantra render node

Volume rendering is a rendering approach that allows high-quality, integrated rendering of volumetric effects like smoke, clouds, spray, and fire.

Volume rendering is suitable for rendering many types of volumetric effects. Scenes that are particularly suited to rendering with mantra volumes include:

  • Detailed "hero" clouds, smoke, or fire

  • Fields of instanced clouds, smoke, or fire

Scenes where volume rendering may not be quite so applicable include:

  • Scenes with a single uniform fog

In this particular example, a bgeo file (1 frame only) was exported from a fluid simulation of smoke and is now referenced using the File SOP. A material using VEX Volume Cloud is assigned to this volumetric data at the top level of the Volume Object. To see this scene in shaded mode, ensure that HOUDINI_OGL_ENABLE_SHADERS is set to 1 in the environment variables.

Controlling Quality/Performance

Volume rendering uses ray marching to step through volumes. Ray marching generates shading points in the volume by uniformly stepping along rays for each pixel in the image. There are two ways to change the quality and speed of the volume ray marching:

  1. The samples parameter on the Sampling tab of the mantra ROP. More pixel samples will produce more ray marches within that pixel leading to higher quality. Using more pixel samples will also improve antialiasing and motion blur quality for the volume.

  2. The volumesteprate parameter on the Sampling tab of the mantra ROP. A larger volume step rate will produce more samples in the volume interior, improving quality and decreasing performance. A separate shadow step rate can be used for shadows.

Which parameter you should change will depend on your quality requirements for pixel antialiasing. In general, it is better to decrease the volume step size rather than increase the pixel samples because a smaller volume step size will lead to more accurate renders.

This render uses 2×2 samples and volume step rate of 1. Notice the detail in the shadows.

This render uses the same scene with 4×4 samples and a volume step rate of 0.25. The fine detail in the shadow has been lost and the volume is somewhat more transparent. The quality level is approximately the same.

Volume Rendering - From Primitives Example for Mantra render node

Volume rendering is a rendering approach that allows high-quality, integrated rendering of volumetric effects like smoke, clouds, spray, and fire.

Volume rendering is suitable for rendering many types of volumetric effects such as:

  • Detailed "hero" clouds, smoke, or fire

  • Fields of instanced clouds, smoke, or fire

It is easy to create volumes from primitives without invoking the fluid solver.

In this particular example, a primitive torus is used to render some smoke volume. Using an IsoOffset SOP produces a volume that fills the interior of the torus. Then, a material using a Volume Cloud is assigned to the volumetric data of the torus shape. Setting the Smoke Cloud Density to 5 and the Smoke Shadow Density to 10 helps create a more smoke-like look and feel.

Here is the torus rendered with tweaks to the volume step sizes (in the Mantra Render Operator), shadow map quality (under Depth Map Options of the spotlight), and volume primitive divisions (on the IsoOffset SOP). The smoke Diffuse color was adjusted too.

netbarrierpost Example for Net Barrier render node

In this example, we demonstrate how a netbarrier ROP node can be used to ensure that multiple machines stay in sync with each other.

RampReference

This example demonstrates the use of ramps and referenced ramps which are animated over time.

ShutterShape

This example demonstrates how to use the shutter shape parameter to control the opening of the shutter along time through a grayscale ramp.

Down Hill Lava Flow Example for Material shader node

In this file we create a downhill lava flow with crust gathering and hardening at the base of the slope. All of the animation is achieved through the shader itself, and all of the geometry is completely static.

Note

Most of the parameters for the lava material are overridden by point attributes created in the surface nodes.

FirePit Example for Material shader node

Note

No geometry is animated in this file. All animation is achieved by animating the textures

Flames are grids so that UV textures can easily be applied, they are then warped around a metaball using a magnet SOP. The flames are then assigned to either a yellow or blue Flames texture. The Flames' opacity mask wrap is set to Decal to prevent the texture from repeating and showing a single pixel ring at the top of the flame geometry. I'm also using a mask file named flameOpacMap.jpg to enhance the flames' shape at the top. The noise offset has been animated over $T with an greater emphasis on the Y axis so that the flames look like they are rising. This is the same reason the Noise jitter is larger for the Y axis as well.

The coals are spheres that have been copy stamped onto a deformed grid. Using Attribute Create surface nodes I am able to override and copy stamp the lava texture’s parameters at the SOP level so that local variables, such as $BBY, can be used to animate the texture. This way the texture’s crust and its crust values can be used only to form the tops of the coals. This reserves the lava aspect of the texture to be used on the bottoms of the coals. The lava intensity (Kd attribute) is then stamped and animated to create the look of embers on the bottom of coals glowing.

StyleDisplacement Example for Material shader node

This is an example file showing an object made up of two quads, one with a bump map, the other with true displacement. This object is duplicated, and the second copy uses a style sheet to reverse the material assignments on the two quads.

Basic RIS Shading Example Example for RIS Shader Network shader node

In this file we create a simple geometry and assign BxDF shaders to it. The shading network consists of pattern shaders feeding into the BxDF shaders.

VolumeNoiseIso Example for Mantra: VEX Volume Procedural shader node

This example shows how to render an isosurface defined by a cvex shader using mantra’s volume rendering capabilities. A noise field is generated by a cvex shader, which is attached to the VEX Volume Procedural. The volume is shaded by finding the surface where the density crosses 0, and then shading using a simple surface shader that shows the normals.

AddItUp Example for Add geometry node

This network demonstrates the many uses of the Add SOP to build and manipulate geometry:

  • It is used to create points in space which can then be used to create polygons using designated patterns. These polygons can be open or closed. Futhermore, each point can be animated through expressions or keyframes.

  • It is used to both create points and grab points from other primitives. These points may be used in polygon creation.

  • The Add SOP may be utilized to create a polygon using points extracted from another polygonal object. A Group SOP allows for the creation of the point group that will be referenced by the Add SOP.

  • The Add SOP is used to create a polygon from a group of animated Null objects. An Object Merge SOP references the null points in SOPs which are then fed into an Add SOP for polygon generation. A Fit SOP, in turn, is used to create an interpolated spline from the referenced null points. The result is an animted spline.

  • The Add SOP is used to generate points without creating any primitives. Also, points from other objects can be extracted through the Add SOP.

  • Finally the Add SOP can additionally be used to procedurally create rows and columns.

CurveTexturing Example for Attribute Create geometry node

The AttribCreate SOP can be used to provide various object-specific attributes by allowing both a label and a value to be given to the newly created attribute.

In this example, the AttribCreate SOP is used to control the width of a curve at rendertime. There are two versions, chosen by a Switch SOP.

  • One AttribCreate SOP gives a constant width attribute in the X axis.

  • The other uses an expression to control the thickness of the curve to create a tapering effect.

The attribute is used by Mantra at render time. To see the results, right-click on the render icon in the viewport, and choose "render_example".

RandomMaterial Example for Attribute String Edit geometry node

This example demonstrates how to use the Attrib String Edit SOP to modify String primitive attributes and randomize the colours on a grid on a per-primitive basis.

BoxSpring Example for Box geometry node

The Box SOP is used for more than just creating boxes. It can also envelop existing geometry for specific purposes.

The Box SOP can either create a simple six-sided polygon box, calculate the bounding box size for geometry, or be used in conjunction with the Lattice SOP.

There are two objects within the box.hip file that are examples of this:

  • animated_bounding_box

    The animated_bounding_box object shows how you can envelope an object and surround it with a simple box, even if it is animated. This can be useful when displaying complicated geometry, in which case you would put the display flag on the box object and the render flag on the complicated geometry.

  • box_spring_lattice

    This is an example, a Lattice SOP used in conjunction with the Box SOP. The Box SOP is used to envelope some geometry, in this case a sphere. Divisions is checked to create the proper geometry by referencing the number of divisions in the Lattice SOP.

The top points of the box are grouped by a Group SOP. The Spring SOP uses these points as the Fixed Points from which to create the deformation.

Using the Box SOP in this way allows you to change the incoming geometry (the basic_sphere in this case) and have the box and lattice automatically re-size for you.

CapCarousel Example for Cap geometry node

This example shows how to cap two designated areas of a geometry by creating groups.

Two Group SOPs are used to create two groups, group_bottom and group_middle. These groups are created using Number Enable. The Pattern number corresponds to the primitive number, which you can see by turning on primitive numbers.

Two Cap SOPs are used to cap the two groups. By capping either the First V Cap or Last V Cap, you can select which end of the group you want to cap.

CreepWeave Example for Creep geometry node

This example shows how you can take a geometry and creep it over an animated surface.

A file, fabric.bgeo, which looks like woven fabric, has been brought in using the File SOP. A NURBS grid has been animated to look like a piece of waving fabric using sine and noise functions.

The fabric.bgeo is crept over the animated NURBS grid, using a Creep SOP, and the result is an animated piece of woven fabric.

DeleteDemo Example for Delete geometry node

This example demonstrates how the Delete SOP is used to remove specified geometry from a scene.

Geometry may be deleted by Point or Primitive Numbers, by Group, or by position within a Bounding Box.

DeltaMushDemo Example for DeltaMush geometry node

This example demonstrates how the Delta Mush SOP is used to smooth out bone deformation.

LowHigh Example for Dop Import geometry node

This example shows how to create a low res - high res set up to support RBD objects. The two main methods are to reference copy the DOP Import SOP and feed in the high res geometry or to use point instancing with an Instance Object.

PackedPoints Example for File geometry node

This example shows how you can use the file sop to do a delayed load of packed disk primitives to have multiple geometry samples per frame for rendering motion blur. If you save out the packed disk geometry, you're really only saving out the point geometry with references to the disk files (which is very light weight).

PackedSamples Example for File geometry node

This example shows how you can use the file sop to do a delayed load of packed primitives to have multiple geometry samples per frame for rendering motion blur.

BubblyFont Example for Font geometry node

The Font SOP is used to create 3D text geometry in the scene.

The geometry may be set to Polygon, Bezier, or a combination of the two.

With the combination, Bezier will be used for letters containing curves, and Polygon will be used for those with only straight edges.

Fonts other than those loaded by default may be loaded in the Font parameter.

FontBasic Example for Font geometry node

This example demonstrates some of the parameters available for formatting text using the Font SOP.

FurBallWorkflow Example for Fur geometry node

This example demonstrates how the Fur SOP and Mantra Fur Procedural can be applied to an animated skin geometry. CVEX shaders are used to apply a custom look to the hairs based upon attributes assigned to the geometry.

Brickify Example for IsoOffset geometry node

This example shows how to 'brickify' or make an object appear to be made of bricks using the IsoOffset SOP.

MultiUV

This example demonstrates how to have multiple shading layers with different uv sets using the Layer SOP and the VEX Layered Surface SHOP.

LSystemMaster Example for L-System geometry node

The LSystems SOP allows for the definition of complex shapes through the use of iteration. It uses a mathematical language in which an initial string of characters is evaluated repeatedly, and the results are used to generate geometry. The result of each evaluation becomes the basis for the next iteration of geometry, giving the illusion of growth.

The example networks located in this demonstration should be enough to get you started writing custom LSystem rules.

However, anyone seriously interested in creating LSystems should obtain the book:

The Algorithmic Beauty of Plants, Przemyslaw Prusinkiewicz and Aristid Lindenmayer

For a full list of LSystem commands, see the Houdini documentation.

PScale Example for Particle geometry node

This example shows the ability of the Particle SOP to define a default Size for any given birthed particle.

A simple Grid can be used to create a dynamic solution of particles streaming off as if blown by the wind. As these particles leave the grid, their size slowly diminishes, as the particle continues to die.

PeakEars Example for Peak geometry node

This is an example of how to use the Peak SOP to create pointed ears on a head.

The Peak SOP is given the point numbers of the points to be "peaked". It then translates them along their normals to create the pointed ears.

RayWrap Example for Ray geometry node

The Ray SOP projects one object over the surface contours of another.

It does so by calculating the collisions of the projected object’s normals with the surface geometry of the collided object.

In this example, a Grid is wrapped over the surface of a deformed Sphere using the Ray SOP.

A Facet SOP is used to correct the normals of the wrapped Grid after it is deformed over the surface.

Squidremesh Example for Remesh geometry node

This example demonstrates how to use the Remesh SOP to remesh a model of a giant squid crab while preserving the hard edges of the model.

BasicRest Example for Rest Position geometry node

The Rest Position SOP creates an attribute based on the surface normals that allows a shader to stick to a deforming surface.

All primitives support the rest attribute, but, in the case of quadric primitives (circle, tube, sphere and metaball primitives), the rest position is only translational. This means that rest normals will not work correctly for these primitive types either.

Use the Rest Position SOP only when you are deforming your geometry and you are assigning volumetric or solid materials/patterns in your shader.

Rest normals are required if feathering is used on polygons and meshes in Mantra. NURBs/Beziers will use the rest position to compute the correct resting normals.

It will be necessary to render the setup in order to see the effect.

UnpackWithStyle Example for Unpack geometry node

This example demonstrates the Unpack SOPs ability to evaluate style sheet information while unpacking. Nested packed primitives are used to demonstrate partial unpacking while still preserving styling information. This example also demonstrates the use of a Python SOP to extract information from the per-primitive style sheets.

volumeanalysis_curvature Example for Volume Analysis geometry node

This example shows how to use the Volume Analysis SOP to compute the curvature of a volume and colour the original points from the curvature values.

volumeanalysis_grad Example for Volume Analysis geometry node

This example shows how to use the Volume Analysis SOP to compute the gradient of a volume and displace the geometry’s points by the gradient.

volumeblur Example for Volume Blur geometry node

This example demonstrates how the Volume Blur SOP can be used to apply local filters to volume values, such as blurring, dilating, or eroding.

volumemerge Example for Volume Merge geometry node

This example shows how to use the Volume Merge SOP to flatten multiple instanced volumes onto a single camera frustum volume.

volumesurface_simple Example for Volume Surface geometry node

This example shows how to use the Volume Surface SOP to surface an SDF using adaptive triangle sizes.

WornMetal Example for Curvature VOP node

This example shows how the curvature vop can be added to a shader network to add a worn or distressed look to your material.

PointCloudWrite Example for Point Cloud Write VOP node

This example shows how the pcwrite vop can be used to write out points to a point cloud file. Render the mantra1 ROP to generate the point cloud, then view the point cloud with gplay. The distribution of points will depend on where mantra shaders are executed - in this case, the mantra ROP is configured to shade hidden surfaces allowing the back faces of the sphere to generate points.

RaytraceVopShader Example for Ray Trace VOP node

This example demonstrates a simple ray traced shader using a vop vex network. To modify the shader properties, create a properties shader in the material and connect it to the output shaders node. You can then add rendering parameters to the properties node. For example to control the number of reflection bounces, you would add the reflect limit parameter.

Geometry nodes

  • Adaptive Prune

    Removes elements while trying to maintain the overall appearance.

  • Add

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

  • Agent

    Creates agent primitives.

  • Agent Clip

    Adds new clips to agent primitives.

  • Agent Clip Properties

    Defines how agents' animation clips should be played back.

  • Agent Clip Transition Graph

    Creates geometry describing possible transitions between animation clips.

  • Agent Collision Layer

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

  • Agent Configure Joints

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

  • Agent Constraint Network

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

  • Agent Edit

    Edits properties of agent primitives.

  • Agent Layer

    Adds a new layer to agent primitives.

  • Agent Look At

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

  • Agent Look At

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

  • Agent Prep

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

  • Agent Prep

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

  • Agent Proxy

    Provides simple proxy geometry for an agent.

  • Agent Relationship

    Creates parent-child relationships between agents.

  • Agent Terrain Adaptation

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

  • Agent Transform Group

    Adds new transform groups to agent primitives.

  • Alembic

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

  • Alembic Group

    Creates a geometry group for Alembic primitives.

  • Alembic Primitive

    Modifies intrinsic properties of Alembic primitives.

  • Alembic ROP output driver

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

  • Attribute Blur

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

  • Attribute Cast

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

  • Attribute Composite

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

  • Attribute Copy

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

  • Attribute Create

    Adds or edits user defined attributes.

  • Attribute Delete

    Deletes point and primitive attributes.

  • Attribute Expression

    Allows simple VEX expressions to modify attributes.

  • Attribute Fade

    Fades a point attribute in and out over time.

  • Attribute Interpolate

    Interpolates attributes within primitives or based on explicit weights.

  • Attribute Mirror

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

  • Attribute Promote

    Promotes or demotes attributes from one geometry level to another.

  • Attribute Randomize

    Generates random attribute values of various distributions.

  • Attribute Rename

    Renames or deletes point and primitive attributes.

  • Attribute Reorient

    Modifies point attributes based on differences between two models.

  • Attribute String Edit

    Edits string attribute values.

  • Attribute Swap

    Copies, moves, or swaps the contents of attributes.

  • Attribute Transfer

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

  • Attribute Transfer By UV

    Transfers attributes between two geometries based on UV proximity.

  • Attribute VOP

    Runs a VOP network to modify geometry attributes.

  • Attribute Wrangle

    Runs a VEX snippet to modify attribute values.

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

    Computes lighting values within volume primitives

  • Basis

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

  • Bend

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

  • Blast

    Deletes primitives, points, edges or breakpoints.

  • Blend Shapes

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

  • Block Begin

    The start of a looping block.

  • Block Begin Compile

    The start of a compile block.

  • Block End

    The end/output of a looping block.

  • Block End Compile

    The end/output of a compile block.

  • Bone Capture

    Supports Bone Deform by assigning capture weights to bones.

  • Bone Capture Biharmonic

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

  • Bone Capture Lines

    Supports Bone Capture Biharmonic by creating lines from bones with suitable attributes.

  • Bone Capture Proximity

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

  • Bone Deform

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

  • Bone Link

    Creates default geometry for Bone objects.

  • Boolean

    Combines two polygonal objects with boolean operators, or finds the intersection lines between two polygonal 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.

  • 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 Attribute Pack

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

  • Capture Attribute Unpack

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

  • Capture Correct

    Adjusts capture regions and capture weights.

  • Capture Layer Paint

    Lets you paint capture attributes directly onto geometry.

  • 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 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 deform NURBS faces and NURBS 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.

  • Cloud

    Creates a volume representation of source geometry.

  • Cloud Light

    Fills a volume with a diffuse light.

  • Cloud Noise

    Applies a cloud like noise to a Fog volume.

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

  • Collision Source

    Creates geometry and VDB volumes for use with DOPs collisions.

  • Color

    Adds color attributes to geometry.

  • Comb

    Adjust surface point normals by painting.

  • Connect Adjacent Pieces

    Creates lines between nearby pieces.

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

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

  • Convert Line

    Converts the input geometry into line segments.

  • Convert Meta

    Polygonizes metaball geometry.

  • Convert Tets

    Generates the oriented surface of a tetrahedron mesh.

  • Convert VDB

    Converts sparse volumes.

  • Convert VDB Points

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

  • Convert Volume

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

  • Copy Stamp

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

  • Copy and Transform

    Copies geometry and applies transformations to the copies.

  • Copy to Points

    Copies the geometry in the first input 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.

  • Crowd Source

    Populates a crowd of agent primitives.

  • Crowd Source

    Creates crowd agents to be used with the crowd solver.

  • 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 I/O

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

  • DOP Import Fields

    Imports scalar and vector fields from a DOP simulation.

  • DOP Import Records

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

  • DOP Network

  • Debris Source

    Generates point emission sources for debris from separating fractured rigid body objects.

  • Deformation Wrangle

    Runs a VEX snippet to deform geometry.

  • Delete

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

  • Delete Overlapping Polygons

    Removes polygons that overlap.

  • DeltaMush

    Smooths out (or "relaxes") point deformations.

  • Dissolve

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

  • Dissolve

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

  • Divide

    Divides, smooths, and triangulates polygons.

  • Dop Import

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

  • Draw Curve

    Creates a curve based on user input in the viewport.

  • Draw Guides

  • Each

    Culls the input geometry 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.

  • Edge Transport

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

  • Edit

    Edits points, edges, or faces interactively.

  • Ends

    Closes, opens, or clamps end points.

  • Enumerate

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

  • Error

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

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

  • Filament Advect

    Evolves polygonal curves as vortex filaments.

  • File

    Reads, writes, or caches geometry on disk.

  • File Cache

    Writes and reads geometry sequences to disk.

  • File Merge

    Reads and collates data from disk.

  • Fillet

    Creates smooth bridging geometry between two curves or surfaces.

  • Filmbox FBX ROP output driver

  • Find Shortest Path

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

  • Fit

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

  • Fluid Compress

    Compresses the output of fluid simulations to decrease size on disk

  • Fluid Source

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

  • Font

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

  • Force

    Uses a metaball to attract or repel points 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.

  • Grain Source

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

  • Grid

    Creates planar geometry.

  • Groom Blend

    Blends the guides and skin of two grooms.

  • Groom Fetch

    Fetches groom data from grooming objects.

  • Groom Pack

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

  • Groom Switch

    Switches between all components of two groom streams.

  • Groom Unpack

    Unpacks the components of a groom from a packed groom.

  • Group

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

  • Group Combine

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

  • Group Copy

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

  • Group Delete

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

  • Group Expression

    Runs VEX expressions to modify group membership.

  • Group Paint

    Sets group membership interactively by painting.

  • Group Promote

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

  • Group Range

    Groups points and primitives by ranges.

  • Group Rename

    Renames groups according to patterns.

  • Group Transfer

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

  • Guide Advect

    Advects guide points through a velocity volume.

  • Guide Collide With VDB

    Resolves collisions of guide curves with VDB signed distance fields.

  • Guide Deform

    Deforms geometry with an animated skin and optionally guide curves.

  • Guide Groom

    Allows intuitive manipulation of guide curves in the viewport.

  • Guide Group

    Creates standard primitive groups used by grooming tools.

  • Guide Initialize

    Quickly give hair guides some initial direction.

  • Guide Mask

    Creates masking attributes for other grooming operations.

  • Guide Partition

    Creates and prepares parting lines for use with hair generation.

  • Guide Skin Attribute Lookup

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

  • Guide Tangent Space

    Constructs a coherent tangent space along a curve.

  • Guide Transfer

    Transfer hair guides between geometries.

  • Hair Clump

    Clumps guide curves together.

  • Hair Generate

    Generates hair on a surface or from points.

  • Hair Growth Field

    Generates a velocity field based on stroke primitives.

  • HeightField

    Generates an initial heightfield volume for use with terrain tools.

  • HeightField Blur

    Blurs a terrain height field or mask.

  • HeightField Clip

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

  • HeightField Copy Layer

    Creates a copy of a height field or mask.

  • HeightField Crop

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

  • HeightField Distort

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

  • HeightField Draw Mask

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

  • HeightField Erode

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

  • HeightField File

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

  • HeightField Isolate Layer

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

  • HeightField Layer

    Composites together two height fields.

  • HeightField Layer Clear

    Sets all values in a heightfield layer to 0.

  • HeightField Layer Property

    Sets the border voxel policy on a height field volume.

  • HeightField Mask by Feature

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

  • HeightField Mask by Object

    Creates a mask based some other geometry.

  • HeightField Noise

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

  • HeightField Output

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

  • HeightField Paint

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

  • HeightField Patch

    Patches features from one heightfield to another.

  • HeightField Pattern

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

  • HeightField Project

    Projects 3D geometry into a height field.

  • HeightField Quick Shade

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

  • HeightField Remap

    Remaps the values in a height field or mask layer.

  • HeightField Resample

    Changes the resolution of a height field.

  • HeightField Scatter

    Scatters points across the surface of a height field.

  • HeightField Slump

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

  • HeightField Terrace

    Creates stepped plains from slopes in the terrain.

  • HeightField Tile Splice

    Stitches height field tiles back together.

  • HeightField Tile Split

    Splits a height field volume into rows and columns.

  • HeightField Transform

    Height field specific scales and offsets.

  • HeightField Visualize

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

  • Hole

    Makes holes in surfaces.

  • Inflate

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

  • Instance

    Instances Geometry on Points.

  • Intersection Analysis

    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.

  • Intersection Stitch

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

  • Invoke Compiled Block

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

  • IsoOffset

    Builds an offset surface from geometry.

  • IsoSurface

    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.

  • Lattice

    Deforms geometry based on how you reshape control geometry.

  • Lidar Import

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

  • Line

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

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

  • Mountain

    Displaces points along their normals based on fractal noise.

  • Muscle Capture

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

  • Muscle Deform

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

  • Name

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

  • Normal

    Computes surface normal attribute.

  • Null

    Does nothing.

  • Object Merge

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

  • Object_musclerig@musclerigstrokebuilder

  • Object_riggedmuscle@musclestrokebuilder

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

  • Ocean Evaluate

    Deforms input geometry based on ocean "spectrum" volumes.

  • Ocean Evaluate

    Deforms input geometry based on ocean "spectrum" volumes.

  • Ocean Foam

    Generates particle-based foam

  • Ocean Source

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

  • Ocean Source

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

  • Ocean Spectrum

    Generates volumes containing information for simulating ocean waves.

  • Ocean Waves

    Instances individual waveforms onto input points and generated points.

  • OpenCL

    Executes an OpenCL kernel on geometry.

  • Output

    Marks the output of a sub-network.

  • Pack

    Packs geometry into an embedded primitive.

  • Pack Points

    Packs points into a tiled grid of packed primitives.

  • Packed Disk Edit

    Editing Packed Disk Primitives.

  • Packed Edit

    Editing Packed Primitives.

  • Paint

    Lets you paint color or other attributes on geometry.

  • Paint Color Volume

    Creates a color volume based on drawn curve

  • Paint Fog Volume

    Creates a fog volume based on drawn curve

  • Paint SDF Volume

    Creates an SDF volume based on drawn curve

  • Particle

    Creates simple particle simulations without requiring an entire particle network.

  • Particle Fluid Surface

    Generates a 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.

  • 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

    Constructs an iso surface from its input points.

  • Point Deform

    Deforms geometry on an arbitrary connected point mesh.

  • Point Generate

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

  • Point Jitter

    Jitters points in random directions.

  • Point Relax

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

  • Point Replicate

    Generates a cloud of points around the input points.

  • Points from Volume

    Creates set of regular points filling a volume.

  • Poly Bridge

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

  • Poly Expand 2D

    Creates offset polygonal geometry for planar polygonal graphs.

  • Poly Extrude

    Extrudes polygonal faces and edges.

  • PolyBevel

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

  • PolyBevel

    Bevels points and edges.

  • PolyCut

    Breaks curves where an attribute crosses a threshold.

  • PolyDoctor

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

  • PolyExtrude

    Extrudes polygonal faces and edges.

  • PolyFill

    Fills holes with polygonal patches.

  • PolyFrame

    Creates coordinate frame attributes for points and vertices.

  • PolyLoft

    Creates new polygons using existing points.

  • PolyPatch

    Creates a smooth polygonal patch from primitives.

  • PolyPath

    Cleans up topology of polygon curves.

  • PolyReduce

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

  • PolySoup

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

  • PolySpline

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

  • PolySplit

    Divides an existing polygon into multiple new polygons.

  • PolySplit

    Divides an existing polygon into multiple new polygons.

  • PolyStitch

    Stitches polygonal surfaces together, attempting to remove cracks.

  • PolyWire

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

  • Pose Scope

    Assigns channel paths and/or pickscripts to geometry.

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

  • Python

    Runs a Python snippet to modify the incoming geometry.

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

  • Reguide

    Scatters new guides, interpolating the properties of existing guides.

  • Remesh

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

  • Repack

    Repacks geometry as an embedded primitive.

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

  • Rewire Vertices

    Rewires vertices to different points specified by an attribute.

  • Ripple

    Generates ripples by displacing points along the up direction specified.

  • 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

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

  • Sequence Blend

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

  • Shrinkwrap

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

  • Shrinkwrap

    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.

  • Sky

    Creates a sky filled with volumentric clouds

  • Smooth

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

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

  • Solid Conform

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

  • Solid Embed

    Creates a simple tetrahedral mesh that covers a connected mesh.

  • Solid Fracture

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

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

  • Split

    Splits primitives or points into two streams.

  • Spray Paint

    Spray paints random points onto a surface.

  • Spring

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

  • Sprite

    A SOP node that sets the sprite display for points.

  • Starburst

    Insets points on polygonal faces.

  • Stash

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

  • Stitch

    Stretches two curves or surfaces to cover a smooth area.

  • Stroke

    Low level tool for building interactive assets.

  • Stroke Cache

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

  • 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 single op in the Network Editor.

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

  • Test Geometry: Pig Head

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

  • Test Geometry: Rubber Toy

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

  • Test Geometry: Shader Ball

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

  • Test Geometry: Squab

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

  • Test Geometry: Tommy

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

  • Test Simulation: Crowd Transition

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

  • Test Simulation: Ragdoll

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

  • Tet Partition

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

  • Tetrahedralize

    Performs variations of a Delaunay Tetrahedralization.

  • Time Warp

    Retimes the input to a different time range.

  • TimeBlend

    Blends intraframe values for geometry.

  • TimeShift

    Cooks the input at a different time.

  • Toon Shader Attributes

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

  • TopoBuild

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

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

  • Transform By Attribute

    Transforms the input geometry by a point attribute.

  • Transform Pieces

    Transforms input geometry according to transformation attributes on template geometry.

  • Tri Bezier

    Creates a triangular Bezier surface.

  • TriDivide

    Refines triangular meshes using various metrics.

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

    Creates flattened pieces in texture space from 3D geometry.

  • UV Flatten

    Creates flattened pieces in texture space from 3D geometry.

  • UV Fuse

    Merges UVs.

  • UV Layout

    Tries to pack UV islands efficiently into a limited area.

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

  • Unpack

    Unpacks packed primitives.

  • Unpack Points

    Unpacks points from packed primitives.

  • VDB

    Creates one or more empty/uniform VDB volume primitives.

  • VDB Activate

    Activates voxel regions of a VDB for further processing.

  • VDB Activate SDF

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

  • VDB Advect Points

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

  • VDB Advect SDF

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

  • VDB Analysis

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

  • VDB Clip

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

  • VDB Combine

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

  • VDB Diagnostics

    Tests VDBs for Bad Values and Repairs.

  • VDB Fracture

    Cuts level set VDB volume primitives into multiple pieces.

  • VDB LOD

    Build an LOD Pyramid from a VDB.

  • VDB Morph SDF

    Blends between source and target SDF VDBs.

  • VDB Occlusion Mask

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

  • VDB Points Group

    Manipulates the Internal Groups of a VDB Points Primitive.

  • VDB Project Non-Divergent

    Removes divergence from a Vector VDB.

  • VDB Renormalize SDF

    Fixes signed distance fields stored in VDB volume primitives.

  • VDB Resample

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

  • VDB Reshape SDF

    Reshapes signed distance fields in VDB volume primitives.

  • VDB Segment by Connectivity

    Splits SDF VDBs into connected components.

  • VDB Smooth

    Smooths out the values in a VDB volume primitive.

  • VDB Smooth SDF

    Smooths out SDF values in a VDB volume primitive.

  • VDB Topology to SDF

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

  • VDB Vector Merge

    Merges three scalar VDB into one vector VDB.

  • VDB Vector Split

    Splits a vector VDB primitive into three scalar VDB primitives.

  • VDB Visualize Tree

    Replaces a VDB volume with geometry that visualizes its structure.

  • VDB from Particle Fluid

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

  • VDB from Particles

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

  • VDB from Polygons

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

  • VDB to Spheres

    Fills a VDB volume with adaptively-sized spheres.

  • VEX SOP

    References a VEX program that can manipulate point attributes.

  • Verify BSDF

    Verify that a bsdf conforms to the required interface.

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

  • Visualize

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

  • Volume

    Creates a volume primitive.

  • Volume Analysis

    Computes analytic properties of volumes.

  • Volume Arrival Time

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

  • Volume Blur

    Blurs the voxels of a volume.

  • Volume Bound

    Bounds voxel data.

  • Volume Break

    Cuts polygonal objects using a signed distance field volume.

  • Volume Compress

    Re-compresses Volume Primitives.

  • Volume Convolve 3×3×3

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

  • Volume FFT

    Compute the Fast Fourier Transform of volumes.

  • Volume Feather

    Feathers the edges of volumes.

  • Volume Merge

    Flattens many volumes into one volume.

  • Volume Mix

    Combines the scalar fields of volume primitives.

  • Volume Optical Flow

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

  • Volume Patch

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

  • Volume Ramp

    Remaps a volume according to a ramp.

  • Volume Rasterize

    Rasterizes into a volume.

  • Volume Rasterize Curve

    Converts a curve into a volume.

  • Volume Rasterize Hair

    Converts fur or hair to a volume for rendering.

  • Volume Rasterize Particles

    Converts a point cloud into a volume.

  • Volume Rasterize Points

    Converts a point cloud into a volume.

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

    Resizes the bounds of a volume without changing voxels.

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

    Stamps volumes instanced on points into a single target volume.

  • Volume Surface

    Adaptively surfaces a volume hierarchy with a regular triangle mesh.

  • Volume Trail

    Computes a trail of points through a velocity volume.

  • Volume VOP

    Runs CVEX on a set of volume primitives.

  • Volume Velocity

    Computes a velocity volume.

  • Volume Velocity from Curves

    Generates a volume velocity field using curve tangents.

  • Volume Velocity from Surface

    Generates a velocity field within a surface geometry.

  • Volume Visualization

    Adjusts attributes for multi-volume visualization.

  • Volume Wrangle

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

  • Volume from Attribute

    Sets the voxels of a volume from point attributes.

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

  • Whitewater Source

    Generates emission particles and volumes to be used as sources in a Whitewater simulation.

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