The latest release supports BSP2, importing of lights for eevee and cycles, camera setup based on info_player_start and info_intermission entities, much better material setup, supporting masked emission and transparency and also imports files MUCH faster.
I also made a companion add-on for importing Quake .map files, which can be found here.
I’m not sure how many people here will want to import level geometry and textures from a 17 year old game, even if it is pretty much the best game ever, but I thought I would upload it just because there might be someone, or it might be useful for someone who wants to write their own mesh importer for some other game etc.
The script takes any valid Quake 1 BSP file and loads each model as a separate mesh. Quake stored textures in each .bsp file, so the textures are also loaded as materials and applied to the meshes. There are a couple of simple import options to disable creation of materials, load only the main level geometry and also a scale parameter.
I forgot to mention that if anyone actually wants to try this script, you can find level bsp files on this site: http://www.quaddicted.com/ in the maps section. The original levels are contained in Quake/ID1/pak0.pak and pak1.pak, and although extracting them is fairly trivial, I did not add any tool to do this in the importer. There are tools available to extract the files from .pak files for Windows, though I’m not sure if such a tool exists for Linux. There are lots of tools available here: https://www.quaddicted.com/files/tools/ (hint: try pakscape, pak explorer, qped2 etc.)
Sorry, it only works with Quake 1 bsps. I played, but was not a big fan of Quake 3 to be honest, since I really enjoyed the single player modes in the first two games, and played Quake 2 multiplayer, rocket arena and ctf way more than I played Q3. Despite many people complaining that Q2 was too slow, I enjoyed it a lot.
motorstep: Sorry, I just wanted to write a script that would import Quake bsps and don’t have any plans to expand it. I think there already is a Q3 map export script though, so have a look and see if it still exists and works.
Quake 3 .map exporter is bundled with Blender and works, but it doesn’t work correctly (order of brush faces is screwed up in the output, wrong strings are being written, etc.)
PyroGXPilot: Wow, thanks for spotting that; I didn’t exactly test it very thoroughly to be honest. I knew that because the texture names contained special characters that can’t be used in windows filenames I couldn’t save the textures out, but the generally work in the blend file. I will have a look at that bug and see if I can fix it.
Mahalin: Are you trying to import half-life bsps? I think that would require a different importer since although the bsp format used by Half-life is similar to Quake, I doubt they are the same. However, if you managed to get a half-life bsp loading just by changing one line of code, I’d love to see a pic of the level you loaded. If it works I can add half-life maps as an officially supported option I guess.
Ok, the bug is fixed. Turned out is was simply caused by texture names not being 0 padded (only 0 terminated) in bsps compiled with older compilers and all the maps I was testing were recent.
I have made some additions to Mr_Flamey’s cool importer script as v0.0.5. Blender 2.68a must have changed bmesh enough so that a change was needed in the way UV coords are mapped. Version 0.0.5 adds options to use cycles shader nodes and an option to create lights based on the entities list.
Here is a cycles rendered map with water (glass shader)
Wow, great work! It’s unreal how close the renders look to Quake screenshots. I’d love to see how stuff looks with ambient occlusion and no textures, but most Quake maps look pretty crap, so I doubt it would be so great. Originally I made it with the intention of adding details to some Quake maps I made and doing a couple of nice renders, but I got distracted by other things