In brief
- HeightField SOP creates terrain that is 1000 × 1000 meters by default, with a Grid Spacing of 2 meters.
- HeightField Noise SOP shapes terrain using Amplitude, Element Size, and different noise types.
- Masks can limit height effects to selected areas; HeightField Mask by Feature uses slope, elevation, curvature, direction, and occlusion criteria.
- HeightField Erode simulates rainfall and erosion; this node has been documented since Houdini 21.0.
In Houdini, a heightfield defines terrain using elevation data on a two-dimensional grid of cells, rather than a traditional polygon model. SideFX’s official documentation explains how to create peaks, coastlines, valleys, and other geological forms using heightfield layers, noise, masks, and erosion. These techniques can also be used to create topography for architectural environments and landscape visualization; this is an editorial suggestion about potential applications of the techniques covered in this guide.
The information on basic heightfields and noise is based on SideFX’s Houdini documentation. The documented version information for the HeightField Erode node is Houdini 21.0 and later, while HeightField Mask by Feature is documented from version 16.0 onward. The documentation does not separately specify the current menu location or hardware requirements for each feature.
How heightfields work: Elevation, layers, and resolution
The base heightfield layer is typically named height; its values determine the terrain’s elevation. You can add components such as soil or rock to the same data stream as separate height layers and edit them independently when needed. Being able to toggle layers on and off makes it possible to work without combining the terrain into a single result.
Resolution determines the spacing between grid points and the level of surface detail. In SideFX’s example, HeightField SOP has a default size of 1000 × 1000 meters. With the default Grid Spacing of 2 meters, the base heightfield contains 500 voxels along each axis. Reducing Grid Spacing provides denser sampling, so choose a value based on the scene scale and the level of detail required.
| Setting | Suggested value | Effect |
|---|---|---|
| Size | Default: 1000 × 1000 m | Sets the overall terrain scale. |
| Grid Spacing | Default: 2 m | Sets the distance between grid points and the heightfield resolution. |
| Roughness | Adjust in small increments of 0.05 | Affects fine spikes in the noise surface; the documentation notes that this parameter is sensitive. |
Create basic terrain: Six steps
Open the Tab menu at Houdini’s
objlevel and create a Geometry OBJ. This object serves as a container for the terrain network; double-click the node to enter it.Add a HeightField SOP from the Tab menu. The node creates a flat surface at the scene origin, oriented along the ZX plane. Set the area covered by the terrain with Size and its sampling density with Grid Spacing.
Add a HeightField Noise SOP after HeightField SOP and connect its first input to the heightfield output. The Noise node gives the flat base a terrain shape.
In the Noise node, use Amplitude to set the scale of elevation changes and Element Size to set the size of the pattern. A smaller Element Size produces denser, sharper detail; larger values create smoother, broader forms. Amplitude should not be interpreted directly as elevation in meters: it is a scale factor applied to the displacement of grid points.
Try different Noise Types to create the main forms. The documentation gives cellular types and Alligator as examples for defining the main terrain structure, and Perlin, sparse, and simplex types for adding detail. Layering multiple noise types and applying distortion can create more detailed forms.
If you need sea level and a coastline-like appearance, explore the Combine Mode options. The documentation notes that Maximum can create sea level and islands by clipping values below zero, while Minimum can produce canyon-like forms.
Controlled detail with masks and erosion
A mask applies a node’s effect to selected parts of the terrain. To confine noise to specific areas, place a HeightField Mask Noise SOP between HeightField SOP and HeightField Noise SOP. Connect the heightfield output to the mask node’s first input, then connect the noise node’s second input to the mask node’s output. The terrain effect appears in the mask’s red areas. Multiple mask layers with different names can also be used to control separate operations in different areas.
For selection based on more specific criteria, use HeightField Mask by Feature. This node can generate masks based on slope, elevation, curvature, surface direction, and surrounding occlusion. For example, you can isolate selected slope or elevation ranges on a piece of terrain. When multiple criteria are enabled, the resulting mask is the intersection of those criteria. If no criteria are enabled, the node fills the mask with a value of 1, which can unintentionally select the entire terrain.
SideFX’s documentation describes the following starting workflow for erosion:
Go to the Terrain FX shelf tab and create either the Terrain: Mountain or Terrain: Canyon preset.
Go to the Start Frame in the Playbar and play the simulation.
When the desired stage is reached, freeze the output by setting Freeze at Frame to the appropriate frame.
If finer-scale detail is needed, add another HeightField Erode node and set Erosion Feature Size to a smaller scale.
Erosion Feature Size determines the scale of erosion channels, slopes, and deposits. Larger values create broader forms, while smaller values produce sharper detail. The node’s minimum feature size is limited to three times the voxel size of the input terrain. If you chain multiple erosion nodes, freeze the output once you get the desired result. SideFX notes that unfrozen nodes may not cook in sequence, which can lead to unexpected results or longer processing times. In addition to height, the erosion output can include sediment, debris, flow, and flowdir layers.
Using heightfields in architectural and archviz workflows
Teams creating architectural environment visualizations can use heightfields to create sloped terrain around buildings, distant hills, coastlines, or smaller, custom landscape features for a scene. This is not presented as a specific architectural use case in SideFX’s documentation; it is a potential application of the documented terrain tools. Keeping layers and masks separate makes it possible, for example, to apply erosion only to selected areas or edit different terrain components independently.
The heightfield’s two-dimensional grid structure limits the detail it can produce on vertical surfaces. SideFX lists applying erosion, converting the heightfield to actual geometry, or scattering objects onto surfaces as options for these areas. Karma CPU and Karma XPU both support heightfields, but converting them to polygons before rendering provides more control over the resulting geometry. An automatic conversion can also take place when importing into Solaris. Teams should therefore consider their needs for polygon conversion and transferring colors or layers to the terrain as part of their scene workflow.
Common mistakes
Treating Amplitude as elevation in meters. It is a scale factor applied to the displacement of grid points.
Focusing only on detail when reducing Grid Spacing. This setting changes resolution; consider the required terrain scale and level of detail together.
Using HeightField Mask by Feature without enabling any criteria. In this case, the mask is filled with a value of 1.
Chaining erosion nodes without freezing them. Lock in the desired result with Freeze at Frame; otherwise, node cook order or processing time may become an issue.
Assuming vertical surfaces can be detailed naturally with a heightfield. Consider options such as converting to geometry or scattering objects for these areas.
Sources
3 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture and visualization offices in Turkey, the practical benefit of the heightfield approach is the ability to control terrain region by region with layers and masks, rather than treating it as a single surface. This structure can make it easier to iteratively adjust the topography around a project and adapt the same base grid to different scenes.
Before bringing the workflow into a project, test resolution, polygon conversion, and rendering. The documentation does not provide specific hardware recommendations or cost information, so offices should measure processing times in their own scenes. Freezing erosion output and identifying the limitations on vertical surfaces early can help avoid unnecessary experimentation.
Frequently asked questions
How do you create a heightfield in Houdini?
Add HeightField SOP inside a Geometry OBJ, then connect HeightField Noise SOP to create the terrain shape. Size sets the overall scale, while Grid Spacing determines grid resolution.
How do you freeze a HeightField Erode simulation?
Play the simulation from the Start Frame, then set Freeze at Frame once you reach the desired frame. SideFX recommends freezing the desired output when using multiple erosion nodes.
Can a heightfield create detail on vertical surfaces?
The heightfield’s two-dimensional grid structure limits work on vertical areas. SideFX lists applying erosion, converting the terrain to geometry, or scattering objects as options for these areas.



