Example files Surface node examples
Blast
Example for Blast surface node
$HFS/houdini/help/examples/nodes/sop/blast/Blast.cmd
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.
AttribCopyTessel
Example for Attrib Copy surface node
$HFS/houdini/help/examples/nodes/sop/attribcopy/AttribCopyTessel.cmd
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.
CurveClayBasic
Example for Curveclay surface node
$HFS/houdini/help/examples/nodes/sop/curveclay/CurveClayBasic.cmd
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.
UltraSharpFont
Example for Curveclay surface node
$HFS/houdini/help/examples/nodes/sop/curveclay/UltraSharpFont.cmd
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.
FlagProfiles
Example for Profile surface node
$HFS/houdini/help/examples/nodes/sop/profile/FlagProfiles.cmd
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.
BlobbySphere
Example for Channel surface node
$HFS/houdini/help/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.
ChannelSoftbody
Example for Channel surface node
$HFS/houdini/help
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.
CurveTexturing
Example for Attrib Create surface node
$HFS/houdini/help/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”.
BridgeCurvesandPrims
Example for Bridge surface node
$HFS/houdini/help/examples/nodes/sop/bridge/BridgeCurvesandPrims.cmd
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.
DissolveBox
Example for Dissolve surface node
$HFS/houdini/help/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.
Torus
Example for Torus surface node
$HFS/houdini/help/examples/nodes/sop/torus/Torus.cmd
This example contains the various geometry types possible when creating a torus.
MagnetDistortion
Example for Magnet surface node
$HFS/houdini/help/examples/nodes/sop/magnet/MagnetDistortion.cmd
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.
MagnetBubbles
Example for Magnet surface node
$HFS/houdini/help/examples/nodes/sop/magnet/MagnetBubbles.cmd
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.
ForceBasic
Example for Force surface node
$HFS/houdini/help/examples/nodes/sop/force/ForceBasic.cmd
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.
SurfsectBasic
Example for Surfsect surface node
$HFS/houdini/help/examples/nodes/sop/surfsect/SurfsectBasic.cmd
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.
CarveExtractCurve
Example for Carve surface node
$HFS/houdini/help/examples/nodes/sop/carve/CarveExtractCurve.cmd
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.
CopySpikes
Example for Carve surface node
$HFS/houdini/help/examples/nodes/sop/carve/CopySpikes.cmd
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.
DiscCarve
Example for Carve surface node
$HFS/houdini/help/examples/nodes/sop/carve/DiscCarve.cmd
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.
Add
Example for Add surface node
$HFS/houdini/help/examples/nodes/sop/add/Add.cmd
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.
MultiTexture
Example for Layer surface node
$HFS/houdini/help/examples/nodes/sop/layer/MultiTexture.cmd
This example demonstrates the use of the layer SOP to layer multiple textures onto a single object.
TransferColor
Example for Attrib Transfer surface node
$HFS/houdini/help/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.
MountainSplash
Example for Attrib Transfer surface node
$HFS/houdini/help/examples/nodes/sop/attribtransfer/MountainSplash.cmd
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.
NormalsAttribTransfer
Example for Attrib Transfer surface node
$HFS/houdini/help/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.
HoleBasic
Example for Hole surface node
$HFS/houdini/help/examples/nodes/sop/hole/HoleBasic.cmd
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.
Circle
Example for Circle surface node
$HFS/houdini/help/examples/nodes/sop/circle/Circle.cmd
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.
Blendshapes
Example for Blend Shapes surface node
$HFS/houdini/help/examples/nodes/sop/blendshapes/Blendshapes.cmd
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.
BlendColors
Example for Blend Shapes surface node
$HFS/houdini/help/examples/nodes/sop/blendshapes/BlendColors.cmd
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.
VisibilityCheckers
Example for Visibility surface node
$HFS/houdini/help/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.
BasicRail
Example for Rails surface node
$HFS/houdini/help/examples/nodes/sop/rails/BasicRail.cmd
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.
bakevolume
Example for Bake Volume surface node
$HFS/houdini/help/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.
ReferenceGeometry
Example for Edit surface node
$HFS/houdini/help/examples/nodes/sop/edit/ReferenceGeometry.cmd
This example creates an animation illustrating how the Edit SOP’s Reference Geometry input can be used to apply an edit on animated geometry.
Hills
Example for Smooth surface node
$HFS/houdini/help/examples/nodes/sop/smooth/Hills.cmd
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.
CreaseBasic
Example for Crease surface node
$HFS/houdini/help/examples/nodes/sop/crease/CreaseBasic.cmd
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.
CreepSpiral
Example for Creep surface node
$HFS/houdini/help/examples/nodes/sop/creep/CreepSpiral.cmd
This example shows how to spiral a line geometry over a tube surface using the Creep SOP.
CreepParticleTubeA
Example for Creep surface node
$HFS/houdini/help/examples/nodes/sop/creep/CreepParticleTubeA.cmd
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.
CreepText
Example for Creep surface node
$HFS/houdini/help/examples/nodes/sop/creep/CreepText.cmd
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.
CreepBlob
Example for Creep surface node
$HFS/houdini/help/examples/nodes/sop/creep/CreepBlob.cmd
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”.
CreepWeave
Example for Creep surface node
$HFS/houdini/help/examples/nodes/sop/creep/CreepWeave.cmd
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.
CreepBasic
Example for Creep surface node
$HFS/houdini/help/examples/nodes/sop/creep/CreepBasic.cmd
This example is a basic demonstration of how the Creep SOP orients the source geometry over the creep surface.
AttribPromoteSphere
Example for Attrib Promote surface node
$HFS/houdini/help/examples/nodes/sop/attribpromote/AttribPromoteSphere.cmd
This example demonstrates how the AttribPromote SOP can be used to transfer (promote) attributes between points and primitives.
CapTubeExamples
Example for Cap surface node
$HFS/houdini/help/examples/nodes/sop/cap/CapTubeExamples.cmd
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.
CapCarousel
Example for Cap surface node
$HFS/houdini/help/examples/nodes/sop/cap/CapCarousel.cmd
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.
Example
Example for Point Cloud Iso Surface surface node
$HFS/houdini/help/examples/nodes/sop/pointcloudiso/Example.cmd
This example demonstrates how to construct a polygonal surface from a point cloud using the Point Cloud Iso Surface SOP.
RayWrap
Example for Ray surface node
$HFS/houdini/help/examples/nodes/sop/ray/RayWrap.cmd
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.
PeakEars
Example for Peak surface node
$HFS/houdini/help/examples/nodes/sop/peak/PeakEars.cmd
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.
BasicRevolve
Example for Revolve surface node
$HFS/houdini/help/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.
SlowParticles
Example for Cache surface node
$HFS/houdini/help/examples/nodes/sop/cache/SlowParticles.cmd
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
BoundLattice
Example for Spring surface node
$HFS/houdini/help/examples/nodes/sop/spring/BoundLattice.cmd
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.
SpringExamples
Example for Spring surface node
$HFS/houdini/help/examples/nodes/sop/spring/SpringExamples.cmd
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.
SpringHair
Example for Spring surface node
$HFS/houdini/help/examples/nodes/sop/spring/SpringHair.cmd
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.
SpringLine
Example for Spring surface node
$HFS/houdini/help/examples/nodes/sop/spring/SpringLine.cmd
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.
SpringFlag
Example for Spring surface node
$HFS/houdini/help/examples/nodes/sop/spring/SpringFlag.cmd
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.
ClothSeam
Example for Cloth Create Seam surface node
$HFS/houdini/help/examples/nodes/sop/clothcreateseam/ClothSeam.cmd
A simple example of two cloth panels seamed together.
BasicTriangulate2D
Example for Triangulate 2D surface node
$HFS/houdini/help/examples/nodes/sop/triangulate2d/BasicTriangulate2D.cmd
This example demonstrates basic use of the Triangulate2D SOP on a small number of points.
MasterTriangulate2D
Example for Triangulate 2D surface node
$HFS/houdini/help/examples/nodes/sop/triangulate2d/MasterTriangulate2D.cmd
This example demonstrates advanced use of the Triangulate2D SOP, including constraints and refinement.
SphereTypes
Example for Sphere surface node
$HFS/houdini/help/examples/nodes/sop/sphere/SphereTypes.cmd
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.
PolySplitHood
Example for Poly Split surface node
$HFS/houdini/help/examples/nodes/sop/polysplit/PolySplitHood.cmd
This example shows how to use the PolySplit SOP to refine the geometry of a car hood by splitting polygons.
ParticleAttractor
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticleAttractor.cmd
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.
PScale
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/PScale.cmd
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.
ParticleTube
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticleTube.cmd
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).
ParticleDisturbance
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticleDisturbance.cmd
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.
ParticleCollisionBasic
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticleCollisionBasic.cmd
This is a basic example of using the Particle SOP to birth particles at the SOP level, and having the particles collide with geometry.
ParticlePusher
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticlePusher.cmd
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.
FlutteringLeaves
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/FlutteringLeaves.cmd
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.
ParticleFountain
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticleFountain.cmd
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.
ParticleExamples
Example for Particle surface node
$HFS/houdini/help/examples/nodes/sop/particle/ParticleExamples.cmd
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.
cutup
Example for ForEach surface node
$HFS/houdini/help/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.
cheese
Example for ForEach surface node
$HFS/houdini/help/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.
FuseHood
Example for Fuse surface node
$HFS/houdini/help/examples/nodes/sop/fuse/FuseHood.cmd
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.
BlendMetaballs
Example for Metaball surface node
$HFS/houdini/help/examples/nodes/sop/metaball/BlendMetaballs.cmd
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.
EdgeDivideBasic
Example for Edge Divide surface node
$HFS/houdini/help/examples/nodes/sop/edgedivide/EdgeDivideBasic.cmd
This is a simple example of the different ways the EdgeDivide SOP is used to insert points on the edges of polygons.
DeleteDemo
Example for Delete surface node
$HFS/houdini/help/examples/nodes/sop/delete/DeleteDemo.cmd
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.
DeleteFan
Example for Delete surface node
$HFS/houdini/help/examples/nodes/sop/delete/DeleteFan.cmd
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.
SkinShip
Example for Skin surface node
$HFS/houdini/help/examples/nodes/sop/skin/SkinShip.cmd
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.
SkinBasic
Example for Skin surface node
$HFS/houdini/help/examples/nodes/sop/skin/SkinBasic.cmd
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.
SkinSurfaceCopies
Example for Skin surface node
$HFS/houdini/help/examples/nodes/sop/skin/SkinSurfaceCopies.cmd
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.
SkinCurves
Example for Skin surface node
$HFS/houdini/help/examples/nodes/sop/skin/SkinCurves.cmd
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.
BubblyFont
Example for Font surface node
$HFS/houdini/help/examples/nodes/sop/font/BubblyFont.cmd
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 surface node
$HFS/houdini/help/examples/nodes/sop/font/FontBasic.cmd
This example demonstrates some of the parameters available for formatting text using the Font SOP.
PointBasedRBD
Example for Dop Import surface node
$HFS/houdini/help/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.
ProxyGeometry
Example for Dop Import surface node
$HFS/houdini/help/examples/nodes/sop/dopimport/ProxyGeometry.cmd
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.
FacetVariations
Example for Facet surface node
$HFS/houdini/help/examples/nodes/sop/facet/FacetVariations.cmd
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.
PlatonicSolidsTypes
Example for Platonic Solids surface node
$HFS/houdini/help/examples/nodes/sop/platonic/PlatonicSolidsTypes.cmd
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.
ClipParticle
Example for Clip surface node
$HFS/houdini/help/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.
ClipVariations
Example for Clip surface node
$HFS/houdini/help/examples/nodes/sop/clip/ClipVariations.cmd
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.
BulgeTube
Example for Bulge surface node
$HFS/houdini/help/examples/nodes/sop/bulge/BulgeTube.cmd
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.
BulgeCat
Example for Bulge surface node
$HFS/houdini/help/examples/nodes/sop/bulge/BulgeCat.cmd
Create a simple cat head by using the Bulge SOP combined with metaballs and a NURBS sphere.
BlendPosition
Example for Sequence Blend surface node
$HFS/houdini/help/examples/nodes/sop/sblend/BlendPosition.cmd
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.
BlendTexture
Example for Sequence Blend surface node
$HFS/houdini/help/examples/nodes/sop/sblend/BlendTexture.cmd
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.
BlendNormal
Example for Sequence Blend surface node
$HFS/houdini/help/examples/nodes/sop/sblend/BlendNormal.cmd
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
BlendColor
Example for Sequence Blend surface node
$HFS/houdini/help/examples/nodes/sop/sblend/BlendColor.cmd
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.
Birdy
Example for Sequence Blend surface node
$HFS/houdini/help/examples/nodes/sop/sblend/Birdy.cmd
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.
ExtrudeFont
Example for Extrude surface node
$HFS/houdini/help/examples/nodes/sop/extrude/ExtrudeFont.cmd
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.
SoftRotate
Example for UV Transform surface node
$HFS/houdini/help/examples/nodes/sop/uvtransform/SoftRotate.cmd
Animate the rotation of texture coordinates using the UV Transform SOP with a soft falloff.
Press Play to see the animation.
LSystemMaster
Example for L-system surface node
$HFS/houdini/help/examples/nodes/sop/lsystem/LSystemMaster.cmd
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.
GridBasic
Example for Grid surface node
$HFS/houdini/help/examples/nodes/sop/grid/GridBasic.cmd
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.
RemoveSharedEdges
Example for Divide surface node
$HFS/houdini/help/examples/nodes/sop/divide/RemoveSharedEdges.cmd
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.
PolyLoftPaste
Example for Poly Loft surface node
$HFS/houdini/help/examples/nodes/sop/polyloft/PolyLoftPaste.cmd
This example demonstrates how the PolyLoft SOP can procedurally create meshes and triangles to connect animated polygonal geometries in an efficient way.
BasicRest
Example for Rest Position surface node
$HFS/houdini/help/examples/nodes/sop/rest/BasicRest.cmd
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.
BasicTwist
Example for Twist surface node
$HFS/houdini/help/examples/nodes/sop/twist/BasicTwist.cmd
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.
EdgeCollapseBasic
Example for Edge Collapse surface node
$HFS/houdini/help/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.
CombGrass
Example for Comb surface node
$HFS/houdini/help/examples/nodes/sop/comb/CombGrass.cmd
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.
FurBallWorkflow
Example for Fur surface node
$HFS/houdini/help/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.
FurRandomScale
Example for Fur surface node
$HFS/houdini/help/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”.
FurTextureMap
Example for Fur surface node
$HFS/houdini/help/examples/nodes/sop/fur/FurTextureMap.otl
This example demonstrates how to use a texturemap to color fur.
Clumping
Example for Fur surface node
$HFS/houdini/help/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.
Shaved
Example for Fur surface node
$HFS/houdini/help/examples/nodes/sop/fur/Shaved.cmd
This example demonstrates how to use a texture to control hair density.
FurBall
Example for Fur surface node
$HFS/houdini/help/examples/nodes/sop/fur/FurBall.cmd
This example demonstrates how the Fur SOP builds hair-like curves based on guide curves and skin geometry.
ClayBasic
Example for Clay surface node
$HFS/houdini/help/examples/nodes/sop/clay/ClayBasic.cmd
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.
AlignTube
Example for Align surface node
$HFS/houdini/help/examples/nodes/sop/align/AlignTube.cmd
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.
FractalGeoTypes
Example for Fractal surface node
$HFS/houdini/help/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.
SweepDome
Example for Sweep surface node
$HFS/houdini/help/examples/nodes/sop/sweep/SweepDome.cmd
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.
WigglyWorm
Example for Sweep surface node
$HFS/houdini/help/examples/nodes/sop/sweep/WigglyWorm.cmd
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.
SweepCurve
Example for Sweep surface node
$HFS/houdini/help/examples/nodes/sop/sweep/SweepCurve.cmd
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.
SweepBasic
Example for Sweep surface node
$HFS/houdini/help/examples/nodes/sop/sweep/SweepBasic.cmd
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.
PolyPatchDNA
Example for Poly Patch surface node
$HFS/houdini/help/examples/nodes/sop/polypatch/PolyPatchDNA.cmd
This example demonstrates the use of the PolyPatch SOP to procedurally model complex forms.
Here, a DNA model is created.
CookieBasic
Example for Cookie surface node
$HFS/houdini/help/examples/nodes/sop/cookie/CookieBasic.cmd
This example displays the various ways in which a Cookie SOP operates.
CookieStar
Example for Cookie surface node
$HFS/houdini/help/examples/nodes/sop/cookie/CookieStar.cmd
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.
CookieGear
Example for Cookie surface node
$HFS/houdini/help/examples/nodes/sop/cookie/CookieGear.cmd
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.
ProjectionTypes
Example for UV Project surface node
$HFS/houdini/help/examples/nodes/sop/uvproject/ProjectionTypes.cmd
This example demonstrates the various projection types supported by the uvproject SOP.
SimpleMDD
Example for MDD Point Cache render node
$HFS/houdini/help/examples/nodes/sop/mdd/SimpleMDD.otl
This example demonstrates how to use the MDD SOP and MDD File Writer ROP.
FitSurfaces
Example for Fit surface node
$HFS/houdini/help/examples/nodes/sop/fit/FitSurfaces.cmd
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.
FitCurves
Example for Fit surface node
$HFS/houdini/help/examples/nodes/sop/fit/FitCurves.cmd
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.
MatchTopologySphere
Example for Match Topology surface node
$HFS/houdini/help/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.
Wireblend
Example for Wire Blend surface node
$HFS/houdini/help/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.
BasicRefine
Example for Refine surface node
$HFS/houdini/help/examples/nodes/sop/refine/BasicRefine.cmd
This example contains a few methods of how the Refine SOP can be used to add or remove detail from many types of surfaces.
StitchGrid
Example for Stitch surface node
$HFS/houdini/help/examples/nodes/sop/stitch/StitchGrid.cmd
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.
CurveHood
Example for Curve surface node
$HFS/houdini/help/examples/nodes/sop/curve/CurveHood.cmd
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.
DuplicateBox
Example for Duplicate surface node
$HFS/houdini/help/examples/nodes/sop/duplicate/DuplicateBox.cmd
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.
ConvToTrimSurface
Example for Convert surface node
$HFS/houdini/help/examples/nodes/sop/convert/ConvToTrimSurface.cmd
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.
PasteConvertVariations
Example for Convert surface node
$HFS/houdini/help/examples/nodes/sop/convert/PasteConvertVariations.cmd
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.
Potatochip
Example for Convert surface node
$HFS/houdini/help/examples/nodes/sop/convert/Potatochip.cmd
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.
ConvertBasic
Example for Convert surface node
$HFS/houdini/help/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.
PastedHeirarchy
Example for Convert surface node
$HFS/houdini/help/examples/nodes/sop/convert/PastedHeirarchy.cmd
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.
CurveToPrimCircle
Example for Convert surface node
$HFS/houdini/help/examples/nodes/sop/convert/CurveToPrimCircle.cmd
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.
MergeAttributes
Example for Merge surface node
$HFS/houdini/help/examples/nodes/sop/merge/MergeAttributes.cmd
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.
PasteNose
Example for Paste surface node
$HFS/houdini/help/examples/nodes/sop/paste/PasteNose.cmd
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.
PasteCones
Example for Paste surface node
$HFS/houdini/help/examples/nodes/sop/paste/PasteCones.cmd
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.
CopyCubes
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/CopyCubes.cmd
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.
CopyAttributes
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/CopyAttributes.cmd
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.
VelocityStamp
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/VelocityStamp.cmd
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.
StampRandom
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/StampRandom.cmd
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.
ParticleCopyScale
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/ParticleCopyScale.cmd
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.
CopyTemplateAttribs
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/CopyTemplateAttribs.cmd
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.
StampStars
Example for Copy surface node
$HFS/houdini/help/examples/nodes/sop/copy/StampStars.cmd
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.
CopyUsingOrient
Example for Attrib Reorient surface node
$HFS/houdini/help/examples/nodes/sop/attribreorient/CopyUsingOrient.cmd
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.
PrimitiveExplode
Example for Primitive surface node
$HFS/houdini/help/examples/nodes/sop/primitive/PrimitiveExplode.cmd
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.
PrimitiveMetaWeight
Example for Primitive surface node
$HFS/houdini/help/examples/nodes/sop/primitive/PrimitiveMetaWeight.cmd
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.
PrimCenter
Example for Primitive surface node
$HFS/houdini/help/examples/nodes/sop/primitive/PrimCenter.cmd
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.
PrimRotate
Example for Primitive surface node
$HFS/houdini/help/examples/nodes/sop/primitive/PrimRotate.cmd
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.
PrimitiveColors
Example for Primitive surface node
$HFS/houdini/help/examples/nodes/sop/primitive/PrimitiveColors.cmd
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.
PolywireModel
Example for Poly Wire surface node
$HFS/houdini/help/examples/nodes/sop/polywire/PolywireModel.cmd
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.
PolyKnitBasic
Example for Poly Knit surface node
$HFS/houdini/help/examples/nodes/sop/polyknit/PolyKnitBasic.cmd
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.
DeformLattice
Example for Lattice surface node
$HFS/houdini/help/examples/nodes/sop/lattice/DeformLattice.cmd
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.
BallBounce
Example for Lattice surface node
$HFS/houdini/help/examples/nodes/sop/lattice/BallBounce.cmd
This is an example of how a Lattice SOP is used to create a bouncing ball.
AttributeRename
Example for Attribute surface node
$HFS/houdini/help/examples/nodes/sop/attribute/AttributeRename.cmd
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.
CurvesectRods
Example for Curvesect surface node
$HFS/houdini/help/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.
Box
Example for Box surface node
$HFS/houdini/help/examples/nodes/sop/box/Box.cmd
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.
GridFillet
Example for Fillet surface node
$HFS/houdini/help/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.
ModulusTransform
Example for Transform surface node
$HFS/houdini/help/examples/nodes/sop/xform/ModulusTransform.cmd
Create a cyclical animation using the Transform SOP, the Group SOP, and the modulus operation.
BasicJoin
Example for Join surface node
$HFS/houdini/help/examples/nodes/sop/join/BasicJoin.cmd
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.
EdgeFlipBasic
Example for Edge Flip surface node
$HFS/houdini/help/examples/nodes/sop/edgeflip/EdgeFlipBasic.cmd
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.
PolyStitchBasicSmooth
Example for Poly Stitch surface node
$HFS/houdini/help/examples/nodes/sop/polystitch/PolyStitchBasicSmooth.cmd
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.
PointSpiral
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/PointSpiral.cmd
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.
PointTerrainErode
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/PointTerrainErode.cmd
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.
CrossProduct
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/CrossProduct.cmd
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.
PointNormals
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/PointNormals.cmd
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.
PointExamples
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/PointExamples.cmd
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.
PointBorrowing
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/PointBorrowing.cmd
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.
AimPointNormals
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/AimPointNormals.cmd
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.
PointOffsetSurface
Example for Point surface node
$HFS/houdini/help/examples/nodes/sop/point/PointOffsetSurface.cmd
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.
ProjectCurve
Example for Project surface node
$HFS/houdini/help/examples/nodes/sop/project/ProjectCurve.cmd
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.
ResampleLines
Example for Resample surface node
$HFS/houdini/help/examples/nodes/sop/resample/ResampleLines.cmd
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.
EdgeCuspStairs
Example for Edge Cusp surface node
$HFS/houdini/help/examples/nodes/sop/edgecusp/EdgeCuspStairs.cmd
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.
VertexTexture
Example for Vertex Split surface node
$HFS/houdini/help/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.