← Back


Create in Context v. Object Level

For instances where the intent is to add new geometry to an existing object, enable Tool Options > Create in Context. By default, this is set to Create at Object Level, which creates new objects for each new geometry added via the Scene View.

Enable Object Pivot Transform

Enable object pivot transform (INS) which allows pivot to be transformed independently of object.

Snap Object To Object

Snap object to other object face/point using semicolon (;).

Split Line Into Separate Prims

Using a PolyCut SOP, set the following parameters:

  • Strategy : Cut
  • Cut Points : * (split at all pts)

Fuse Polylines

There are a probably a few different ways to approach this and may vary on the specific conditions, but here are some strategies I've used.

For superimposed polylines by themselves, I basically merge the lines, isolate the points, and then rebuild the polyline. To keep all of the merged points sorted along the line, Edge Transport can generate a point attribute that maps its location consistently.

For geometry with coincident edges, I've used Poly Bridge to have it build the geometry to reconcile the differences in the point locations between 2 different edges.

Edge Divide w Fuse to essentially build the matching points to fuse them together.

Hip File


Ray Onto Surface With Gaps

Stabilize Scattered Points on Deforming Geo

Enable the Prim Num and Prim UVW Attributes on the Scatter SOP to allow the Attribute Interpolate to match the moving scattered points to their corresponding position on the deforming geometry.

Source: https://www.sidefx.com/docs/houdini/nodes/sop/scatter.html#stick

UV Layout To Attribute From Map On Box

The following uses a UV Unwrap followed by a UV Layout node (with Stack Identical Islands enabled) before the Attribute From Map. For a cube, it should stack all the sides on top of each other so they share the same texture.


Separate Polygons

Facet SOP > Unique Points

Delete Random Prims

One strategy is to use a Group Expression and trying out the available options in the VEXpression field drop-down menu, like the 30% chance option.

An enhancement would be to input the following into the VEXpression field and add the channel sliders to interactively modify the group and random seed.

rand(@elemnum + chf("seed")) < chf("percentage")

Blend Shape Using Packed Geo

In the Blend Shapes, enable Treat Packed Primitives as Shapes.

Applying a weight (primitive float) attribute to each packed geo and a point id (point integer) attribute allows for multiple packed primitives to be managed through a blend shape.

Preserve Group With Animated Bounding Object

Implement a Group Create within a Solver and set the Initial Merge parameter of the Group Create to Union with Existing as it reads in the updated geometry from the previous frame and an animated bounding object from Input 2.


Noise Types

Simplex Noise

Very fast processing.

Anti Alias Flow Noise

Generates noise with a swirly effect.

Unified Noise

Equipped with a fractal setting.


Frequency: Used to change size of noise across geometry.

Amplitude: Affects the contrast of the noise.

Roughness: Refines detail and features of the noise pattern.



Multiple Flipbooks In MPlay

The following process is to have multiple flipbooks shown in MPlay for comparisons.

Select the following: View > Layout > 2 Columns

Disable the following: View > Layout > Hide Blank Viewports

It is enabled by default. But it needs to be disabled to allow for a blank viewports to appear.

Once the blank viewport is visible, click on it and the green outline around it notifies that it is the active viewport and ready for a new flipbook to be processed in that specific viewport.


Processing Optimization


Caution: Enabling this property utilizes the CPU heavily.

OpenCL Optimization

Enable Use OpenCL option when available to capitalize on GPU. This can be found in nodes like the Pyro Solver and in its Advanced tab.


Pscale Visualization

Enable point clarity in Scene View with disc representations. These help to visualize attributes such as @Cd and @pscale much clearer than the default points or pixels.



Bounding Box Visibility

In Scene View panel, set visibility to Smooth Shaded.


Visualize Volume

The following can visualize a volume's field/s:

Volume Slice

  • Set the Attribute parameter to the attribute in the volume intended to be visualized.
  • This creates a plane through the volume and expresses the data on the plane using the defined Visualization Ramp setting.

Volume Trail

  • Disable the Detect Range option and adjust the Maximum parameter to hone in on the min/max range to the specific data in the volume.

Rename/Duplicate Volume

Since a volume is categorized as a primitive, the Name SOP can be used to rename or duplicate an existing volume.


Extrude via Height Map @Cd

Extrude using height map @Cd prim attribute as extrusion scale.


Accessing Dynamics Data

Dynamics data from a DOPnet can be referenced, but uses the following syntax to access the data within the dynamics object. The colon (:) is used to separate the network path from the object and data located within. For example, accessing the Geometry data within an RBD Packed Object would be denoted as:

    network path:rbdpackedobject/Geometry







The lower the number, the more it stretches before it returns to the rest length.


Case Study: Crowd Simulation for Social Distancing Planning

As an architect, I've explored a few tools used in the industry for crowd simulation and studies, and have noticed their use recently for designing spaces and managing facilities, specifically regarding social distancing due to the Covid-19 pandemic. So in my continuing exploration of Houdini, this is a quick test of its crowd simulation tools as a potential strategy in addressing the social distancing planning in lieu of other industry tools for these types of planning studies.


This quick test setup includes individuals walking through a walkway like that of an airport or mall with obstacles like kiosks which are to be navigated around. The crowd agents' points are used as a point cloud to define proximity and trigger a color change when any 2 or more individuals reach a threshold distance (such as 6 feet) between or among them. The changing color gradient on the floor follows the dynamic crowd agents as they navigate the walkway and obstacles. The gradient aims to highlight potential proximity densities as individuals start to get too close to each other and the color intensifies to red as areas of density form and increase. At the same time, the gradient also showcases areas along the walkway where the placement of the obstacles may be the cause of individuals moving into dense crowds, which could then be used in the planning and positioning of such obstacles to mitigate high density crowds.

This has shown me the potential of Houdini's crowd simulation tools for strategic designing and planning of architecture projects of all sorts, including airports, stadiums, which I aim to continue exploring with test BIM data. And it is yet another instance in which Houdini has shown itself to be quite a versatile tool.



Case Study: Contact Sheets With TOPs and PDG

Using TOPs and PDG within Houdini, numerous iterations can be generated for evaluating design concepts specifically for architectural design applications. Ultimately, the output of contact sheets with these iterations can help a design team evaluate ideas without having to process and render each individually after each parameter value change.



Test & Analysis

Wedge multiple parameters and link via TOP net.
Render output to Mantra.
Composite rendered output of iterations into montage via Image Magick.
Render with Redshift ROP and output to montage with labels via Image Magick.