FuncGodot Map Node
A scene generator node that parses a Quake map file using a FuncGodotFGDFile. Uses a FuncGodotMapSettings resource to define map build settings.
To use this node, select an instance of the node in the Godot editor and select Quick Build, Full Build, or Unwrap UV2 from the toolbar. Alternatively, call manual_build() from code.
Signals
Signal | Description |
build_complete | Emitted when the build process succesfully completes. |
build_progress(step, progress) | Emitted when the build process finishes a step. Progress is a value between 0.0 and 1.0. |
build_failed | Emitted when the build process fails. |
unwrap_uv2_complete | Emitted when the UV2 unwrapping is completed. |
Functions
Function | Description | Return type |
verify_and_build() | Verify that FuncGodot is functioning and that map_file exists. If so, build the map. If not, signal build_failed |
void |
unwrap_uv2(node: Node = null) | Recursively unwrap UV2s for node and its children, in preparation for baked lighting. |
void |
Properties
Property | Type | Description |
Map | ||
Local Map File | String, Local File | Local path to Quake map file to build a scene from. |
Global Map File | String, Global File | Global path to Quake map file to build a scene from. Overrides Local Map File. |
Map Settings | FuncGodotFGDMapSettings | Map settings resource that defines map build scale, textures location, and more. |
Build | ||
Print Profiling Data | Bool | If true, print profiling data before and after each build step. |
Block Until Complete | Bool | If true, stop the whole editor until build is complete. |
Set Owner Batch Size | Int | How many nodes to set the owner of, or add children of, at once. Higher values may lead to quicker build times, but a less responsive editor. |
FuncGodotMapSettings
Reusable map settings configuration for FuncGodotMap nodes.
Property | Type | Description |
Inverse Scale Factor | Float |
Ratio between map editor units and Godot units. FuncGodot will divide brush coordinates by this number when building.
This does not affect entity properties unless scripted to do so. See Inverse Scale Factor for more information. |
Entity Fgd | FuncGodotFGDFile | Resource file that translates map file classnames into Godot nodes and packed scenes. |
Entity Name Property | String |
Default class property to use in naming generated nodes. This setting is overridden by name_property in
FuncGodotFGDEntityClass.
Naming occurs before adding to the SceneTree and applying properties.
Nodes will be named "entity_" + name_property .NOTE: Node names should be unique, otherwise you may run into unexpected behavior! |
Textures | ||
Base Texture Dir | String | Base directory for textures. When building materials, FuncGodot will search this directory for texture files with matching names to the textures assigned to map brush faces. |
Texture File Extensions | Array | File extensions to search for texture data. |
Clip Texture | String | Optional path for the clip texture, relative to Base Texture Dir. Brush faces textured with the clip texture will have those faces removed from the generated MeshInstance3D but not the generated CollisionShape3D. |
Skip Texture | String | Optional path for the skip texture, relative to Base Texture Dir. Brush faces textured with the skip texture will have those faces removed from the generated MeshInstance3D. If the FuncGodotFGDSolidClass collision_shape_type is set to concave then it will also remove collision from those faces in the generated CollisionShape3D. |
Origin Texture | String | Optional path for the origin texture, relative to Base Texture Dir. Brush faces textured with the origin texture will have those faces removed from the generated MeshInstance3D. The bounds of these faces will be used to calculate the origin point of the entity. |
Texture Wads | Array[Resource] | Optional QuakeWADFile resources to apply textures from. See the Quake Wiki for more information on Quake Texture WADs. Supports both Quake WAD2 and Half-Life WAD3 formats. |
Materials | ||
Material File Extension | String | File extension to search for Material definitions. |
Default Material | Material | Material used as a template when generating missing materials. |
Default Material Albedo Uniform | String | Sampler2D uniform that supplies the Albedo in a custom shader when Default Material is a ShaderMaterial. |
Normal Map Pattern | String | Automatic PBR material generation normal map pattern. |
Metallic Map Pattern | String | Automatic PBR material generation metallic map pattern. |
Roughness Map Pattern | String | Automatic PBR material generation roughness map pattern. |
Emission Map Pattern | String | Automatic PBR material generation emission map pattern. |
Ao Map Pattern | String | Automatic PBR material generation ambient occlusion map pattern. |
Height Map Pattern | String | Automatic PBR material generation height map pattern. |
Save Generated Materials | Bool |
Save automatically generated materials to disk, allowing reuse across FuncGodotMap nodes. NOTE: Materials do not use the Default Material settings after saving. |
UV Unwrap | ||
Uv Unwrap Texel Size | Float | Texel size for UV2 unwrapping. Actual texel size is uv_unwrap_texel_size / inverse_scale_factor. A ratio of 1/16 is usually a good place to start with (if inverse_scale_factor is 32, start with a uv_unwrap_texel_size of 2). Larger values will produce less detailed lightmaps. To conserve memory and filesize, use the largest value that still looks good. |
TrenchBroom | ||
Use Trenchbroom Groups Hierarchy | Bool | If true, will organize Scene Tree using Trenchbroom Layers and Groups. Layers and Groups will be generated as Node3Ds. All structural brushes will be moved out of the Layers and Groups and merged into the Worldspawn entity. Any Layers toggled to be omitted from export in TrenchBroom will not be built. |