Terrain3D Output
HEGo supports two different Terrain3D output modes: terrain generation and instancing on terrain. You can use either mode independently or together in the same HDA.
If you are new to Terrain3D, read their documentation for extra context.
Terrain Generation
Terrain output is driven by heightfield layers and attributes. A Terrain3D node is created or replaced at the target path on each cook.
Required Setup
Terrain3D addon must be installed
Height layer must exist
Height layer attribute
hegot3d_spawn_terrainmust be 1Height layer attribute
hegot3d_data_directorymust be a non-empty path
Height Layer Attributes
Attribute Name |
Attribute Type |
Attribute Owner |
Description |
|---|---|---|---|
|
Int |
Prim (height layer) |
Required trigger. 1 enables Terrain3D generation |
|
String |
Prim (height layer) |
Required Terrain3D data directory. NOTE: OUTPUT WILL OVERWRITE EXISTING DATA |
|
String |
Prim (height layer) |
Optional node path. Default is |
|
Int |
Prim (height layer) |
Optional region size. Must be power-of-two between 64 and 2048. Default is 256 |
Control and Mask Layers
Optional layers that control terrain behavior:
Layer Name |
Description |
|---|---|
|
Optional region mask. Regions with values < .5 will be skipped when creating Terrain3D regions |
|
Optional hole mask used when building Terrain3D control map bits |
Texture Paint Layers
Create layers named hegot3d_texture_layer_X where X is slot 0–31.
See the Terrain3D documentation on texture assets
for details.
Each texture layer can contain the following attributes:
Attribute Name |
Attribute Type |
Attribute Owner |
Required |
Description |
|---|---|---|---|---|
|
String |
Prim (texture layer) |
Yes |
Path to the albedo texture resource used for this Terrain3D texture slot |
|
String |
Prim (texture layer) |
Yes |
Path to the normal texture resource used for this Terrain3D texture slot |
|
Float |
Prim (texture layer) |
No |
AO strength value passed to the Terrain3D texture asset |
|
Float |
Prim (texture layer) |
No |
Detiling rotation value passed to the Terrain3D texture asset |
|
Float |
Prim (texture layer) |
No |
Detiling shift value passed to the Terrain3D texture asset |
|
Int |
Prim (texture layer) |
No |
Texture id value passed to the Terrain3D texture asset |
|
String |
Prim (texture layer) |
No |
Display name value passed to the Terrain3D texture asset |
|
Float |
Prim (texture layer) |
No |
Normal depth value passed to the Terrain3D texture asset |
|
Float |
Prim (texture layer) |
No |
Roughness value passed to the Terrain3D texture asset |
|
Float |
Prim (texture layer) |
No |
UV scale value passed to the Terrain3D texture asset |
Texture Layer Notes
All albedo textures must share the same resolution and format
All normal textures must share the same resolution and format
If validation fails, terrain height still imports, but control-map texturing is skipped
Color Map Layers
Optional layers for storing color and roughness data:
Layer Name |
Description |
|---|---|
|
Red channel |
|
Green channel |
|
Blue channel |
|
Roughness channel (alpha) |
Terrain Instancing
This output sends points into Terrain3D instancing (MultiMeshInstance3D) using scene resources. This is independent from Terrain3D terrain generation — you can either generate a terrain and spawn instances on it, or spawn instances on an existing Terrain3D.
Required Point Attributes
Attribute Name |
Attribute Type |
Attribute Owner |
Description |
|---|---|---|---|
|
Int |
Point |
Required trigger. Set to 1 |
|
String |
Point |
Required. Target Terrain3D node path. Can be relative to the HEGoNode3D or to the scene |
|
String |
Point |
Required. PackedScene path to instance |
|
Vector |
Point |
Required position |
Optional Transform and Color Attributes
Attribute Name |
Attribute Type |
Attribute Owner |
Description |
|---|---|---|---|
|
Vector |
Point |
Forward direction (default 0,0,1) |
|
Vector |
Point |
Up vector (default 0,1,0) |
|
Vector |
Point |
Non-uniform scale (default 1,1,1) |
|
Float |
Point |
Uniform scale multiplier (default 1.0) |
|
Vector/Color |
Point |
Optional per-instance color |
Mesh Asset Settings
These attributes are read from the first point for each terrain node and scene resource path combination, and applied to the generated Terrain3D mesh asset. See the Terrain3D mesh asset documentation for details on each setting.
Attribute Name |
Description |
|---|---|
|
LOD 0 distance range |
|
LOD 1 distance range |
|
LOD 2 distance range |
|
LOD 3 distance range |
|
LOD 4 distance range |
|
LOD 5 distance range |
|
LOD 6 distance range |
|
LOD 7 distance range |
|
LOD 8 distance range |
|
LOD 9 distance range |
|
Shadow impostor behavior |
|
Last visible LOD |
|
Last shadow LOD |
|
LOD fade margin |