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.