FuncGodotMap
A scene generator node that parses a Quake MAP or Hammer VMF file using a FuncGodotFGDFile. Uses a FuncGodotMapSettings resource to define map build settings.
Signals
Signal | Description |
build_failed | Emitted when the build process fails. |
build_complete | Emitted when the build process succesfully completes. |
Methods
Method | Description | Return type |
fail_build(reason: String, notify: bool = false) | Map build failure handler. Displays error message and emits build_failed signal. | Void |
clear_children() | Frees all children of the map node. WARNING! Does not distinguish between generated and placed nodes! | Void |
verify() | Validates the map file for the build process. | Bool |
build() | Cleans the map node of any children, then initiates and oversees the build process. | Void |
Properties
Property | Type | Description |
Map | ||
Local Map File | String, Local File, .map, .vmf | Local path to MAP or VMF file to build a scene from. |
Global Map File | String, Global File, .map, .vmf | Global path to MAP or VMF 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 | ||
Build Flags | Int |
Bitflag settings that control various aspects of the build process.
|
FuncGodotMapSettings
Reusable map settings configuration for FuncGodotMap nodes.
Property | Type | Description |
Build Settings | ||
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! |
Entity Smoothing Property | String | Class property that determines whether the Solid Entity performs mesh smoothing operations. |
Entity Smoothing Angle Property | String | Class property that contains the angular threshold that determines when a Solid Entity's mesh vertices are smoothed. |
Use Groups Hierarchy | Bool | If true, will organize Scene Tree using TrenchBroom Layers and Groups or Hammer Visgroups. Groups will be generated as [Node3D] nodes. All non-entity structural brushes will be moved out of their groups and merged into the Worldspawn entity. Any Layers toggled to be omitted from export in TrenchBroom and their child entities and groups will not be built. |
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 Mesh but not the generated Shape3D. |
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 Mesh. If the FuncGodotFGDSolidClass collision_shape_type is set to concave then it will also remove collision from those faces in the generated Shape3D. |
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 Mesh and Shape3D. 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. |
Base Material Dir | String | Base directory for loading and saving materials. When building materials, FuncGodot will search this directory for material resources with matching names to the textures assigned to map brush faces. If not found, will fall back to Base Texture Dir. |
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. |
Albedo Map Pattern | String | Automatic PBR material generation albedo map pattern. |
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. |
Orm Map Pattern | String | Automatic PBR material generation ORM 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. |