Houdini 12 Examples
Example forExample name
Load | Launch

.../examples/nodes/shop/ogl2_tangentnormalmap/TangentNormalMapExample.otl

This example demonstrates how to use the Tangent Space Normal Map GLSL shader in conjunction with the PolyFrame SOP.

AddLoad | Launch

.../examples/nodes/sop/add/Add.otl

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.

  • AlignLoad | Launch

    .../examples/nodes/sop/align/AlignTube.otl

    This example demonstrates how the UV information on surfaces, NURBS in this example, are used by the Align SOP to orient one object to another’s surface.

    UV reference parameters in the Align SOP can be animated as shown in the align_tube example.

    Animating UV parameters leads to the translation and rotation of the aligned geometries along one another’s surface in various ways.

    Attrib CopyLoad | Launch

    .../examples/nodes/sop/attribcopy/AttribCopyTessel.otl

    This is an example of how to transfer attributes from one geometry to another using the AttribCopy SOP.

    A “smiley face” is painted onto a grid as a color attribute using the Paint SOP. The attribute is then transferred to another grid. Because of a discrepancy between the sizes of the grid, a tesselation occurs.

    When there are differences between the sizes of the geometry, the AttribCopy SOP will repeat the pattern of the attribute in a cyclic fashion.

    Attrib CreateLoad | Launch

    .../examples/nodes/sop/attribcreate/CurveTexturing.cmd

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

    Attribute From VolumeLoad | Launch

    .../examples/nodes/sop/attribfromvolume/DeformVolume.otl

    Here’s a simple example showing how you can deform a volume. First create a 3d grid of points with the box sop with divisions matching the resolution of the volume. Next, transfer the density from the volume on those points. Finally, the points can be deformed any way you want, and then you can create an empty volume and fill it with the densities from the points.

    Attribute From VolumeLoad | Launch

    .../examples/nodes/sop/attribfromvolume/attribfromvolume.otl

    This example demonstrates how the AttribFromVolume SOP can be used to transfer volume values onto point attributes.

    Attrib PromoteLoad | Launch

    .../examples/nodes/sop/attribpromote/AttribPromoteSphere.cmd

    This example demonstrates how the AttribPromote SOP can be used to transfer (promote) attributes between points and primitives.

    Attrib ReorientLoad | Launch

    .../examples/nodes/sop/attribreorient/CopyUsingOrient.otl

    This example demonstrates how to use the Attrib Reorient SOP to calculate rotations applied to points. These rotations are used by the Copy SOP when creating each instance.

    Attrib TransferLoad | Launch

    .../examples/nodes/sop/attribtransfer/MountainSplash.otl

    This example demonstrates how to transfer attributes from the points on one geometry to the points on another, using the AttribTransfer SOP.

    A line is crept along the surface of a deformed grid. A section of the grid is painted red using the Paint SOP. Using the AttribTransfer SOP, the animated line inherits the attributes from the points on the grid.

    Particles are then birthed along the line based on the color attribute (Cd). As the inherited color nears red, particles are born. The particles also use the velocity inherited by the points on the line.

    Please press play to see the animation.

    Attrib TransferLoad | Launch

    .../examples/nodes/sop/attribtransfer/NormalsAttribTransfer.cmd

    The AttribTransfer SOP may be used to transfer various point attributes from a source geometry to a target. In this case, the normal attributes, N[3], of one grid are transferred to another grid.

    Attrib TransferLoad | Launch

    .../examples/nodes/sop/attribtransfer/TransferColor.cmd

    The Attribute Transfer SOP can be used to transfer color attributes from one geometry to another. The effective field of transfer can be controlled through the various parameters in the Attribute Transfer SOP.

    AttributeLoad | Launch

    .../examples/nodes/sop/attribute/AttributeRename.otl

    This is an example of how the Attribute SOP is used to delete and rename attributes within Houdini. Attributes may also be renamed for proper RIB outputs for Renderman.

    Bake VolumeLoad | Launch

    .../examples/nodes/sop/bakevolume/bakevolume.otl

    This example shows how to setup the Bake Volume SOP to compute the lightfield created by the shadowing of a fog volume. It then exports the fields properly to be rendered in Mantra by a constant volume shader.

    BlastLoad | Launch

    .../examples/nodes/sop/blast/Blast.otl

    This network contains a simple example of how the Blast SOP can be used to delete elements of your model.

    The Blast SOP can be used to delete points, edges, polygons and breakpoints using designated patterns.

    Blend ShapesLoad | Launch

    .../examples/nodes/sop/blendshapes/BlendColors.otl

    This network utilizes the Blendshapes SOP to morph one geometry’s colors into another’s color.

    Two input blend shapes act as inputs for the Blendshapes SOP.

    The Blendshapes SOP interpolates all designated attributes, in this case “Cd” between the various inputs.

    Play the animation to see the effect.

    Blend ShapesLoad | Launch

    .../examples/nodes/sop/blendshapes/Blendshapes.otl

    The Blendshapes SOP is used to blend shapes and/or attributes from input geometry.

    In this case, three input morph targets are used by the Blendshapes SOP with the Differencing and Blend Position options checked.

    The blend values of the input morphs is keyframed for specific effects. Play the animation to see the results.

    BoxLoad | Launch

    .../examples/nodes/sop/box/Box.otl

    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 POP. The Spring POP 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.

    BridgeLoad | Launch

    .../examples/nodes/sop/bridge/BridgeCurvesandPrims.otl

    This contains two examples of how to use the Bridge SOP.

    The first example illustrates how to use the Bridge SOP on projected and trimmed curves. The second illustrates how to use the Bridge SOP on two carved primitives.

    Press Play to see an animated version of the Bridge over Two Carves.

    BulgeLoad | Launch

    .../examples/nodes/sop/bulge/BulgeCat.cmd

    Create a simple cat head by using the Bulge SOP combined with metaballs and a NURBS sphere.

    BulgeLoad | Launch

    .../examples/nodes/sop/bulge/BulgeTube.otl

    The Bulge SOP is used to deform geometry using a metaball as a magnet force.

    The magnitude of the magnet force can be adusted in the Bulge SOP.

    The parameters in the Metaball SOP may also be adjusted to modify the final effect of the Bulge SOP on the deforming geometry.

    CacheLoad | Launch

    .../examples/nodes/sop/cache/SlowParticles.otl

    This file uses the Particle SOP to create a stream of particles.

    Then using the Cache SOP, the particles are slowed down. The Cache SOP has the ability to control the frame rate of an animation and read the animation slower than the global frame rate

    CapLoad | Launch

    .../examples/nodes/sop/cap/CapCarousel.otl

    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.

    CapLoad | Launch

    .../examples/nodes/sop/cap/CapTubeExamples.otl

    This example contains different variations on how to cap a tube.

    There are three geometry types that are able to be capped – NURBS, mesh, and Bezier.

    Each geometry type contains examples of different cap types – faceted, shared, rounded, and tangential.

    For a better description of cap types, please open the help card in the Cap SOP.

    CarveLoad | Launch

    .../examples/nodes/sop/carve/CarveExtractCurve.otl

    This network is a demonstration of how the Carve SOP can be used to extract various elements of the surface geometry.

    Depending on the type of geometry, the Carve SOP may be used to extract points from polygonal objects or curves from NURBS surfaces.

    Furthermore, the Carve SOP uses the surface U and V information to extract the various elements, and by animating the U and V values we can create various effects as the points and curves move on the geometry surface.

    CarveLoad | Launch

    .../examples/nodes/sop/carve/CopySpikes.otl

    This network contains an example of how the Carve SOP can extract 3D Isoparametric Curves from a surface, and how those curves may be used as a copy template.

    The Carve SOP can be used to slice a primitive, cut it into multiple sections, or extract points or cross-sections from it.

    In this example, the Extract option has been used to Extract 3D Isoparametric Curve(s). A series of disk-like shapes are created as the Carve SOP extracts curves from points around the surface with the same V Directional value.

    It then uses the points along those curves as a template on which to copy sourced geometry.

    CarveLoad | Launch

    .../examples/nodes/sop/carve/DiscCarve.otl

    This network is a demonstration of the Carve SOP, specifically when dealing with extracting curves from a NURBs surface and animating that extraction.

    The Carve SOP uses the U and V surface data to carve the geometry.

    In our example we have extracted curves which can then be used as basis for other geometry to create interesting effects.

    Given the Carve SOP uses a 0 to 1 value to carve either in the U or V surface direction, that value can be animated either by keyframing or through expressions.

    ChannelLoad | Launch

    .../examples/nodes/sop/channel/BlobbySphere.cmd

    This is a simple example of how to utilize the Channel SOP to bring information from CHOPs into SOPs and apply it to geometry.

    We use an animated sphere and create a lag in the animation of selected areas of the sphere.

    In a CHOP network, the Geometry CHOP brings in point position data of the sphere geometry and runs it through a Lag CHOP for the delaying effect. The Channel SOP then references the Lag CHOP and applies the point data back to the selected areas of the original NURBS sphere.

    ChannelLoad | Launch

    .../examples/nodes/sop/channel/ChannelSOPColorExample.otl

    This example demonstrates using CHOPs to drive geometry color values via the Channel SOP.

    ChannelLoad | Launch

    ...

    This is an Advanced example.

    This network contains example of how the Channel SOP can be used in conjunction with a POP network to manipulate geometry at the SOP level.

    First a simple particle network allows the creation and collision of particles sourced from grid geometry.

    Next the positional data of the particles is evaluated through a CHOP network using a Geometry CHOP. The Geometry CHOP returns the tx, ty and tz values for every particle birthed in the POP network.

    Then, a Channel SOP brings the positional data back to the geometry level and applies it to the points on the original grid surface.

    CircleLoad | Launch

    .../examples/nodes/sop/circle/Circle.otl

    This is an example of the different geometry types and arc types a circle can have.

    Geometry types include primitives, polygons, NURBS, and Beziers.

    Arc types include closed circle, open arc, closed arc, and sliced arc.

    The arc examples are animated, so playback the animation to see the arcs opening.

    ClayLoad | Launch

    .../examples/nodes/sop/clay/ClayBasic.otl

    This demonstration contains four examples of how a Clay SOP is used. The points have been animated to better visualize this.

    Matrix - Point transformation is given by a matrix.

    Vector - Point is translated along a vector.

    Point - Point is moved to an absolute XYZ position in object space.

    Primitive - Point snaps to the (U,V) of the primitive in the 2nd input of to a (U,V) on itself if no 2nd input is present.

    ClipLoad | Launch

    .../examples/nodes/sop/clip/ClipParticle.cmd

    This is a very basic example of how the Clip SOP can be used to control particle flow by cutting it with an infinite plane.

    Play animation to see the effects.

    ClipLoad | Launch

    .../examples/nodes/sop/clip/ClipVariations.otl

    This network compares the various ways in which the Clip SOP can be used with geometry. Depending on what parts of the clipped geometry we want to keep, different effects are achievable.

    The Clip SOP can also be used as a grouping tool by specify group boundaries with clip planes.

    Clip planes can be animated. Play the animation to view the results.

    Cloth DeformLoad | Launch

    .../examples/nodes/sop/clothdeform/CaptureDeform.otl

    This example demonstrates how you can use the Cloth Capture and Cloth Deform nodes to transfer the simulation from a low-res piece of cloth to a hi-res piece of cloth.

    ClusterLoad | Launch

    .../examples/nodes/sop/cluster/ParticleClusters.otl

    This example demonstrates how you can use the Cluster SOP to create clusters of points based on their attribute values. The color SOP is also used to help visualize the clusters.

    Cluster PointsLoad | Launch

    .../examples/nodes/sop/clusterpoints/AnimatedSourcePoints.otl

    Animated source points

    If you cluster point source geometry with a changing number of points, the clusters and cluster numbers can change randomly at each frame and you’ll get strange results. To prevent this, you must use a couple of tricks to create the clusters based on the final number of points, and only create the

    First, connect the second input of the Cluster Points node to specify a set of point positions at which the Cluster Points node should cluster the points. This is called the rest position.

    For example, the Impact analysis tool creates points from RBD object collisions. The number of points in the resulting geometry increases as more RBD objects collide.

  • Cache the impact points geometry to disk using a ROP Output driver and File node combination.

    (The example file may not cache to disk for the sake of simplicity.)

  • Branch a Timeshift node from the File node, and connect the output of the Timeshift to the Cluster Points node’s second (rest position) input.

  • Set the Timeshift node’s Frame parameter to the frame you want to cluster at, usually the last frame of the effect. You can use the $NFRAMES variable, which always contains the number of the last frame in the scene.

  • Second, to create the smoke boxes only as they're needed you must turn on Continuous on the Smoke Object node. This will create a new smoke box on each instance point at every frame. To work around this so the boxes only get created at the frame where the cluster center appears, the example file uses a For Each SOP to delete every cluster center at every frame except the frame where it first appears.

    See also how to make scattered points stick for how to make scattered point positions and numbers consistent across frames on deforming geometry.

    CombLoad | Launch

    .../examples/nodes/sop/comb/CombGrass.otl

    This example shows how to use the Comb SOP to control the direction of point normals by interactively “painting” over the normals.

    Two Comb SOPs are used to comb the normals on a grid in different directions. A Sequence Blend SOP blends between the two so that the normals look like they are swaying.

    A simple line geometry is attached to those points.

    The Comb SOP is a great way to animate things like hair and grass.

    ConvertLoad | Launch

    .../examples/nodes/sop/convert/ConvToTrimSurface.otl

    This example shows how to create a trimmed NURBS or Bezier surface using the Convert SOP.

    There are four examples contained that compare how a trimmed surface handles a texture.

  • Grid Surface a simple texture map on a grid.

  • Trimmed Circle Using the Trim SOP the conventional way of creating a trimmed surface using a Project SOP and a Trim SOP.

  • Trimmed Circle Using the Convert SOP creates a trimmed surface using a Convert SOP.

  • NURBS Surface Using the Convert SOP shows how a texture is parametrized over a surface that is not trimmed.

  • To get a better sense of the parameterization of the texture, turn on points and toggle between wireframe and shaded modes.

    ConvertLoad | Launch

    .../examples/nodes/sop/convert/ConvertBasic.cmd

    This example shows the various ways in which the Convert SOP converts geometry types using a simple sphere.

    A chart is used for this demonstration.

    The left column of the chart describes the original geometry type to convert from.

    The top row of the chart describes the geometry type to convert to.

    All Sphere SOPs and Convert SOPs in this demonstration use their default values to better visualize the differences.

    ConvertLoad | Launch

    .../examples/nodes/sop/convert/CurveToPrimCircle.otl

    This example is a simple demonstration on how to convert a curve into a primitive circle.

    To convert a NURBS or Bezier closed curve to a primitive circle, it must first be converted to a polygon.

    Once converted to a closed polygon curve, you can convert the curve to a primitive circle.

    ConvertLoad | Launch

    .../examples/nodes/sop/convert/PasteConvertVariations.otl

    This example deomonstrates the various ways in which to convert pasted geometries into a single surface. The parameters, Paste Coordinates and Paste Attributes, tell the Convert SOP how to handle displacements and attributes.

    There are four objects, each containing the same SOP network. The only difference is in the Convert SOP, which contains differences in Paste Coordinates and Paste Attributes.

    In the SOP networks, there are two grid surfaces that have been deformed using the Edit SOP. Each grid has a Color attribute added, using a Point SOP.

    The red grid, or the Feature Surface, is pasted onto the blue grid, or the Base Surface.

    The parameters in the Convert SOP in each network distinguishes the way that the Feature Surface is pasted onto the Base Surface.

    ConvertLoad | Launch

    .../examples/nodes/sop/convert/PastedHeirarchy.otl

    This example shows how you can convert two pasted geometries into a single surface.

    In order for the Paste SOP to work, both geometries must be NURBS or Bezier surfaces.

    The first geometry is a NURBS grid that has been deformed using the Clay SOP.

    The second geometry is a NURBS circle, which is converted into a NURBS surface using a Convert SOP.

    The deformed grid is pasted onto the NURBS circle parametrically using the Paste SOP. However, in order to make both geometries into a single surface, a Convert SOP is necessary.

    To convert the pasted surfaces into a single surface, they need to be converted to a mesh or a polygon first. They can then be converted to a NURBS or Bezier surface using another Convert SOP.

    ConvertLoad | Launch

    .../examples/nodes/sop/convert/Potatochip.otl

    This example demonstrates how to convert a closed curve into a surface using the Convert SOP.

    There are two versions contained in this example. One curve has been successfully converted to a surface, the other has not because of the concave shape of the original curve.

    View in shaded mode to get a better sense of this.

    CookieLoad | Launch

    .../examples/nodes/sop/cookie/CookieBasic.otl

    This example displays the various ways in which a Cookie SOP operates.

    CookieLoad | Launch

    .../examples/nodes/sop/cookie/CookieGear.otl

    This example demonstrates how to perform boolean operations using the Cookie SOP.

    In this instance, the points are consolidated using a Facet SOP and a Divide SOP is used to create a smooth surface for the Cookie SOP to operate on.

    CookieLoad | Launch

    .../examples/nodes/sop/cookie/CookieStar.otl

    This example creates a boolean operation using the Cookie SOP.

    A star geometry is created and used to subtract the shape from the sphere geometry.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/CopyAttributes.otl

    The Copy SOP can be used for more than copying geometry. In this example, the Copy SOP is used to transfer color attributes from the template geometry (or point) to the copied geometry.

    A polygonal sphere with color infomation is used as the source geometry. A point with a color attribute (Cd) is extracted from the sphere and used as a template by the Copy SOP. Then the Copy SOP transfers the color infomation to a copied polygonal circle.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/CopyCubes.otl

    This network shows the most basic example of how to use a particle system to copy geometry. A Copy SOP is used to reference a POP network (which included a Source and Drag POP) while copying a box object to every birthed particle.

    Play the animation to see the result.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/CopyTemplateAttribs.otl

    The Copy SOP is used to transfer specific attributes from a template to copied primitives. In this example, a sphere is use as a template with color attributes added to the sphere points. A Particle SOP is then used to birth particles from the sphere points.

    Next, a Copy SOP does two things:

    It copies geometry to the particles.

    It transfers the color attribute from the source sphere points to the geometry whose position is based on the particles.

    Play the animation to see the effects.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/ParticleCopyScale.otl

    The Copy SOP is used to copy geometry to particles using the Particle SOP as a template. In the example, the Scale parameter of the Copy SOP is used to create the specific effect. The Copy SOP may also be used to control different attributes of the copied geometry beyond mere scale.

    Play the animation to see the effects.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/StampRandom.otl

    In this example, the Copy SOP is used to randomly copy various objects onto points of a given template geometry. We use the stamp capability of the Copy SOP for our purpose. Furthermore, the entire process is kept procedural so that we have the option of determining the type and the number of geometries to be copied and the kind of template to be used.

    Inside the Stamp tab of the Copy SOP we create a variable named “switch” which will drive the input value of the Select Input parameter in the Switch SOP. In turn, the Copy SOP is able to copy at random any number of input geometry to template points.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/StampStars.otl

    This example demonstrates the power of the Copy SOP’s Stamp operation.

    Here, a Copy SOP is used to copy a circle onto the points of a sphere. The Stamp operation then applies various modifications to those copies based on division, scale, color, and extrusion. This results in the generation of a randomized variety of “stars”.

    Starting with a simple circle, a large number of variations are created using in the copies through the use of Stamping with expressions.

    CopyLoad | Launch

    .../examples/nodes/sop/copy/VelocityStamp.otl

    This example demonstrates the use of the Stamping function within the Copy SOP.

    The Copy SOP creates multiple copies of its source geometry. The Stamping function allows for individual variations in each of these copies.

    Press play to see the animation.

    CreaseLoad | Launch

    .../examples/nodes/sop/crease/CreaseBasic.otl

    This demonstration contains four different examples of applying the creaseweight attribute to polygonal geometry utilizing the Crease SOP, Vertex SOP, Attribute Create SOP, and Subdivide SOP.

    It also points out some of the differences between rendering with Mantra vs. RenderMan. It is important to know that Mantra can not render the creases due to Copyright laws.

    Important: Rendering creases with Mantra requires the addition of a Subdivision SOP for calculating the geometry. The Render tab’s Geometry parameter at the object level should be set to: Geometry As Is.

    If Renderman is being used, the Subdivide SOP is only for previewing the result. Renderman calculates creases during the render. The Render tab’s Geometry parameter at the object level should be set to: Polygons as Subdivision Surfaces.

    CreepLoad | Launch

    .../examples/nodes/sop/creep/CreepBlob.otl

    This example shows how to creep metaballs on a surface. In this case, the surface is a contorted tube and the metaballs look like a “blob” being pushed through the tract.

    A tube is created and used as the creep surface. A circle is created by carving a profile out from that same tube. The circle is then animated with a Creep SOP down the length of the tube.

    Metaballs are attached to the points on that carved circle to create the “blob”.

    CreepLoad | Launch

    .../examples/nodes/sop/creep/CreepParticleTubeA.otl

    This example shows two different ways in which particles can be crept on a surface. In this case, the surface is a contorted tube.

    One version shows how particles are crept inside the surface, the other shows how particles are crept outside the surface. This is done by changing the z scale in the Creep SOP, which offsets the particles perpendicular to the surface.

    The particles are birthed from a circle that is carved from the tube geometry.

    CreepLoad | Launch

    .../examples/nodes/sop/creep/CreepSpiral.otl

    This example shows how to spiral a line geometry over a tube surface using the Creep SOP.

    CreepLoad | Launch

    .../examples/nodes/sop/creep/CreepText.otl

    In this example, some text geometry is creeped along an animated surface.

    The surface is comprised of two skinned curves that have been animated using a Sequence Blend SOP. The Creep SOP requires that the creep surface be a surface and not a curve.

    CreepLoad | Launch

    .../examples/nodes/sop/creep/CreepWeave.otl

    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.

    CurveLoad | Launch

    .../examples/nodes/sop/curve/CurveHood.otl

    This example demonstrates how to use the Curve SOP to create a car’s hood.

    It also shows how to make points on a new curve dependent on the points of a previous curve. This way, you can move the points on one curve and affect any curve further in the network.

    CurveclayLoad | Launch

    .../examples/nodes/sop/curveclay/CurveClayBasic.otl

    This is a demonstration of how the CurveClay SOP can create an embossed effect on nurbs or bezier geometry.

    Two different methods of using the CurveClay SOP to imprint font onto a sphere are shown.

    The first method uses a single projected profile, the second method uses two profiles.

    CurveclayLoad | Launch

    .../examples/nodes/sop/curveclay/UltraSharpFont.otl

    This example demonstrates how to refine a curveclay geometry.

    A letter “t” is projected onto a grid. The CurveClay SOP understands profile information and uses it to deform the surface geometry.

    To get sharp edges on a curveclay, play with the Sharpness and Refinement parameters.

    CurvesectLoad | Launch

    .../examples/nodes/sop/curvesect/CurvesectRods.cmd

    This example demonstrates the two functions of the Curvesect SOP, cut and extract.

    It also illustrates how these two functions can be applied to an animation at the SOP and POP levels.

    The information extracted by the Curvesect SOP during geometry collisions will be used to drive particle birth.

    DeformLoad | Launch

    .../examples/nodes/sop/deform/PythonExpressionSopDeformer.otl

    This example shows how to use a simple python expression inside a SOP node to deform a grid. The expression imports a python math library and uses noise to deform the points of a grid.

    DeleteLoad | Launch

    .../examples/nodes/sop/delete/DeleteDemo.otl

    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.

    DeleteLoad | Launch

    .../examples/nodes/sop/delete/DeleteFan.otl

    The Delete SOP can be used to delete primitives through various methods.

    Primitives can be deleted using a pattern range to create interesting objects, such as the fan in this example.

    DissolveLoad | Launch

    .../examples/nodes/sop/dissolve/DissolveBox.cmd

    This example shows how the Dissolve SOP is used to remove points, edges or primitives of a geometry. The Dissolve SOP automatically patches any holes remaining after the dissolution of various elements.

    DivideLoad | Launch

    .../examples/nodes/sop/divide/RemoveSharedEdges.otl

    The Divide SOP is capable of removing edges from geometry. In this example a Divide SOP removes all the internal edges from a simple grid.

    Dop ImportLoad | Launch

    .../examples/nodes/sop/dopimport/LowHigh.otl

    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.

    Dop ImportLoad | Launch

    .../examples/nodes/sop/dopimport/PointBasedRBD.otl

    This example shows how to turn an RBD system into pure point data, one point per RBD object. The points can then be cached to disk with a lot less space and the original system reconstructed by point instancing with copy/stamp or render time point instancing.

    Dop ImportLoad | Launch

    .../examples/nodes/sop/dopimport/ProxyGeometry.otl

    This example demonstrates a technique of using the DOP Import SOP to allow the use of proxy geometry in a DOP simulation. One set of geometries are used in the simulation, then the transform information for those objects is applied to higher resolution versions of the geometry.

    DOP Import RecordsLoad | Launch

    .../examples/nodes/sop/dopimportrecords/dopimportrecordsexample.otl

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

    DuplicateLoad | Launch

    .../examples/nodes/sop/duplicate/DuplicateBox.otl

    The Duplicate SOP, in this example, is used to create multiple iterations of a box geometry with each copy scaled and offset cumulatively. Expressions using copy number $CY may be used to control each iteration’s parameters.

    Edge CollapseLoad | Launch

    .../examples/nodes/sop/edgecollapse/EdgeCollapseBasic.cmd

    The Edge Collapse SOP simply allows the deletion of edges, as shown in this example. Point numbers are rearranged to accommodate the missing edge.

    Edge CuspLoad | Launch

    .../examples/nodes/sop/edgecusp/EdgeCuspStairs.otl

    The Edge Cusp SOP is a quick way to create distinct edges on a model during render time. Edge Cusp creates the edges by uniquing shared edge points and recomputing point normals.

    Edge DivideLoad | Launch

    .../examples/nodes/sop/edgedivide/EdgeDivideBasic.otl

    This is a simple example of the different ways the EdgeDivide SOP is used to insert points on the edges of polygons.

    Edge FlipLoad | Launch

    .../examples/nodes/sop/edgeflip/EdgeFlipBasic.otl

    This example demonstrates how you can use the EdgeFlip SOP to flip a selected edge on a surface.

    An edge is created on a polygon using the Polysplit SOP, then rotated using the EdgeFlip SOP.

    EditLoad | Launch

    .../examples/nodes/sop/edit/ReferenceGeometry.otl

    This example creates an animation illustrating how the Edit SOP’s Reference Geometry input can be used to apply an edit on animated geometry.

    ExtrudeLoad | Launch

    .../examples/nodes/sop/extrude/ExtrudeFont.otl

    This is an example of the Extrude SOP. It illustrates how volume and geometry are created from flat primitives.

    It also demonstrates how to separate parts of the geometry into groups, and how to apply different shaders to each group.

    FacetLoad | Launch

    .../examples/nodes/sop/facet/FacetVariations.otl

    This example shows the different ways to use the Facet SOP to let you control the smoothness or faceting of a given object. It also shows how you can consolidate points.

    Press the right arrow key to show each example.

    FilletLoad | Launch

    .../examples/nodes/sop/fillet/GridFillet.cmd

    The Fillet SOP is used to create a bridge between two NURBS surfaces with control over its parameterization. The fillet uses the original surface uv information for bridging.

    Fillet types may include Freeform, Convex or Circular. The Freeform fillet usually provides a smooth natural form. Such parameters as the left and right UV, Width, Scale, and Offset may be used to control the fillet location between the surfaces.

    FitLoad | Launch

    .../examples/nodes/sop/fit/FitCurves.otl

    This is an example of how to use the Fit SOP to fit a NURBs curve to a basic polygon curve.

    Fitting builds a new NURBs or Bezier curve through the input geometry’s points.

    There are two methods for doing this:

    Interpolation fitting outputs the same number of cv’s as the input curve (Original Polygon Curve).

    Approximation fitting reduces the number of cv's, while approximating a curve through the input points.

    Play the animation to see how these two methods affect the resultant curve over time.

    FitLoad | Launch

    .../examples/nodes/sop/fit/FitSurfaces.otl

    This contains examples of fitting a Polygon Mesh to a NURBS surface through the use of the Fit SOP. There are two methods of fitting:

  • Approximation, which generates primitives that roughly follow the path of the data points.

  • Interpolation, which generates primitives that touch all the data points.

  • Fluid SourceLoad | Launch

    .../examples/nodes/sop/fluidsource/TorusVolume.otl

    This example demonstrates how you can use the Fluid Source SOP to create a volume for fluid simulations from a torus.

    FontLoad | Launch

    .../examples/nodes/sop/font/BubblyFont.otl

    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.

    FontLoad | Launch

    .../examples/nodes/sop/font/FontBasic.otl

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

    ForceLoad | Launch

    .../examples/nodes/sop/force/ForceBasic.otl

    This example file uses the Force SOP in conjunction with Metaball SOPs and Particle SOPs to create dynamic animations.

    Using the Radial Force Parameter of the Force SOP, particles are puffed in and out. Then, using the Directional Force Parameter, a rotating vortex is created as a metaball spins around an axis.

    Press play to view the animation.

    ForEachLoad | Launch

    .../examples/nodes/sop/foreach/ForEachExamples.otl

    This example demonstrates three different methods of using the ForEach SOP: group, number, and attribute value.

    ForEachLoad | Launch

    .../examples/nodes/sop/foreach/ForEachMagnet.otl

    This example uses the ForEach SOP in all three modes (by group, by attribute and by iteration) for you to study and use. You can make any SOP that doesn’t support local variables (like Magnet, for example) behave like one that does using any of the three methods shown here.

    ForEachLoad | Launch

    .../examples/nodes/sop/foreach/cheese.otl

    This example shows how to use the For Each SOP to individually boolean a bunch of self intersecting spheres with a cheese wedge.

    ForEachLoad | Launch

    .../examples/nodes/sop/foreach/cutup.otl

    This example shows how to use the foreach sop to intersect one object with each part of another object and merge the results together.

    ForEachLoad | Launch

    .../examples/nodes/sop/foreach/repeatsmooth.otl

    This example uses the foreach sop to apply the same SOP repeatedly to the geometry, accumulating the effect of each pass.

    FractalLoad | Launch

    .../examples/nodes/sop/fractal/FractalGeoTypes.cmd

    This example demonstrates using the Fractal SOP to deform geometry to get a random, jagged subdivision surface. This is a useful tool in creating things such as bumpy terrains, landscapes, rocks, or debris.

    The Fractal SOP is applied to each geometry type to show how the displacement changes based on the geometry type.

    FurLoad | Launch

    .../examples/nodes/sop/fur/Clumping.cmd

    The Fur SOP is used to instance hair-like curves.

    In this case, the Fur SOP is used to create curves that can be used for clumping. A second Fur SOP is used to illustrate how to create hairs that use the clumping geometry.

    FurLoad | Launch

    .../examples/nodes/sop/fur/FurBall.otl

    This example demonstrates how the Fur SOP builds hair-like curves based on guide curves and skin geometry.

    FurLoad | Launch

    .../examples/nodes/sop/fur/FurBallWorkflow.otl

    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.

    FurLoad | Launch

    .../examples/nodes/sop/fur/FurPipelineExample.otl

    This example illustrates how custom shaders can be used to define the appearance of fur generated by the Fur SOP.

    FurLoad | Launch

    .../examples/nodes/sop/fur/FurRandomScale.cmd

    This example demonstrates how a CVEX shader can be used to apply procedural effects to the curves generated by the Fur SOP. All attributes from the Fur SOP’s guide geometry and the skin geometry inputs are made available to the CVEX shaders. The CVEX shader makes use of the attributes, a unique identifier for each curve, “fur_id”, and the position of each point, “P”.

    FurLoad | Launch

    .../examples/nodes/sop/fur/FurTextureMap.otl

    This example demonstrates how to use a texturemap to color fur.

    FurLoad | Launch

    .../examples/nodes/sop/fur/Shaved.cmd

    This example demonstrates how to use a texture to control hair density.

    FuseLoad | Launch

    .../examples/nodes/sop/fuse/FuseHood.otl

    This example shows how to consolidate points between unique curves using the Fuse SOP.

    Three panels of a car hood are created and then fused together using the Fuse SOP.

    Glue ClusterLoad | Launch

    .../examples/nodes/sop/gluecluster/glueclusterexample.otl

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

    GridLoad | Launch

    .../examples/nodes/sop/grid/GridBasic.otl

    The Grid SOP is a very commonly used primitive, especially as a particle source. It is very versatile and has many surface parameterization options.

    In this example, there is a series of grids with alternative Primitive Types and Connectivity.

    HoleLoad | Launch

    .../examples/nodes/sop/hole/HoleBasic.otl

    This file demonstrates the Hole SOP.

    There are four examples given of the Hole SOP, how to add holes to a surface, or remove them.

    Iso OffsetLoad | Launch

    .../examples/nodes/sop/isooffset/Brickify.otl

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

    JoinLoad | Launch

    .../examples/nodes/sop/join/BasicJoin.otl

    This example demonstrates how the Join SOP can connect multiple pieces of geometry by faces and surfaces.

    The Join SOP will combine the individual pieces of geometry into a single primitive that will inherit attributes.

    Nurbs, Bezier, or Mesh surfaces should be used with the Join SOP.

    Do not use Polygons as it will not work with the Join SOP.

    LatticeLoad | Launch

    .../examples/nodes/sop/lattice/BallBounce.otl

    This is an example of how a Lattice SOP is used to create a bouncing ball.

    LatticeLoad | Launch

    .../examples/nodes/sop/lattice/DeformLattice.otl

    The Lattice SOP creates animated deformations by manipulating simpler geometry that encloses the source geometry.

    This example shows how the Lattice SOP can use an animated Box SOP to deform the source geometry. In this case, the source geometry is a sphere.

    LatticeLoad | Launch

    .../examples/nodes/sop/lattice/LatticePerChunk.otl

    This example shows how you can use the foreach sop to apply a lattice to each fragment of a sphere.

    LayerLoad | Launch

    .../examples/nodes/sop/layer/MultiTexture.otl

    This example demonstrates the use of the layer SOP to layer multiple textures onto a single object.

    L-systemLoad | Launch

    .../examples/nodes/sop/lsystem/LSystemMaster.otl

    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.

    MagnetLoad | Launch

    .../examples/nodes/sop/magnet/MagnetBubbles.otl

    This example shows the use of the Magnet SOP, and illustraites its ability to deform geometry.

    The Magnet SOP works by using the Density Field of a Metaball as a Magnetic Influence Field on a piece of geometry. The degree to which the Magnetic Field effects the surface it is deforming is based on the distance of that surface to the center of the Metaball.

    Here, the Metaballs have been attached to a moving particle system which bounce across a plane. The Metaballs also interact with the plane, causing it to bubble upward as their Fields intersect the surface.

    MagnetLoad | Launch

    .../examples/nodes/sop/magnet/MagnetDistortion.otl

    This example demonstrates some of the various ways to use the Magnet SOP.

    It can be used to affect point position, point color, point normals, and velocity.

    Match TopologyLoad | Launch

    .../examples/nodes/sop/matchtopology/MatchTopologySphere.cmd

    This example demonstrates how the Match Topology SOP lines up the points and primitives between two geometries with equal amounts of points and primitives.

    The Tracking Points, Reference Points, and Assume Primitives Match features are utilized to get a perfect match.

    Load | Launch

    .../examples/nodes/sop/mdd/SimpleMDD.otl

    This example demonstrates how to use the MDD SOP and MDD File Writer ROP.

    MergeLoad | Launch

    .../examples/nodes/sop/merge/MergeAttributes.otl

    The Merge SOP applies all incoming attributes to all input geometry. Each input geometry may have its own set of attributes.

    Three spheres are wired into a Merge SOP. The first has no attributes applied. The second has a color attribute (Cd[3]) applied by a Point SOP. The third has a normal attribute (N[3]) applied by another Point SOP.

    The Merge SOP does NOT know how to build attributes, but can apply them. As a result, all applied attribute values are set to zero.

    This is why the first two spheres display and render black. They have normal attributes applied, but their values are set to zero.

    In addition, the first and last spheres have a color attribute applied, but their values are set to zero.

    It is better to set attributes explicitly, instead of relying on the Merge SOP to do so.

    MetaballLoad | Launch

    .../examples/nodes/sop/metaball/BlendMetaballs.otl

    This is a basic example of how metaballs interact as force fields with a density threshold and falloff. Metaballs can be created in Houdini through the Metaball SOP

    The Point SOP is used to provide a visual representation of how metaballs interact when their respective fields blend into one another in an additive fashion.

    MetaballLoad | Launch

    .../examples/nodes/sop/metaball/MetaExpression.otl

    This example demonstrates how to use a Meta Expression in an Attribute Create SOP to control how metaballs merge together.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/FlutteringLeaves.otl

    This example demonstrates how to create a fluttering leaf simulation by using the Particle SOP.

    It also demonstrates how to use the Point SOP to modify point normals, affecting the velocity and direction of particles. Since particles are actually points in space, the Point SOP is a powerful way to control particle attributes.

    Press play to watch the simulation.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/Pscale.otl

    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.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticleAttractor.otl

    This example file demonstrates using a metaball force object in hand with the Particle SOP.

    Particles are birthed from the origin and sped towards a still metaball. The metaball has a Force SOP applied to it causing the particles, upon reaching the object, to spread out into space.

    This example file demonstrates using the Metaball and Force SOPs to affect particles generated by the Particle SOP.

    Particles are birthed from the origin and shot towards a still metaball. The metaball has a Force SOP applied to it causing the particles, upon reaching the metaball, to spread away from it out into space.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticleCollisionBasic.otl

    This is a basic example of using the Particle SOP to birth particles at the SOP level, and having the particles collide with geometry.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticleDisturbance.otl

    The given example file takes a grid, and using the Particle SOP in combination with the Metaball and Force SOPs, creates a dynamic animation.

    A metaball ship jets through space driving particles out of its path along the wake of the ship. With the help of the Force SOP, the metaballs are given the properties necessary to make this reaction possible.

    Play the animation to see the full effect.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticleExamples.otl

    This example contains five demonstrations of some of the various uses of the Particle SOP.

  • Creep particles along a surface using a the Creep SOP.

  • Group birth particles from a group of points on a surface.

  • Bounce particles.

  • Split particles on contact.

  • Collide particles off a collision object.

  • Birth particles from a moving object.

  • Use a metaball to exert force on a particle.

  • ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticleFountain.otl

    This is an example of creating a fountain from several Particle SOPs and basic modeling.

    It demonstrates how to create normal offsets, velocity variances, and collision behaviors to control the motion and look of the particles.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticlePusher.otl

    This example uses a Metaball SOP and a Force SOP to push particles side to side as they pass through a particle stream generated by a Particle SOP.

    Particles are birthed in the air off of a sphere, while a metaball passes back and forth through, pushing the particles from its path.

    Play the animation to see the full effect.

    ParticleLoad | Launch

    .../examples/nodes/sop/particle/ParticleTube.otl

    The Particle SOP enables the creation of particles at the SOP level and allows those particles to directly interact with geometry. Furthermore, these particles are in turn treated as point geometry.

    In this example, particles are both crept along and collided with a collision tube object. It is possible to also manipulate and control particles in SOPs through the adjustment of point normals (including those of the particles).

    PasteLoad | Launch

    .../examples/nodes/sop/paste/PasteCones.otl

    This example shows how to use the Paste SOP to paste a series of cones onto a flat surface. In this case, a cone is copied onto the points of a decagon. The copied cones are then pasted onto the decagon so they appear to be a single surface.

    PasteLoad | Launch

    .../examples/nodes/sop/paste/PasteNose.otl

    This Example file illustrates how the Paste SOP can be used to add to detail to a small part of a sphere.

    A Sphere is given a texture map, and then has extra detailed geometry attached to it. Normally this would break the texture coordinates, but with the Paste SOP and a few other key SOPs, the map coordinates are preserved.

    PeakLoad | Launch

    .../examples/nodes/sop/peak/PeakEars.otl

    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.

    Platonic SolidsLoad | Launch

    .../examples/nodes/sop/platonic/PlatonicSolidsTypes.otl

    The Platonic Solids SOP generates platonic solids of different types. Platonic solids are polyhedrons which are convex and have all the vertices and faces of the same type. There are only five such objects, which form the first five choices of this operation.

    This example shows all seven of the different polyhedron forms that can be made using the Platonic Solids SOP.

    PointLoad | Launch

    .../examples/nodes/sop/point/AimPointNormals.otl

    This is an example of how to use the Point SOP to orient point normals along a path. This allows for control over the orientation of geometry when copied onto points.

    Points are extracted along a spiral on a per frame basis using an expression in the Carve SOP. A cone is copied to these points sequentially and results in an animation along the path.

    PointLoad | Launch

    .../examples/nodes/sop/point/CrossProduct.otl

    This is an example of how to calculate a cross product by using the Point SOP. The cross product is defined as the vector perpendicular to two input vectors.

    To visualize this demonstration, please explore the SOP network and turn on Point Normals in the display.

    PointLoad | Launch

    .../examples/nodes/sop/point/PointBorrowing.otl

    This example of the Point SOP demonstrates the capacity of the Point SOP to alter geometry based on another input.

    A sphere is created and then the points are randomly transformed. Then, by using both inputs of the Point SOP, the original sphere is brought back to average out its altered form. A simple math expression averages the positions of the two spheres, point by point.

    PointLoad | Launch

    .../examples/nodes/sop/point/PointExamples.otl

    The Point SOP is quite a versatile operator. This example shows how the Point SOP may be used to control point weight, color, normals, and UV attributes.

    Furthermore, it is possible to create various relationships among the point attributes through the Point SOP.

    PointLoad | Launch

    .../examples/nodes/sop/point/PointNormals.otl

    This is a demonstration of how the Point SOP can be used to add Normals to geometry.

    It also shows how the Point Normals affect the orientation of copied geometry and the appearance of shaders.

    PointLoad | Launch

    .../examples/nodes/sop/point/PointOffsetSurface.otl

    Using the Point SOP, a simple displacement is created and applied to a portion of a spherical surface.

    Using the normals of a point, which is basically a vector, and adding that number to the position of the point, the point is displaced in that given direction. With a Merge and Skin SOP the displaced surface is then connected back to the original.

    PointLoad | Launch

    .../examples/nodes/sop/point/PointSpiral.otl

    This example file uses the Point SOP to turn a regular line into a spiral.

    There are two different approaches used in this example. The first uses the point numbers of the line to define the expression calculations. The second uses the position of the points in the line’s bounding box for the expression.

    PointLoad | Launch

    .../examples/nodes/sop/point/PointTerrainErode.otl

    The Point Terrain Erode file displays a mountainous landscape, created by the Fractal SOP. The landscape is swiftly worn away by the Point SOP.

    With just a spare channel, erode, and a simple clamp() expression, the Point SOP can control the whole land.

    Point Cloud Iso SurfaceLoad | Launch

    .../examples/nodes/sop/pointcloudiso/Example.otl

    This example demonstrates how to construct a polygonal surface from a point cloud using the Point Cloud Iso Surface SOP.

    Poly KnitLoad | Launch

    .../examples/nodes/sop/polyknit/PolyKnitBasic.otl

    This example demonstrates the various options for joining polygons using the PolyKnit SOP. The PolyKnit SOP is useful for filling in holes, gaps, or to re-define edges on polygonal geometry.

    PolyKnit can be used to manually knit joining polygons between existing polygons. Polygons are created by specifying a list of input points from which to “knit” the new polygons.

    PolyKnit will yield different results, depending on the pattern by which the points are selected or listed. Please see the Helpcard documentation for more information on how the PolyKnit SOP builds new polygons.

    Poly LoftLoad | Launch

    .../examples/nodes/sop/polyloft/PolyLoftPaste.otl

    This example demonstrates how the PolyLoft SOP can procedurally create meshes and triangles to connect animated polygonal geometries in an efficient way.

    Poly PatchLoad | Launch

    .../examples/nodes/sop/polypatch/PolyPatchDNA.otl

    This example demonstrates the use of the PolyPatch SOP to procedurally model complex forms.

    Here, a DNA model is created.

    Poly SplitLoad | Launch

    .../examples/nodes/sop/polysplit/PolySplitHood.otl

    This example shows how to use the PolySplit SOP to refine the geometry of a car hood by splitting polygons.

    Poly StitchLoad | Launch

    .../examples/nodes/sop/polystitch/PolyStitchBasicSmooth.otl

    This example demonstrates how the Polystitch SOP can stitch together or refine seams between polygonal surfaces with incongruent U and V divisions. This is useful for smoothing and eliminating cracks at seams.

    Poly WireLoad | Launch

    .../examples/nodes/sop/polywire/PolywireModel.otl

    This example demonstrates how the Polywire SOP builds polygonal geometry based on a polygonal frame, and how the parameters can be customized with local variables.

    PrimitiveLoad | Launch

    .../examples/nodes/sop/primitive/PrimCenter.otl

    This is an example of how to use the Primitive SOP to correctly sweep primitives on a curve.

    The Sweep SOP places the origin of a primitive on a curve by default. If the primitive centroid is away from the origin, the primitive will be placed away from the curve.

    In order to correctly place the primitive’s centroid on the backbone, its centroid must be at the origin. For this, the Primitive SOP is used.

    PrimitiveLoad | Launch

    .../examples/nodes/sop/primitive/PrimRotate.otl

    This example demonstrates how to rotate individual primitives on a grid surface using the Primitive SOP.

    A Group SOP is used to animate a bounding box over the grid surface, thereby activating the randomized rotations in the Primitive SOP.

    PrimitiveLoad | Launch

    .../examples/nodes/sop/primitive/PrimitiveColors.otl

    This example demonstrates using the Primitive SOP to add a Color attribute to primitive geometry.

    The rand() function is used in the RGB fields to generate different random colors for each primitive.

    Then the prim() function is used to reference the attribute values of one SOP, to drive the attribute values of another SOP.

    PrimitiveLoad | Launch

    .../examples/nodes/sop/primitive/PrimitiveExplode.otl

    This file demonstrates the ability of the Primitive SOP to control the individual primitives of the object.

    With expressions in the Translate Parameter, motion is created driving the primitives away from their centroid. Yet another expression presents the primitives with a randomized rotation. Another randomizing expression colorizes each of the primitives.

    Together these parameter create an explosion destroying the original sphere.

    PrimitiveLoad | Launch

    .../examples/nodes/sop/primitive/PrimitiveMetaWeight.otl

    This example demonstrates the how the Primitive SOP can be used to drive the attributes of other geometry. In this case it is used to affect the Weight Parameter of a Metaball SOP.

    In addition, the parameter can be animated over time. Press Play to see the animation.

    ProfileLoad | Launch

    .../examples/nodes/sop/profile/FlagProfiles.otl

    This example shows how to use the Project SOP to create a profile on a surface.

    The Profile SOP is then used to extract the profile from the surface or remap the profile on it. It also shows how the profile will animate with the surface or independent of it.

    ProjectLoad | Launch

    .../examples/nodes/sop/project/ProjectCurve.otl

    This example shows the Project SOP projecting a Circle onto a Tube geometry.

    By projecting along a vector the Circle profile is attached to the tube. With the use of a Trim SOP the profile can then be used to cut holes in the Tube.

    RailsLoad | Launch

    .../examples/nodes/sop/rails/BasicRail.otl

    In this example simple curves are taken by the Rail SOP to create a surface based upon the path they describe.

    With only simple changes to the SOP’s parameters different surfaces can be created. In the end the curves are gone, but their surface remains.

    RayLoad | Launch

    .../examples/nodes/sop/ray/RayWrap.otl

    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.

    RefineLoad | Launch

    .../examples/nodes/sop/refine/BasicRefine.otl

    This example contains a few methods of how the Refine SOP can be used to add or remove detail from many types of surfaces.

    ResampleLoad | Launch

    .../examples/nodes/sop/resample/ResampleLines.otl

    This example demonstrates the use of the Resample SOP on three types of curves. (Polygon, NURBS and Bezier)

    The Resample SOP rebuilds the curve by converting it into a series of Polygon Line Segments.

    The curve may be rebuilt “Along Arc” or “Along Chord”. “Along Arc” utilizes the Hull information as a basis of reconstruction, and can be defined by a Maximum Segment Length and/or Maximum Segment number. “Along Chord” can only be defined by Maximum Segment Length.

    Resampling the curve based on Maximum Segment number divides the line into segments of equal, but unspecified length, spanning from start to endpoint. Line detail is directly proportional to the Segment number.

    Resampling the curve based on Maximum Segment Length will rebuild the entire line into equal length segments except the last segment. If the Maintain Last Vertex option is on, the last segment will be less than or equal to the Maximum Segment Length value, depending on its distance to the endpoint. With the option off, the endpoint is disregarded and the line is created out of equal lengths.

    Turn on Points in the display to see how the Resample SOP resamples line segments.

    Rest PositionLoad | Launch

    .../examples/nodes/sop/rest/BasicRest.otl

    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.

    RevolveLoad | Launch

    .../examples/nodes/sop/revolve/BasicRevolve.cmd

    This example demonstrates the Revolve SOP’s ability to create geometry by spinning curves and surfaces around any described axis. Simple objects, such as a torus and a vase, are generated by the Revolve SOP and user-defined inputs.

    This file also shows off how different geometry types react to different Revolve SOP parameter changes.

    Sequence BlendLoad | Launch

    .../examples/nodes/sop/sblend/Birdy.otl

    This network demonstrates a simple example of the Sequence Blend SOP.

    The different pieces of geometry, all with the same point count and order, is creating. Each piece of geometry is fed into the Sequence Blend SOP in a specific order. Then the Blend Factor parameter is used to animate through the three input morphs using an expression.

    Sequence BlendLoad | Launch

    .../examples/nodes/sop/sblend/BlendColor.otl

    This example shows how to blend colors using a Sequence Blend SOP.

    The Sequence Blend SOP can blend a combination of shapes, colors, textures, and normals between two or more geometries in a sequential manner. This example shows only blending colors.

    A single geometry is created and colors are added using two separate Point SOPs. A Sequence Blend SOP then blends between those two colors.

    Sequence BlendLoad | Launch

    .../examples/nodes/sop/sblend/BlendNormal.otl

    This example shows how to blend normal direction using a Sequence Blend SOP.

    The Sequence Blend SOP can blend a combination of shapes, colors, textures, and normals between two or more geometries in a sequential manner.

    A single geometry is created and normals are added to the points using two separate Point SOPs. A Sequence Blend SOP blends between the two inputs' point normals.

    Turn on Display Point Normals in the viewport’s Display Options to see the normals

    Sequence BlendLoad | Launch

    .../examples/nodes/sop/sblend/BlendPosition.otl

    This example shows how to blend point position using a Sequence Blend SOP.

    The Sequence Blend SOP can blend a combination of shapes, colors, textures, and normals between two or more geometries in a sequential manner.

    Two geometries with the same number of points are created and a Sequence Blend SOP blends between the two inputs' point positions.

    Sequence BlendLoad | Launch

    .../examples/nodes/sop/sblend/BlendTexture.otl

    This example shows how to blend UV texture coordinates using a Sequence Blend SOP.

    The Sequence Blend SOP can blend a combination of shapes, colors, textures, and normals between two or more geometries in a sequential manner.

    Two geometries with the same number of points are created. The butterfly image is texture mapped to those geometries using a UV Texture SOP and a Shader SOP. A Sequence Blend SOP blends between the two inputs' UV texture positions.

    ScatterLoad | Launch

    .../examples/nodes/sop/scatter/Gridpoints.otl

    This example demonstrates how you can use the Scatter SOP to randomly scatter points across your surface or volume.

    SkinLoad | Launch

    .../examples/nodes/sop/skin/SkinBasic.otl

    This is a demonstration of using the Skin SOP to create complex forms by creating surfaces between one or two input geometries.

    It also demonstrates how the Skin SOP can interpret between different geometry types and varying point numbers.

    SkinLoad | Launch

    .../examples/nodes/sop/skin/SkinCurves.otl

    This demonstration contains example networks showing 3 different methods by which the Skin SOP can assemble input curves to produce a variety of forms.

    The methods covered in this demonstration are how the Skin SOP can make a form from a single asymmetrical curve, based on grouping primitives, or from multiple curves.

    SkinLoad | Launch

    .../examples/nodes/sop/skin/SkinGroup.otl

    This example demonstrates how you can use the Skin SOP to skin geometry in two different ways: By groups of primitives and by skipping every nth primitive.

    SkinLoad | Launch

    .../examples/nodes/sop/skin/SkinShip.otl

    This example displays a creative use for the Skin SOP involving the creation of an alien ship.

    Curves are first created with the Curve SOP. Then, with the Skin SOP individual curves can be selected to be used as reference for a generated surface.

    SkinLoad | Launch

    .../examples/nodes/sop/skin/SkinSurfaceCopies.otl

    This is an example of how to create a new surface using the Skin SOP.

    Here a surface is extracted from a torus, copied and used to create a skin that shoots up from the torus.

    SmoothLoad | Launch

    .../examples/nodes/sop/smooth/Hills.otl

    The Smooth SOP is used to refine the distance between a number of points into more uniform values.

    The process evens out minor variances in the points defining the curve, while still maintaining the value trends of the larger, overall curve.

    SolverLoad | Launch

    .../examples/nodes/sop/solver/Footsteps.otl

    This is an example of simple footsteps using sdfs on a grid.

    SolverLoad | Launch

    .../examples/nodes/sop/solver/SimpleCloth.otl

    This is an example of a simple cloth using verlet integration and simple explicit springs.

    SolverLoad | Launch

    .../examples/nodes/sop/solver/SimplePop.otl

    This is an example of a simple particle system. It births particles from source geometry and has them fall with gravity.

    SphereLoad | Launch

    .../examples/nodes/sop/sphere/SphereTypes.otl

    This example shows all the geometry types the Sphere SOP can create and explains the differences between them.

    Choosing the right geometry type can make a network flow and render much faster.

    SpringLoad | Launch

    .../examples/nodes/sop/spring/BoundLattice.otl

    This network utilizes three SOPs (Bound, Spring and Lattice) that commonly work together to simulate certain physical dynamics.

    We have created a simple polygonal sphere to act as the source geometry. The sphere is then fed into a Bound SOP which will act as a deforming reference. The Bound SOP also behaves as re-enforcement for the deforming object.

    Then the bounding box is wired into the Spring SOP with a group of grids as collision objects. The Spring SOP simulates the dynamics by calculating the proper deformations and behaviours of our source geometry as it collides with other objects. The Spring SOP is where we can apply external forces along with various attributes (characteristics such as mass and drag) which influence how the object deforms.

    Finally the Lattice SOP takes the deformation information from the Spring SOP and applies it to the source sphere geometry.

    SpringLoad | Launch

    .../examples/nodes/sop/spring/SpringExamples.otl

    This example demonstrates the three main functions of the Spring SOP.

    It shows how the Spring SOP can deform input geometry to create a cloth like effect by creating interactions between two objects, defining motion, and applying forces.

    Play the animation to see the Spring SOP in action.

    SpringLoad | Launch

    .../examples/nodes/sop/spring/SpringFlag.otl

    This example shows how a flag can be simulated using a Spring SOP.

    Here the Spring SOP applies forces that simulate the laws of physics on the points of a Grid SOP to create the flag effect.

    SpringLoad | Launch

    .../examples/nodes/sop/spring/SpringHair.otl

    This example demonstrates a way to create dynamic hair using the Spring SOP.

    A Line is copied onto the points of a Sphere and input into the Spring SOP as a source. Then a Metaball and Force are input to further effect the motion of the hair.

    SpringLoad | Launch

    .../examples/nodes/sop/spring/SpringLine.otl

    Here the Spring SOP is used to give a line rubber band-like characteristics. Used in combination with an Xform SOP, the rubber band dances about on the floor.

    StitchLoad | Launch

    .../examples/nodes/sop/stitch/StitchGrid.otl

    This example demonstrates how the Stitch SOP can join the edges or surfaces of geometry.

    A grid is created and duplicated in a stair fashion. Then the Stitch SOP is used to connect them together.

    SubdivideLoad | Launch

    .../examples/nodes/sop/subdivide/SubdivideCrease.otl

    This example shows a couple ways that you can keep the creases on the top of a box while subdividing the bottom.

    SurfsectLoad | Launch

    .../examples/nodes/sop/surfsect/SurfsectBasic.otl

    This example demonstrates the use of the Surfsect SOP’s boolean operation.

    First a box is used to subtract from a Sphere leaving 4 disks. Then the Sphere is used to subtract from the Box leaving just the corners.

    SweepLoad | Launch

    .../examples/nodes/sop/sweep/SweepBasic.otl

    This example demonstrates how the Sweep SOP copies geometry onto the points of a curve.

    The Sweep SOP is unique in that it automatically places the copied geometry perpendicular to the backbone it is copied to. Variations such as the Cross Section’s scale can be adjusted using expressions.

    SweepLoad | Launch

    .../examples/nodes/sop/sweep/SweepCurve.otl

    This network contains an example of the Sweep SOP. A NURBS curve and NURBS circles are used as the backbone and the cross section geometries of the sweep operation respectively.

    By controling the scaling of the cross section geometry in the Sweep SOP various effects can be acheived. Finally, a Skin SOP completes the form by using the swept geometry as a kind of skeleton.

    SweepLoad | Launch

    .../examples/nodes/sop/sweep/SweepDome.otl

    In this example the Sweep SOP a grid is used as the backbone of a sweep operation with arcs (created by a Circle SOP) as the hull (cross sections) of the sweep object.

    The final sweep object is then skinned with a Skin SOP to create the dome geometry.

    SweepLoad | Launch

    .../examples/nodes/sop/sweep/WigglyWorm.otl

    This network demonstrates how the Sweep SOP can be used to construct geometry that is easily deformable. The Sweep SOP requires a backbone and cross section geometry.

    Through a sin() function an expression is created to animate the backbone for a slithering effect. Then the circles are copied at every point on the backbone to create the skeleton of the worm. Finally, a simple skin operation completes the worm body.

    TimeShiftLoad | Launch

    .../examples/nodes/sop/timeshift/PlateBreak.otl

    This example demonstrates how to use the TimeShift SOP to achieve a slow-motion effect during a fracture simulation.

    TorusLoad | Launch

    .../examples/nodes/sop/torus/Torus.otl

    This example contains the various geometry types possible when creating a torus.

    Triangulate 2DLoad | Launch

    .../examples/nodes/sop/triangulate2d/BasicTriangulate2D.cmd

    This example demonstrates basic use of the Triangulate2D SOP on a small number of points.

    Triangulate 2DLoad | Launch

    .../examples/nodes/sop/triangulate2d/MasterTriangulate2D.cmd

    This example demonstrates advanced use of the Triangulate2D SOP, including constraints and refinement.

    TwistLoad | Launch

    .../examples/nodes/sop/twist/BasicTwist.otl

    This example shows off the flexibility of the Twist SOP. The Twist SOP has many operations such as twist, bend, shear, taper, linear taper, and squash.

    Contained are examples of how each Operation affects different geometry types: Polygon, Mesh, NURBs, NURBs Perfect, Bezier, and Bezier Perfect.

    UV ProjectLoad | Launch

    .../examples/nodes/sop/uvproject/ProjectionTypes.otl

    This example demonstrates the various projection types supported by the uvproject SOP.

    UV TransformLoad | Launch

    .../examples/nodes/sop/uvtransform/SoftRotate.otl

    Animate the rotation of texture coordinates using the UV Transform SOP with a soft falloff.

    Press Play to see the animation.

    Vertex SplitLoad | Launch

    .../examples/nodes/sop/vertexsplit/VertexTexture.cmd

    This example uses the Vertex Split SOP to add sufficient points for copying vertex texture coordinates to point positions.

    VisibilityLoad | Launch

    .../examples/nodes/sop/visibility/VisibilityCheckers.cmd

    This example demonstrates the how the Visibility SOP can hide or expose selected primitives in the 2D or 3D view ports.

    Volume AnalysisLoad | Launch

    .../examples/nodes/sop/volumeanalysis/volumeanalysis_curvature.otl

    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.

    Volume AnalysisLoad | Launch

    .../examples/nodes/sop/volumeanalysis/volumeanalysis_grad.otl

    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.

    Volume BlurLoad | Launch

    .../examples/nodes/sop/volumeblur/volumeblur.otl

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

    Volume CompressLoad | Launch

    .../examples/nodes/sop/volumecompress/volumecompress.otl

    This example shows how to use the Volume Compress SOP to reduce the memory requirements of volumes without too adversely affecting their appearance.

    Volume FeatherLoad | Launch

    .../examples/nodes/sop/volumefeather/volumefeather.otl

    This example shows how to use the Volume Feather SOP to smooth sharp volumes either in a purely outwards or purely inwards direction.

    Volume From AttribLoad | Launch

    .../examples/nodes/sop/volumefromattrib/volumefromattrib.otl

    This example shows how to use the Volume From Attrib SOP to transfer point attributes into volume voxels.

    Volume MergeLoad | Launch

    .../examples/nodes/sop/volumemerge/DetectOverlap.otl

    This example shows how to detect the overlapping regions of many incoming volumes procedurally using Volume SOP and Volume Merge SOP.

    Volume MergeLoad | Launch

    .../examples/nodes/sop/volumemerge/volumemerge.otl

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

    Volume ReduceLoad | Launch

    .../examples/nodes/sop/volumereduce/barycenter.otl

    This example shows how to use the Volume Reduce SOP to compute the barycenter of a 3d object.

    Volume ResampleLoad | Launch

    .../examples/nodes/sop/volumeresample/volumeresample.otl

    This example shows how to use the Volume Resample SOP to increase and decrease the resolution of a volume. It also shows how the different sampling options affect the quality of the resulting volume.

    Volume SurfaceLoad | Launch

    .../examples/nodes/sop/volumesurface/volumesurface_explicitgrade.otl

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

    Volume SurfaceLoad | Launch

    .../examples/nodes/sop/volumesurface/volumesurface_hierarchy.otl

    This example shows how to use the Volume Surface SOP to surface a hierarchy of SDFs using explicit grading.

    Volume SurfaceLoad | Launch

    .../examples/nodes/sop/volumesurface/volumesurface_simple.otl

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

    Volume VopLoad | Launch

    .../examples/nodes/sop/volumevop/ImportVolumes.otl

    This example shows how to import multiple volumes into a Volume VOP SOP.

    Wire BlendLoad | Launch

    .../examples/nodes/sop/wireblend/Wireblend.cmd

    The Wire Blend SOP is used to blend curves from input geometry.

    In this case, three input morph targets are used by the Wire Blend SOP with the Differencing and option checked.

    The blend values of the input morphs are keyframed for specific effects. Play the animation to see the results.

    TransformLoad | Launch

    .../examples/nodes/sop/xform/ModulusTransform.otl

    Create a cyclical animation using the Transform SOP, the Group SOP, and the modulus operation.