How to Use the Quake Map Exporter in Blender 3D (Beginner-Friendly)Creating maps for classic engines like Quake can be hugely rewarding: you get to design levels with the look and gameplay of a seminal FPS while using modern modeling tools. This guide walks you through using a Quake map exporter for Blender 3D, from setting up Blender and the exporter to preparing geometry, UVs, entity placement, compiling, and troubleshooting. It’s written for beginners with basic Blender familiarity.
What you’ll need
- Blender 3.x (recommended latest stable release).
- A Quake-compatible exporter add-on for Blender (commonly available on GitHub or Blender market).
- A Quake map compiler (e.g., qbsp, qvis, qrad from classic toolkits or modern forks like Fitzquake tools, QuakeSpasm compilers).
- A Quake engine/port to test your maps (QuakeSpasm, DarkPlaces, or FitzQuake).
- Text editor for entity definitions and .map tweaks.
- Optional: texture pack in WAD format and tools to create/edit WADs (e.g., Wally, Slade).
1. Install and enable the exporter add-on
- Download the exporter add-on (usually a .zip or a folder containing Python scripts).
- In Blender: Edit → Preferences → Add-ons → Install… (if a .zip) or place the folder into Blender’s addons directory and click Refresh.
- Search for the add-on by name and enable the checkbox.
- Save Preferences.
Most Quake exporters add a panel in the 3D View’s Tool Shelf (N-panel) or in the File → Export menu as a “.map” exporter.
2. Set up your Blender scene for Quake maps
- Use Blender units as meters (default) but keep proportions consistent; Quake assumes unit scale where 1 unit ≈ 1 unit in map coordinates — many authors treat 1 Blender unit as 1 Quake unit.
- Work with grid snapping and integer coordinates where possible to avoid brushes with non-integer splits that can create invalid brushes after compiling. Enable snapping to Increment and to Vertex as needed.
- Keep your scene organized: use collections for world brushes, entities, and props.
3. Modeling world geometry (brushes vs. meshes)
Quake maps are brush-based (solid convex volumes). When exporting from Blender:
- Model world geometry using simple convex meshes. Each brush should be a convex polyhedron; concave or self-intersecting meshes will fail to compile.
- Best approach: model using simple cubes, wedges, and prisms. Avoid boolean-modified meshes unless you’re confident they produce clean convex results.
- For complex shapes, build them as a combination of smaller convex brushes.
Tips:
- Use the Knife Project or precise snapping to align faces on integer coordinates.
- Apply transformations (Ctrl-A → Rotation & Scale) before export.
- Keep normals consistent (outside-facing).
4. Textures and UVs (face textures in Quake)
Quake uses face-aligned textures with specific mapping parameters (offsets, scale, rotation). In Blender:
- Assign materials to faces corresponding to Quake texture names. Many exporters read either material names or an assigned custom property to determine the Quake texture.
- For basic exports, name Blender materials exactly as the Quake texture names (e.g., “brick/brick01” or the single-word name used in your WAD).
- UV unwrapping is optional for classic Quake texturing — exporters typically convert face orientation and Blender UV scale into Quake texture alignment values. For control, use planar mapping aligned to the face you want the texture projected from.
If the exporter supports texture alignment tools, use them to tweak s, t offsets and rotation within Blender before export.
5. Entities: lights, player starts, and other objects
Quake maps use entities (point and brush entities). In Blender:
- Many exporters convert specific Blender objects into entity definitions. Common workflows:
- Empty objects or mesh objects named with “info_player_start” produce a player spawn entity.
- Light objects named “light” may convert to Quake light entities with intensity set via a custom property or Blender’s light strength.
- Custom properties on objects (in the Object Properties → Custom Properties) are often read by exporters to set key/value pairs (e.g., “targetname”, “angles”, “light”, “spawnflags”).
- Read the exporter’s documentation for exact naming/convention rules. Add necessary keys (like “light” value) as custom properties if the exporter supports them.
6. Export settings and workflow
Open the exporter (File → Export → Quake .map or the add-on panel) and check options:
- Export selection vs. whole scene — use selection for test chunks.
- Scale and axis conversion — confirm the add-on maps Blender’s Z-up to Quake’s Z-up or the expected orientation; some need axis conversion.
- Entity handling — make sure lights, info_ entities, and func_ brushes are exported.
- Texture export mode — whether the exporter writes material names only or produces a .wad reference.
Export to a .map file in your Quake project folder.
7. Compiling the .map to a .bsp
Use your chosen Quake toolchain:
- Place the .map file and referenced WAD(s) in the appropriate Quake folder (usually id1 or a mod folder).
- Run the compiler (example command-line with classic tools):
- qbsp mymap.map
- qvis mymap.bsp
- qrad -v mymap.bsp Or use a bundled script for modern toolchains (e.g., fqbsp/qvis/qradi).
- Check console output for errors like “Entity xx has empty model” or “Winding too small” — these point to invalid brushes or zero-area faces.
Testing: run your Quake port and load the map (map mymap).
8. Common problems and fixes
- Leaking map (compiler reports leak): check for a sealed world; ensure there are no gaps to the void. Use a big sealed cube as the world outer shell or ensure the level is closed.
- Non-convex brushes/invalid geometry: rebuild problem brushes as convex pieces.
- Missing textures: confirm material names match WAD texture names, ensure WAD is referenced in the map header or placed in the correct folder.
- Light/brightness issues: set proper “light” property or use the exporter’s conversion from Blender light strength; tweak qrad parameters.
9. Tips for better workflow
- Start small: export and compile small rooms to learn the exporter quirks.
- Keep assets modular: reuse brush sets and prefabs.
- Version your .map files so you can revert to known-good states when a compile breaks.
- Use modern Quake ports for quicker edit-compile-test loops (they often have faster compilers and better error messages).
10. Resources and learning
- Exporter documentation and README on the add-on’s repository (essential for naming conventions and supported features).
- Quake mapping tutorials (brush construction, sealing maps, entity keys).
- WAD editing tools and texture packs for aesthetics.
This workflow gives you a beginner-friendly path to get Quake maps out of Blender and into a playable Quake build. If you tell me your Blender version and which Quake exporter you’ve downloaded, I’ll give exact export settings and troubleshooting steps tailored to that exporter.
Leave a Reply