Other exporting options

.obj Export (built-in)
  • *When testing:

    • If the .obj and .mlt are exported to the same folder, just drag the .obj into the world and it will appear with the texture.

    • Obviously, no entity information is exported.

    • When placing the .obj in the world, each 1qu (quake unit) from TrenchBroom becomes 1 meter inside Godot , so for it to have a Texel Density of 16px -> 1m , it’s necessary to use a Scale of 0.0625 on the .obj.

    • *Note:

      • [bug Godot 4.3-dev2] / (2024-07-09) Import behaves oddly in Godot: If I re-export the .obj from TrenchBroom, the old or new instances do not update, even with Godot’s automatic Reimport, or by right-clicking the .obj in Godot and selecting Reimport.

        • When opening the .obj in Windows, it’s clearly updated, but Godot doesn’t notice this even after several reimport attempts and new instance creations.

      • Several errors appear during import in Godot, possibly as a result of entities being removed in TrenchBroom, maybe.

.gltf Export
  • Discussion about it .

    • "In my opinion, an external tool is best. It would work much like a normal Quake map compiler would, and it would interface with TB in the same way."

    • "Why would adding more exporter support change TrenchBroom's identity? Because these formats support a lot more features than what TrenchBroom can do. I am afraid that changing TB's core identity away from this use case and towards a more generic 3D editor will be followed by a lot of feature requests and pull requests for things that have little to do with level editing for Quake engine games. It will be difficult to serve all these interests in a single tool."

    • "The arguments I see are essentially all variations of "open TrenchBroom up to more use cases", but this can be done by writing an external compiler from .map to gltf. All the information that TB has is in the map file -- so it should be possible to achieve just as good a result with an external compiler as you would get by directly exporting from TB, but with the added benefit of being independent and enabling even more Quake-style editors to be used for creating maps in other technologies."

    • *Discussion summary:

      • They won’t implement an exporter for .gltf, since “that would make TrenchBroom lose its identity, etc.”. It was recommended instead to create a compiler that converts from .map to .gltf.

      • Thus, the ‘map-to-gltf’ compiler below was created.

  • map-to-gltf .

    • Requirements:

      • CMake .

        • "CMake is the de-facto standard for building C++ code".

      • "Compiler of choice".

        • No idea what that means.

    • Limitations:

      • No support for WAD files.

      • No support for CSG union between polygons yet . However, it merges polygons within a single entity based on their materials.

      • Untested on Linux.

.bsp Importer
  • Addon: Godot .bsp Importer .

    • "Converts the compiled .bsp".

    • "An importer addon to import Quake BSP files. Vanilla Quake1 BSP and the extended Quake 1 BSP2 formats are supported."

    • Explanation .

    • *Impressions without testing:

      • Requires compilation to generate the .bsp, which sounds considerably more annoying than just using 'func_godot'.

      • The functionality is quite simple, just drag the .bsp into the world and it works.

      • Godot’s Import settings control what is done with entity and texture data contained in the .bsp.

      • Justification from the addon’s author:

        • Qodot does not “clean up faces that were inside geometry,” so he preferred working with the compiled .bsp version of the .map.

      • Worth using?

        • I don’t think so. The addon is simple but presents no real advantage over 'func_godot', so compiling the .map and dealing with Godot’s import system sounds like a very high price to pay.

        • I’m satisfied with 'func_godot':

          • It’s more complicated to set up, but gives more intuition when creating and using entities, as well as many more customization options if needed.

          • It doesn’t require .map compilation and doesn’t depend on Godot’s terrible import system, making it very easy to see .map changes in Godot.

        • In summary, I don’t use this addon at all when compared to the major advantages of 'func_godot'.

  • .bsp (Binary Space Partitioning) .

    • .bsp is a binary file.

Qodot