Importer for Quake 1 BSP level files. Can import level geometry and textures into the scene.
Closed, ArchivedPublic


Project: Blender Extensions
Tracker: Py Scripts Upload
Blender: 2.57
Category: Import Export
Script name: Quake BSP Importer
Author(s): Andrew Palmer
Status: Open

-- Quake 1 BSP Importer for Blender --
by Andrew Palmer 2013.06 (Quake was released in 1996.06, so I'm a bit late)

Usage -------------------------------------------------------------------------
1. Extract to blender scripts/addons/
2. In user settings go to addons and enable 'Import-Export: Import Quake BSP format'
3. from the File menu, select import>Quake BSP (.bsp)
4. Choose a valid Quake 1 .bsp file
5. Assuming everything worked, your scene should contain all the models in the bsp,
though you may need to move/rotate the camera to see them.

Tips --------------------------------------------------------------------------
You might not be able to see textures, even if the viewport is in textured mode.
To fix this, press 'n' with the cursor in the viewport to open an options panel
on the right. In here, expand the display options and set shading to 'GLSL'.

Everything might be black if there is no Lamp object in the scene. To fix this,
either set the existing lamp to Hemi, or add a new hemisphere lamp (Add>Lamp>Hemi).

The textures will probably look like hell since they are very small by modern
standards and filtering destroys them. To see the map with nearest (non-filtered)
texturing, open the 'System' tab in Blender User Preferences (ctrl+alt+u) and
uncheck 'Mipmaps'.

History -----------------------------------------------------------------------
+ added scale option (scale geometry on import)
+ added create materials option (use textures from the bsp to create and assign materials)
+ added worldspawn only option (import just the main map geometry, not doors, triggers etc.)
+ now imports textures from the bsp as materials
+ uvs and materials are applied to faces
+ import bsp imports all models in a bsp file as objects in a blender scene

Known bugs --------------------------------------------------------------------
Due to my own lack of knowledge of Python and the Blender scene hierarchy, this script
is very slow. On large maps expect it to take a few minutes. This is something I may
improve in a future release.
- texture name lookup for each face is stupid
- there is probably a more efficient way to extract the mesh to memory
- too much fudging the vert and uv lists to get them to look right

I also heard that it doesn't work properly with Blender for Mac. I have no idea
why. If someone sends me a free Macbook, I can probably fix it ;)



The correct version is 2.67 - it was developed with Blender 2.67 and uses bmesh and python 3.3, though it might work fine with older versions that support bmesh and python 3, since it's a simple script.

Attached a new version 0.0.5. Tested on Blender 2.68a (r58536)

Does exist any forks to import also other BSP formats (such as Quake 3 or Quake Live ones)? I suggest that owning a copy of the game should be required to get the extension work correctly.
In case these forks does not exist, shall someone be that good and create them? My programming skills does not fit for making such complex extensions.

Thank you for quick reply.

There are no other forks to import geometry for any other BSP formats, although there might be other plugins that do the same for Quake 3 BSPs, or converters separate to Blender that can convert BSP to OBJ or other standard formats, which could then be imported into Blender.

Closing as archived. Mostly over 2 years old.
@Andrew Palmer (mr_flamey) feel free to create a wiki page to document & link this addon & I would suggest a git account to host the files if your still developing.