The Subnet op is essentially a way of creating a macro to represent a collection of ops as a single op in the Network Editor. The Subnet op can contain an entire op Network within it, stream-lining and simplifying your op network both visually and conceptually.
Selecting Edit SubNetwork… from the op’s pop-up menu presents you with a new Network Editor with four subnetwork inputs. These four inputs are connected directly to the four inputs on the Subnet op in your original network. Proceed by attaching ops as required to these four subnetwork inputs. The display op will be wired back to the output connector of the Subnet op in your original op network. To get back to the original op network, go up a level (type U).
Please refer to subnetworks for a complete discussion and an example of how to use subnetworks.
Select several Operators that you want to make into a subnetwork, and select Collapse Selected from the OP’s pop-up menu to automatically create a subnetwork out of them. You will see the selected Operators replaced by a single Subnetwork op, and it will be properly rewired to contain the previously selected ops.
The following examples include this node.
This file demonstrates how the Copy CHOP can be used to copy channels and apply them to geometry.
This example demonstrates how to count impacts from a DOPs simulation using the Count CHOP. Then, using the values from the Count CHOP, we generate copies of a teapot.
This example demonstrates how to use the Dynamics CHOP to extract impact data from a DOPs simulation, and then modify the data to control lights in the scene.
This example uses the Hold CHOP in conjunction with the Dynamics CHOP to hold a light at the position of an impact from a DOPs simulation until a new impact occurs.
This example demonstrates how to use the Lookup CHOP to play animation based on an event, or trigger.
This example demonstrates using the Noise CHOP to generate animation and apply it to geometry.
This example demonstrates how to take the animation from three separate objects, and sequence their animation into one animation on a fourth object.
This example shows how to use the Apply Relationship DOP to propagate constraints automatically and create an RBD simulation of a collapsing bridge.
This example demonstrates two fluids with different densities and viscosities interacting with a solid object.
This example creates a teapot shaped blob of liquid. It then uses surface tension forces to smooth the blob into a sphere.
This example uses the Script Solver and SOP Solver to change the color of RBD objects based on the total impact energy applied to the object at each timestep.
A ghostly tetrahedron bounces around a box, its presense shown by its continuous emission of smoke.
This example actually includes eight examples of ways that you can use voronoi fracturing in Houdini. In particular, it shows how you can use the Voronoi Fracture Solver and the Voronoi Fracture Configure Object nodes in your fracture simulations. Turn on the display flags for these examples one at a time to play the animation and dive down into each example to examine the setup.
This example demonstrates how to break wire constraints on a per point basis. The wire solver is set up to constrain certain points if it finds an attribute named 'pintoanimation'.
This example demonstrates how to advect curves based on a pyro simulation. An Attribute Wrangle SOP is used to sample the velocity from the volume and apply it to a wire object.
This example shows how to configure transparent shadows with deep shadow maps. The scene includes a transparent grid which casts a shadow on the scene. The renderer used is micropolygon rendering.
Ambient occlusion is a fast technique for producing soft, diffuse lighting in open spaces by using ray tracing. It is computed by determining how much of the hemisphere above a point is blocked by other surfaces in the scene, and producing a darker lighting value when the point is heavily occluded. This technique can be useful when you need a GI-like effect without paying the price for full global illumination.
With this particular example, an Ambient Occlusion light and some geometry is provided in the form of a Digital Asset. An Environment Light was used, and it’s parameters were promoted for easy access.
Decreasing the sample count allows you to improve render time at the expense of some additional noise in the render. The following render uses the same shader as the image above but decreases the samples from the default of 256 to 16. This value is set on the Sampling Quality under the Render Options tab of the Light.
If you have a smooth environment map, it is possible to replace the global background color (white) with the value from an environment map. You can also enable the Sky Environment Map under the Sky Environment Map tab.
This is an example of how to use the FindShortestPath SOP to find a path through geometry where certain edges are directed edges. Directed edges can only be traversed in one direction.
Try changing the start and end points, as well as the directed edges, to explore how the SOP avoids going the wrong direction, and cannot reach points with only outgoing edges.
This is an advanced example of how to use the FindShortestPath SOP to prefer "central" paths, based on centraily measures computed using FindShortestPath and AttribWrangle. This helps avoid staying too close to walls where avoidable.
Turn on the Display Option > Optimization > Culling > Remove Backfaces to see inside the space more easily. Try visualizing the different centrality measures using the switch node. The same example without considering the centrality of the path is demonstrated in a side branch of the SOP network, in order to see the difference.
This example demonstrates how to have multiple shading layers with different uv sets using the Layer SOP and the VEX Layered Surface SHOP.
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.
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.