In brief
- The HeightField SOP creates a terrain base measuring 1000 × 1000 meters by default.
- With Grid Spacing set to 2, the base heightfield contains 500 × 500 voxels.
- The HeightField Noise SOP lets you control terrain shape with parameters such as Amplitude and Element Size.
- The HeightField Project SOP projects geometry onto a heightfield; the documentation states that this node has been available since Houdini 16.0.
Houdini’s Heightfields tools create terrain as a 2D grid that stores elevation values in its cells, rather than as a conventional polygon mesh. The workflow described in SideFX’s official documentation covers creating a terrain base, shaping it with noise, restricting operations to specific areas with masks, and projecting existing geometry onto the terrain. Heightfield tools can be used not only for large outdoor environments but also for smaller landscapes, riverbeds, and ocean floors.
1. Create a base heightfield
In Houdini, open the Tab menu at the
objlevel and create a Geometry OBJ. This object serves as the container for the terrain network; double-click the node to dive inside.Add a HeightField SOP. This node creates a flat surface centered at the scene origin and extending along the XZ plane.
Set the Size and Grid Spacing values to define the scale and level of detail. Size determines the terrain’s overall dimensions, while Grid Spacing sets the distance between points in the grid. Closer spacing makes finer detail possible.
The values and options in the documentation can be summarized as a starting point:
| Setting | Suggested value | Effect |
|---|---|---|
| Size | 1000 × 1000 meters (default) | Creates a base area of one square kilometer. |
| Grid Spacing | 2 (default) | Leaves 2 meters between grid points; at this setting, the base area contains 500 × 500 voxels. |
| Division Mode | Optional: By Axis | Lets you specify the number of points per axis directly instead of setting grid spacing. |
| Roughness | Adjust in small increments of 0.05 | Controls micro-spikes on the noise surface; because it is sensitive, gradual adjustments are recommended. |
Choose the resolution based on the scene’s intended use. Distant hills may need less detail, while foreground terrain or areas where objects will be scattered may require a denser grid. The documentation notes that these different needs can be handled with the same core tools.
2. Shape the terrain with noise
Add a HeightField Noise SOP from the Tab menu and connect its first input to the output of the HeightField SOP. By default, this node creates a hilly, rocky appearance.
Use Amplitude to control the scale of the elevation changes. This value is not a height in meters; the documented default of 500 for HeightField Noise does not, by itself, mean 500-meter hills.
Adjust Element Size to control the scale of the noise pattern. Smaller values produce tighter, sharper details, while larger values create broader, softer forms. When using a small Element Size, you’ll generally also need to reduce Amplitude; the relationship between these two parameters defines the character of the result.
Try different Combine Mode and Noise Types options as needed. For example, Maximum can clip values below zero to create a result resembling sea level and islands. Minimum can be used for canyon-like forms. Layering different noise types and then applying erosion are among the ways to create more detailed terrain.
Avoid making large jumps when adjusting Roughness: the documentation describes this parameter as sensitive and recommends small increments of 0.05. If the surface looks excessively rough, review Element Size, Amplitude, and Roughness together for more controlled results rather than simply reducing the grid spacing.
3. Restrict the affected area with masks
Masks determine which parts of the terrain an operation affects. Although the default mask layer is named mask, you can keep multiple masks with different names in the same geometry stream. This lets you define separate areas for different operations.
Add a HeightField Mask Noise SOP between the existing HeightField SOP and HeightField Noise SOP.
Connect the Mask node’s first input to the HeightField output, then connect the Mask node’s output to the HeightField Noise SOP’s second input. This connection lets the mask control the noise.
Enable the Display/Render flag on the Mask node to make the mask visible. Areas shown in red will be shaped by noise, while areas outside the mask will remain flat.
For more targeted selections, use HeightField Mask by Feature. This node can create masks based on criteria such as slope, elevation, curvature, direction, and occlusion. If multiple criteria are enabled, the resulting mask is determined by their intersection. If no criteria are enabled, the node fills the mask with a value of 1; check the criteria to avoid an empty or unexpected selection. Use Smooth Radius to soften the mask and Combine with Existing to set how it combines with the existing mask.
4. Project geometry and prepare for rendering
The HeightField Project SOP takes a heightfield through its first input and the geometry to project through its second. The node sends rays from the heightfield to the geometry surface and, if they intersect, uses the distance to modify the terrain elevation. To project building masses or prebuilt polygonal mountains onto the terrain, the documentation describes Hit Farthest as enabled by default and Combine Method as Maximum. To create a depression instead of raising the geometry, disable Hit Farthest and set Combine Method to Minimum. The HeightField Project node has been available since Houdini 16.0, according to the documentation.
The node cannot represent vertical sections of a surface as true vertical terrain; a heightfield is a flat grid, with elevation data stored across that grid. If you need detail in these areas, you can erode the terrain, convert it to actual geometry, or scatter objects across the relevant areas. A heightfield can be converted to polygons before rendering; it is also converted automatically when brought into Solaris. Manual conversion gives you more control over the result, for example by baking colors and layers onto the terrain. The documentation also states that Karma CPU and Karma XPU support heightfields.
Implications for architectural and visualization workflows
This method is useful for architects and visualization teams who want to build the topography around a building, masses that sit on terrain, and distinct surface regions in a controlled way. Keeping layers separate makes it easier to temporarily disable an area or add a new layer later. Masks also let you apply an operation only to selected areas.
It’s important to match the level of detail and grid density to the needs of the scene: higher resolution can provide finer detail, but the documentation does not specify hardware requirements or performance benchmarks. Licensing conditions and Houdini version compatibility are also not covered by these sources. For this reason, check that the required nodes are available in your installed version and, before transferring a project, determine whether the heightfield needs to be converted to polygons.
Common mistakes
Assuming Amplitude is a height in meters. It is a scale factor, and the result depends on other settings.
Increasing noise detail without considering the relationship between Element Size and Amplitude. High amplitude with small patterns can create unwanted spikes.
Creating a mask but not connecting it to the noise node’s second input. Without this connection, the mask may not restrict the affected area.
Assuming a heightfield can represent vertical surfaces. If you need vertical detail, consider conversion or another geometry approach.
Expecting a result from the feature mask node without enabling any criteria. According to the documentation, if no criteria are selected, the mask is filled with a value of 1.
Sources
3 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture offices and visualization teams in Turkey, one of the most practical aspects of Heightfields is that they let you organize topography into layers and controlled regions instead of treating it as a single mesh. This can make it easier to test different terrain options and refine the relationship between a building mass and its surroundings. Teams building a reusable terrain network may find that naming masks and layers consistently makes later revisions more manageable.
However, as the desired level of detail increases, you need to review the grid resolution and decide on a conversion strategy before rendering. The sources provide no information about hardware requirements, performance gains, licensing conditions, or version compatibility; these points should be verified separately in the production pipeline. Mistaking Amplitude for a value in meters and overlooking heightfield limitations on vertical surfaces are two common mistakes that can lead to extra work before delivery.
Frequently asked questions
What does Grid Spacing do in Houdini Heightfields?
Grid Spacing sets the distance between points in the heightfield grid. The default value of 2 in SideFX’s documentation creates 500 × 500 voxels across an area measuring 1000 × 1000 meters.
How do you add geometry to terrain with HeightField Project?
Connect the heightfield to the node’s first input and the geometry to be projected to its second. For elevation, the documentation specifies Hit Farthest enabled and Combine Method set to Maximum; to create a depression, it recommends disabling Hit Farthest and setting Combine Method to Minimum.
Should a Houdini heightfield be converted to polygons before rendering?
According to SideFX’s documentation, conversion is not required; a heightfield is automatically converted to polygons when brought into Solaris. Manual conversion gives you more control over the result.



