Node Reference
intermediate featureVoxel Play 4 · 3D Terrain Graph
Complete reference for all nodes available in the 2D Terrain Graph and 3D Terrain Graph editors. Nodes are organized by category.
Sampler Nodes
Generate base noise or height values. These are typically the starting point of any graph.
Noise 2D / Sample Height Map Fractal
Procedural fractal noise evaluated at (X, Z) world coordinates. Y-independent, benefits from column caching.
| Parameter | Description |
|---|---|
| Frequency | Scale of the noise pattern. Lower values = larger features. |
| Octaves | Number of noise layers (1-8). More octaves = more detail, higher cost. |
| Persistence | Amplitude decay per octave. Lower = smoother terrain. |
| Lacunarity | Frequency multiplier per octave. Default 2.0. |
| Min / Max | Output range remapping. |
Noise 3D
3D fractal Perlin noise evaluated at (X, Y, Z). Produces values that vary with altitude, essential for caves and volumetric features. 3D graph only.
Same parameters as Noise 2D. Higher computational cost since it cannot use column caching.
Noise 2D Ridge / Noise 3D Ridge
Ridge noise variant: applies 1 - 2 * |noise - 0.5| to create sharp ridgeline patterns. Good for mountain ranges and jagged terrain.
Sample Height Map Texture
Samples a repeating 2D texture as a heightmap. Remaps grayscale value to Min/Max range.
| Parameter | Description |
|---|---|
| Noise Texture | Texture2D asset to sample (tiled) |
| Frequency | Tiling frequency |
| Offset | X/Z offset for the sample position |
Sample Height Map Unity Terrain
Reads height values from a Unity TerrainData asset. Useful for importing existing terrain designs into Voxel Play.
Constant
Outputs a fixed value. Supports Normalized (0-1), Percentage (0-100) and Meters unit modes.
Random
Deterministic pseudo-random value based on world X/Z position. Always outputs 0-1.
World X / World Y / World Z
Output the normalized world coordinate (position / maxHeight). World Y is critical for 3D terrain - it provides the vertical position for height-based density. 3D graph only.
Terrain Shapers
Transform density values into terrain features. 3D graph only.
Height Gradient
The fundamental 3D terrain node. Adds a vertical gradient that makes terrain solid below a base height and air above it.
| Parameter | Description |
|---|---|
| Base Height | Normalized height (0-1) where surface forms. 0.3 = surface at 30% of max height. |
| Gradient Strength | How sharply density changes with altitude. Negative values = solid below, air above (standard terrain). |
Formula: output = input + (y - baseHeight * maxHeight) * gradient / maxHeight
Island 3D
Radial falloff from world origin. Subtracts density beyond the specified radius, creating island boundaries.
| Parameter | Description |
|---|---|
| Radius | Island radius in world units |
| Slope Multiplier | Falloff steepness beyond the radius |
Terraces / Terraces 3D
Quantizes values into stepped bands, creating terrace formations.
| Parameter | Description |
|---|---|
| Steps | Number of terrace levels (2-64) |
| Smoothness | Blend between sharp and smooth terrace edges (0-1) |
| Strength | Blend between original input and terrace effect (0-1) |
Cave Carver
Generates swiss-cheese cave networks by subtracting density where 3D noise exceeds a threshold. 3D graph only.
| Parameter | Description |
|---|---|
| Frequency | Cave network scale |
| Octaves | Detail layers for cave shape |
| Threshold | Minimum noise value to carve (higher = fewer caves) |
| Carve Strength | How much density is removed |
Math Nodes
Transform a single input value. Available in both 2D and 3D graphs.
| Node | Formula | Use case |
|---|---|---|
| Shift | input + value | Raise or lower terrain |
| Invert | 1 - input | Swap valleys and peaks |
| Add And Multiply | (input + a) * m | Offset then scale |
| Multiply And Add | (input * m) + a | Scale then offset |
| Exponential | input ^ exp | Sharpen peaks (exp > 1) or flatten (exp < 1) |
| Abs | |input| | Create ridges from signed noise |
| Remap | Linear map from [a,b] to [c,d] | Rescale any range |
| Clamp | clamp(input, min, max) | Limit output range |
| Flatten Or Raise | Modify slope above threshold | Create plateaus and mesas |
Mask By Y
Restricts a value to a vertical band. Outside the band, outputs a fixed value. 3D graph only.
| Parameter | Description |
|---|---|
| Y Min / Y Max | Vertical range where the input passes through |
| Outside Value | Value used outside the range |
| Fade | Smooth transition distance at the boundaries (0 = hard cut) |
Blend Nodes
Combine two inputs (A and B). Available in both 2D and 3D graphs.
| Node | Formula |
|---|---|
| Blend Additive | A * weightA + B * weightB |
| Blend Multiply | A * B |
| Min | min(A, B) |
| Max | max(A, B) |
| Subtract | A - B |
| Divide | A / B (safe, returns 0 if B near zero) |
| Smooth Min | Smooth organic blend with K factor. 3D only. |
Filter Nodes
Conditional operations based on value ranges or thresholds.
Threshold
Compares input against a threshold. If greater or equal: adds a value. If less: outputs a fixed value.
Select
Pass-through filter: if input is within [Min, Max], output it unchanged. Otherwise output a fixed value.
Fill
If a reference input is within a range, output a fill value. Otherwise pass through the main input.
Test
Boolean test: outputs 1 if input is within [Min, Max], otherwise 0. Useful for masking.
Beach Mask
Special filter that suppresses beach generation where a mask value exceeds a threshold. 2D graph only.
Discard
Always outputs zero (air). Use with conditional nodes to create empty regions. 3D graph only.
Biome Node
Climate Map
Looks up the biome index from the World Definition's biome array based on altitude, moisture and temperature inputs.
| Input | Description |
|---|---|
| Altitude | Normalized height (0-1) |
| Moisture | Humidity value (0-1) |
| Temperature | Optional third axis (0-1) for VP4's 3-axis biome selection |
Output: biome index (0..N) matching the first biome whose altitude/moisture/temperature ranges contain the input values. Connect to Voxel ID, Vegetation ID or Tree ID terminals.
Utility Nodes
Copy
References the output of another node. Useful for reusing a result in multiple branches without recalculating.
Island (2D)
Distance-based falloff from world origin. Reduces height values outside a radius, creating finite island worlds. 2D graph only.
Suggest an improvement
Help us improve this documentation page.