HEGoTerrain3DOutput
Inherits: RefCounted
Builds a Terrain3D node from the heightfield layers of a cooked HDA.
Description
The height layer drives the terrain itself; the optional hegot3d_* layers add region masks, holes, per-texture weights and colour maps. Everything is driven by detail attributes on the height layer, so an HDA that does not set hegot3d_spawn_terrain is skipped entirely.
Methods
|
output_phase() static |
|
should_handle(summary: |
void |
handle(context: HEGoOutputContext) static |
Constants
LOG_CATEGORY = "terrain3d" 🔗
Category this file logs under, shown in the session panel filter.
SPAWN_ATTRIB = "hegot3d_spawn_terrain" 🔗
Attributes read off the height layer.
DATA_DIRECTORY_ATTRIB = "hegot3d_data_directory" 🔗
There is currently no description for this constant. Please help us by contributing one!
NODE_PATH_ATTRIB = "hegot3d_node_path" 🔗
There is currently no description for this constant. Please help us by contributing one!
REGION_SIZE_ATTRIB = "hegot3d_region_size" 🔗
There is currently no description for this constant. Please help us by contributing one!
REGION_MAP_LAYER = "hegot3d_region_map" 🔗
Optional layers.
HOLE_LAYER = "hegot3d_hole" 🔗
There is currently no description for this constant. Please help us by contributing one!
COLOR_LAYERS = {"b": "hegot3d_color_map_b", "g": "hegot3d_color_map_g", "r": "hegot3d_color_map_r", "roughness": "hegot3d_color_map_roughness"} 🔗
There is currently no description for this constant. Please help us by contributing one!
REQUESTED_ATTRIBS = ["hegot3d_spawn_terrain", "hegot3d_data_directory", "hegot3d_node_path", "hegot3d_region_size", "hegot3d_albedo_texture", "hegot3d_normal_texture", "hegot3d_ao_strength", "hegot3d_detiling_rotation", "hegot3d_detiling_shift", "hegot3d_id", "hegot3d_name", "hegot3d_normal_depth", "hegot3d_roughness", "hegot3d_uv_scale"] 🔗
Attributes requested from the heightfield fetch.
DEFAULT_NODE_PATH = "Terrain3D" 🔗
Default node name and region size when the HDA does not specify them.
DEFAULT_REGION_SIZE = 256 🔗
There is currently no description for this constant. Please help us by contributing one!
EXPECTED_HEIGHTFIELD_ROTATION = Vector3(-90, -90, 0) 🔗
Rotation a Houdini heightfield is expected to have for the axis correction to hold.
ROTATION_TOLERANCE = 0.5 🔗
There is currently no description for this constant. Please help us by contributing one!
UPDATE_MAPS_HEIGHT_AND_CONTROL = 3 🔗
Terrain3DData.update_maps map type mask: height and control.
Method Descriptions
String output_phase() static 🔗
Name of the cook phase this handler is timed under.
bool should_handle(summary: Dictionary) static 🔗
Whether the cook produced heightfield volumes, and Terrain3D is there to receive them.
void handle(context: HEGoOutputContext) static 🔗
Fetches the cook’s heightfield layers and builds the terrain.
Class Registration
Kind: GDScript class
Script:
res://addons/hego/node3d/hego_terrain3d_output.gd