Terrain Editing
![]()
Introduction
The Terrain Editing cluster provides a series of components that allow you to modify mesh terrain surfaces using different geometric controls. These tools give you precise control over surface elevations, enabling you to sculpt terrain for grading, landform design, and site modification.
All editing components share a common approach: they take an input mesh and geometric controls (points, curves, or closed areas), and produce a modified mesh where vertices have been displaced based on the specified parameters. The editing effect is controlled by strength (how much to move) and blur distance (how far the effect extends with smooth falloff).
Smooth Interpolation
The editing tools use smooth interpolation functions to create natural-looking transitions between edited and original terrain. The plugin implements Ken Perlin’s Smootherstep function (6t⁵ - 15t⁴ + 10t³), which provides zero first and second derivatives at the edges, resulting in very smooth blending.
Component Usage
Please refer to the following sections for each component from this cluster.

Point-Based Editing
This component uses one or more control points to pull or push the mesh terrain. Each point acts as an attractor that influences nearby mesh vertices within the blur distance.

| Param. | Abbr. | I/O | Required | Description |
|---|---|---|---|---|
Mesh | M | Yes | Mesh terrain to edit. | |
Point | P | Yes | Point(s) to use for mesh editing. Multiple points can be provided. | |
Strength | S | No | Editing strength [-100, 100]. Positive values push vertices toward the point’s Z elevation, negative values push away. Default: 0. | |
BlurDistance | B | No | Distance for gradual transition between edited and original mesh (world units). Default: 10. | |
EditedMesh | EM | The edited mesh with modified vertex positions. |
When multiple control points are provided, each point’s influence is calculated independently. If a vertex falls within the blur radius of multiple points, the displacement with the largest absolute value is applied. This prevents conflicting edits from canceling each other out.
The Strength parameter controls how much vertices move toward (positive) or away from (negative) the control point’s Z coordinate:
- Positive strength: Vertices within range move toward the point’s elevation
- Negative strength: Vertices move in the opposite direction from the point’s elevation
- Zero strength: No modification occurs
Curve-Based Editing
This component uses one or more curves to pull or push the mesh terrain along the curve’s path. The curve’s 3D shape defines the target elevation profile, making it ideal for creating roads, swales, berms, or ridgelines.

| Param. | Abbr. | I/O | Required | Description |
|---|---|---|---|---|
Mesh | M | Yes | Mesh terrain to edit. | |
Curve | C | Yes | Curve(s) to use for mesh editing. The curve’s Z coordinates define target elevations. | |
Strength | S | No | Editing strength [-100, 100]. Positive values push vertices toward the curve, negative values push away. Default: 0. | |
BlurDistance | B | No | Distance for gradual transition between edited and original mesh (world units). Default: 10. | |
EditedMesh | EM | The edited mesh with modified vertex positions. |
For each mesh vertex, the component finds the closest point on the curve (projected to the XY plane) and uses that point’s Z coordinate as the target elevation. This means the curve’s 3D profile directly translates to the terrain modification.
Tip: Use 3D polylines or NURBS curves to define precise elevation profiles. The curve does not need to touch the mesh surface—it acts as an attractor that pulls vertices toward its elevation.
Area-Based Editing
This component uses closed curves to define areas where terrain should be modified. Vertices inside the boundary are edited uniformly, while vertices outside (within the blur distance) transition smoothly to the original terrain.

| Param. | Abbr. | I/O | Required | Description |
|---|---|---|---|---|
Mesh | M | Yes | Mesh terrain to edit. | |
Area | A | Yes | Closed curve(s) defining the area(s) to edit. Must be closed and preferably planar. | |
Strength | S | No | Editing strength [-100, 100]. Positive values push toward boundary height, negative values push away. Default: 0. | |
BlurDistance | B | No | Distance for gradual transition outside the boundary (world units). Default: 10. | |
Flat | F | No | If true, creates a flat surface by averaging all vertices inside the area. If false, vertices move toward the nearest boundary point’s elevation. Default: false. | |
EditedMesh | EM | The edited mesh with modified vertex positions. |
The Flat parameter provides two different editing behaviors:
- Flat = false (default): Each vertex inside moves toward the elevation of the nearest point on the boundary curve. This creates a surface that slopes toward the boundary.
- Flat = true: All vertices inside are set to the average height of the contained vertices, adjusted by strength toward the boundary height. This creates level platforms or pads.
The area curve must be closed. Open curves will produce an error. For best results, use planar curves—non-planar curves may produce unexpected results as containment testing is performed on the XY plane.
Unlike point and curve editing where blur applies in all directions, area editing applies blur only outside the boundary. Vertices inside the boundary receive full influence (no blur), creating a crisp edge at the boundary that transitions smoothly outward.
Tips
- Combine tools: Use point editing for spot elevations, curve editing for linear features, and area editing for platforms or pads.
- Blur distance: Larger blur values create gentler transitions but affect more of the surrounding terrain.
- Strength increments: For precise grading, use moderate strength values (20-50) and iterate rather than applying full strength at once.
- Multiple passes: You can chain editing components to apply different modifications sequentially.