Latest news
Tips & GuidesHoudini

Houdini Heightfields Guide: Create Terrain with Noise and Erosion

Houdini’s official documentation explains how to create basic terrain with HeightField nodes, then shape it with noise, masks, and HeightField Erode. This guide adapts those steps for visualization workflows.

Contemporary pavilion on a hillside shaped by erosion channels and vegetationAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. HeightField stores elevation on a 2D grid; layers and masks let you organize edits by region.
  2. HeightField SOP defines terrain dimensions and grid spacing, while HeightField Noise SOP controls the character of the noise.
  3. HeightField Erode simulates material transport through rainfall and weathering; the node has been documented since Houdini 21.0.
  4. For noise detail, consider Element Size and Amplitude together; fine erosion features may be limited by voxel size.

Instead of shaping polygons directly, you can create terrain in Houdini with HeightField, which stores elevation on a 2D grid. According to SideFX’s documentation, a basic network can start with HeightField SOP and be extended with HeightField Noise SOP and an optional mask. You can then use HeightField Erode to add material movement caused by rainfall and weathering. This guide looks at the workflow described in Houdini’s official documentation from the perspective of architectural environment modeling and visualization. HeightField Noise has been documented since Houdini 16.0, and HeightField Erode since 21.0.

1. Understand HeightField and set the initial scale

Think of a HeightField as a flat grid where each cell stores terrain elevation. This structure lets you organize elevation in layers: the base layer is typically named height, while different surface or terrain effects can be stored in separate layers. Nodes can use a mask layer connected to their second input to restrict their effects to specific areas of the terrain. That way, every change doesn’t have to affect the entire surface.

  1. Open the Tab menu at Houdini’s obj level, create a Geometry OBJ, and dive inside. Build the terrain network inside this geometry.

  2. Add a HeightField SOP. This node creates a flat base at the scene center on the ZX plane.

  3. First use Size to set the overall area covered by the terrain, then use Grid Spacing to set its resolution. The default size in the documentation, 1000 × 1000 meters, represents an area of one square kilometer. The standard Grid Spacing value of 2 leaves two meters between points and creates a base grid of 500 × 500 voxels.

SettingSuggested valueEffect
SizeDocumentation default: 1000 × 1000 metersSets the terrain’s overall scale.
Grid SpacingDocumentation standard: 2 metersSets the distance between grid points and, therefore, the resolution.
RoughnessTest small increments of 0.05Affects the roughness of the noise; the setting is sensitive.

These values are starting points and usage references from the documentation, not targets for every project. A close-up ground plane and distant hills may not need the same level of detail. Reducing Grid Spacing unnecessarily creates a denser grid; a more controlled starting point is to determine the level of detail based on how the terrain will be used in the scene.

2. Create terrain character with HeightField Noise

  1. Add a HeightField Noise SOP and connect its first input to the output of HeightField SOP. Shape the terrain with this node’s parameters. Amplitude scales the amount of vertical displacement; the documentation specifically notes that this value is not directly in meters. So rather than interpreting it as the terrain’s actual height, adjust it by observing the resulting surface.

  2. Element Size sets the size of the noise pattern across the grid. Smaller values tend to produce denser, sharper detail, while larger values produce softer, more widely spaced forms. SideFX recommends considering the ratio between Element Size and Amplitude: you may need to reduce Amplitude for smaller pattern sizes and increase it for larger ones. Test this relationship especially in architectural environments, so terrain detail doesn’t compete with the scale of buildings and cameras.

  3. Try different algorithms with Noise Type. The documentation presents Perlin, sparse, and simplex types as options for adding detail, and cellular and Alligator types as suitable choices for defining the main terrain structure. If the result looks too regular, you can layer different noise types or use distortion. Keep Roughness changes small; the documentation recommends increments of 0.05. Increasing Lacunarity is another documented option when you need finer structures.

3. Use a mask to limit the effect

  1. Control where the height effect appears with a noise mask. Place HeightField Mask Noise SOP between the existing HeightField SOP and HeightField Noise SOP. Connect the mask’s output to the second input of HeightField Noise; its first input should continue to receive the height data.

Enable the node’s blue Display/Render flag to view the mask. Red areas indicate where the noise will create mountains; areas outside the mask can remain flat. This lets you select the parts that need to show up in the image, rather than raising the entire terrain. You can use multiple mask layers; check the layer name when selecting which mask the node should use.

4. Shape the surface with HeightField Erode

  1. Create the Terrain: Mountain or Terrain: Canyon preset from Houdini’s Terrain FX shelf tab. Go to the Start Frame position in the HeightField Erode node and play the simulation using the playbar. When you reach the desired erosion level, freeze the output with Freeze at Frame. The documentation warns that multiple unfrozen erosion nodes added in sequence may not cook in order, potentially producing unexpected results or longer cook times.

Erosion Feature Size sets the scale of the channels, slopes, and deposits that form: larger values produce broader features, while smaller values produce sharper ones. The smallest feature size is three times the voxel size of the input terrain; even if you request a finer value, the node may constrain it to this limit. You can chain multiple HeightField Erode nodes to move from broad primary forms to smaller surface detail, and try a finer feature scale on the next node.

Using HeightField in architectural visualization workflows and common mistakes

HeightField lets you edit terrain around a building—such as topography, a shoreline, a valley, or a ground backdrop—in separate layers and masks. Resolution and erosion detail may be more visible on the foreground, while distant hills may need less detail. Test these choices for your scene, however. HeightField cannot represent vertical surfaces like actual geometry: if the terrain looks stretched in these areas, consider erosion, converting it to actual geometry, or scattering objects across those regions.

Common mistakes:

  • Treating Amplitude as a height value in meters. The documentation describes this parameter as a scale multiplier.

  • Leaving Amplitude unchanged while reducing Element Size, resulting in an excessively spiky surface. Consider the two settings together.

  • Not connecting the mask to the second input of HeightField Noise, or selecting the wrong mask layer.

  • Chaining HeightField Erode nodes without freezing them. Freeze the output once you have the desired result.

  • Expecting HeightField to behave like a polygon mesh in vertical areas. Account for the limitations of HeightField’s 2D grid-based structure.

Converting HeightField to polygons before rendering can provide more control over the resulting geometry; for example, this approach can be used when you need to transfer color and layers to the terrain. The documentation also notes that Houdini can automatically convert terrain when it is imported into Solaris. For this reason, deciding early how to bring the terrain into an architectural scene and what geometry controls are needed can help avoid surprises later.

Sources

3 sources
S
sidefx.comsidefx.com/docs/houdini/heightfields
Summary
S
sidefx.comsidefx.com/docs/houdini/nodes/sop/heightfield_erode.html
Summary
S
sidefx.comsidefx.com/docs/houdini/nodes/sop/heightfield_noise.html
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture firms and visualization teams, HeightField’s main practical advantage is that it lets you build terrain with layers, noise, and masks rather than treating it as a single mesh. This can make it easier to edit different areas separately in environment modeling; however, as detail increases, grid resolution and simulation cook time also need to be factored into the workflow.

For teams in Turkey, the safest approach is to first establish the scale required by the scene, then test the node order in a small area. Skipping the freeze step described in the documentation can produce unexpected results, especially with chained erosion nodes. The limitations on vertical surfaces and the need to convert geometry before rendering should also be checked early, based on the delivery format.

Frequently asked questions

How do you create terrain with Houdini HeightField?

Start by creating HeightField SOP inside a Geometry OBJ, then add HeightField Noise SOP. Size and Grid Spacing set the terrain’s scale and resolution, while the noise parameters define the character of the surface.

Since which Houdini version has HeightField Erode been documented?

SideFX’s node documentation lists “Since 21.0” for HeightField Erode.

Do you need to convert HeightField terrain to polygons?

Conversion before rendering isn’t required; Houdini can automatically convert the terrain when it’s imported into Solaris. Manual conversion can provide more control over the resulting geometry and let you transfer color or layers to the terrain.

Comments and the forum are in Turkish.Join the discussion
+

Related news