Houdini 20.0 Nodes Geometry nodes

HeightField Draw Mask geometry node

Lets you draw shapes to create a mask for height field tools.

Since 16.0
  1. Use the tab menu in the viewport to choose HeightField Draw Mask


    Add a HeightField Draw Mask in the network editor, select it, and in the viewer click the Handles tool or press Enter.

  2. Draw on the terrain to enclose filled areas in the mask.

    • For complex geometry, you might need to draw slowly to capture detailed shapes. If you draw faster than the computer can keep up, it will drop points and you will get “low resolution” shapes.

    • You can draw multiple shapes in the same node.

    • Left mouse drag adds to the mask, middle mouse erases from the mask.



Combine with Existing

How to combine this mask with any existing mask in the input.


Clear the existing mask and replace it with the new mask.


Add the values in this mask to any existing mask.


Subtract the values in this mask from any existing mask.


Set the mask values to the difference between the old mask and this mask.


Multiply the values of the old mask by the values in this mask. This might be useful to “scale” existing values while leaving empty areas alone.


Set the mask values to the maximum of the old mask and this mask.


Set the mask values to the minimum of the old mask and this mask.


Blend the old mask and this mask by a certain amount.


Changes are applied directly onto the old mask. This is helpful when you wish to directly manipulate the underlying mask.


The amount to blend the old mask with what you draw, when Combine with existing is “blend”. A value of 0 leaves the existing mask, a value of 1 replaces with the new mask, a value of 0.5 blends equally between the old and new mask.

Drawing Plane

The plane onto which your drawing is projected. There are basically two useful options: the plane corresponding to the orientation of the volume (ZX by default) so you can draw looking “down” at the ground, or “Geometry” so you can draw onto the visualized terrain.

XY/YZ/ZX Plane

Project onto the given plane. Choose the plane that corresponds to your volume’s orientation.

Screen Plane

This option is copied from the underlying Stroke SOP and is not useful for height fields.


Finds the geometry under the mouse as you draw and maps it onto the corresponding coordinates on the ground plane.

Invert Mask

Inverts the output, so the mask is filled where you didn’t draw and off where you did.


The value to fill the mask with inside the shapes you draw.

Blur Method

How to blur the edges of the mask. The effect is only visible when Blur radius is greater than 0.


Gaussian blur.

Box Blur

Faster blur.


Instead of blurring, expand the drawn shapes.


Instead of blurring, shrink the drawn shapes.

Blur Radius

How much to blur/expand/shrink the edges of the filled shapes (depending on the Blur method). A value of 0 has no effect.


This tab has separate sub-tabs for each drawing stroke, from the underlying Stroke SOP. This is mostly useful to delete the last stroke, or clear all strokes.

Number of Strokes

Number of Strokes: #id: stroke_numstrokes

Define the number of strokes you want to control through this node. Each stroke has its own parameter set. Remove all strokes with Clear and use the - button to change their number. Don’t use the + button to create a new stroke, but start to draw directly on the heightfield grid instead. The node will add a new parameter for each stroke you make.

Enable Stroke: #id: stroke#_enable

Click the checkbox to temporarily enable or disable a stroke.

Radius: #id: stroke#_radius

Not connected.

Tool: #id: stroke#_tool

Not connected.

Color: #id: stroke#_colorr

Change the color of the mask’s contour to separate different masks visually.

Opacity: #id: stroke#_opacity

Not connected.

Projection: #id: stroke#_projection

Not connected.

Projection Center: #id: stroke#_projcenterx

Not connected:

Projection Direction: #id: stroke#_projdirx

Only for informative purposes. The actual data will be provided by the node and manual changes don’t have any impact on the mask.

Raw Data: #id: stroke#_data

Only for informative purposes. The actual data will be provided by the node and manual changes will remove the mask.

Layer Bindings

Mask Layer

If a mask volume is wired into this node’s second input, this specifies which volume in the second input to use to mask this node’s effect, usually mask. Click the “Add mask paint” button to paint the mask directly in the viewport (this automatically adds a paint node to the second input).

Geometry nodes