Mapping in Blender: Let’s try that again

For a number of reasons, I decided to try Blender for environments again. I wanted to do this for a while now, but the need to manually build collision hulls out of brushes, as well as the q3map2 compiler being annoying, kept me away from it.

I think the time is ripe for another attempt. I want to circumvent FTE’s patch mesh related problems – and let’s be honest, no one uses patch meshes anymore. I also want my assets to be future proof. BSP isn’t future proof. Patch meshes suck. And looking at the kind of detail in the SJ levels, I have to wonder how I managed to build that out of brushes without going insane.

I also decided to divide my levels into smaller parts. Instead of five or six mega-levels, SJ will then have perhaps 12 normal-sized ones. This has many advantages, too.

I went and broke up the herd base into three levels – Herdbase Labs, Herdbase Exterior, Herdbase Interior. The level changes will be visually smooth because some rooms are duplicated as needed. You can look into other levels at some points, even.

Then I exported Herdbase Labs into Blender. Here’s the result:

Skærmbillede fra 2014-02-27 08:34:47

Everything gets chopped into random triangles by q3map2 during the conversion. Yay. Here’s that same area after an initial cleanup:

Skærmbillede fra 2014-02-28 11:30:56

Much better. Turning everything into quads allows me to use Blender’s modeling tools to the full extent. Loop cut, bevel, you name it.

Trying to do environments in Blender is a whole different kind of business. You will be dealing with absurd amounts of polygons in a scene. Effective use of Blender’s navigation, view and selection modes becomes vital. Instancing and grouping objects becomes a life saver.

Skærmbillede fra 2014-02-28 11:32:22

It becomes critical to divide your scenes into individual objects in the best way possible to preserve clean edge flow and topology. Trying to match up the edge loops of an entire room seems to be the road to failure. You need to start thinking in tiles and modules. And it is mandatory to learn how to snap things to the grid and perfectly align objects.

Skærmbillede fra 2014-02-28 11:35:57

UV unwrapping things on the fly and pixel-perfectly aligning UV maps to textures is another required new skill. Doing trims is somewhat easier in Radiant, until you’ve got the workflow down for precision UVmapping.

I’m quite happy with Blender though. It is so much more powerful than any BSP editor.

Skærmbillede fra 2014-03-02 03:00:50

What I’m doing now is slowly going through the environment, cleaning it up, and polishing objects that will occur in multiple instances. Doing environment art in Blender (or any 3D modeling suite) is probably a real test because of the amount of organisation needed. It’s not just learning the tool rather well, it’s also about establishing the best workflow.

Skærmbillede fra 2014-03-02 06:45:40

I’m polishing these prefabs as I encounter them, in between cleaning up the topology of rooms. This will take a few weeks, but it probably is for the best. I hope to be able to use much of the old BSP levels as collision hulls / caulk hulls. We’ll see how that turns out.

Another thing you notice very quickly when going this route is that eventually, you will have to go fully modular. Not using repeatable modules is basically disastrous when you’re working at this detail level. My plan for the last few levels of SJ (those that aren’t a legacy from a Quake mod…) is to go for unique setpieces, but go completely modular for corridors etc. Doing all unique stuff is simply too time intensive.

In case you’re wondering how to convert all that back to brushes, I’ll have to disappoint you. I’m not planning to. The map compiler will have to deal with this. I have compiled maps including terrain meshes that have more polies than this entire environment, so I’m cautiously optimistic.


2 responses to “Mapping in Blender: Let’s try that again

  • Anonymous

    when I picture map compile in blender I picture leaks, floating point problems, and inscruitable error messages. is this your own project or somebody elses? do we get to bake lighting? what happens with shaders?

    • kneedeepinthedoomed

      Map compile is not different from the usual q3bsp compiling. This is my project, you can not bake lighting in blender, and shaders work as always.

      Lighting is done in Radiant, lightmaps are created by q3map2. Realtime lights are placed in FTE.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: