Bridge Modding 101

Originally posted at BCC by Lurok91, archived at the BC Wiki by Nero

Been promising to start a bridge 101 tutorial for a while but until now not been any real demand and been busy with gaining modding experience myself. But I hope this will prove useful for future bridge modders. I'll update as and when necessary.


Let's get these out of way. Bridge modding not hard: just more complex and time-consuming than ships, with more elements. So needs time, patience and dedication. And of course:

  • Modeling program (Max is favored by most)
  • Graphics program (Photoshop or similar)

These will give you a finished bridge model. To get in game as a nif with working animations is slighly more complicated and requires Max 3.1 with the STBC exporter. Ask around for advice on where to legally get Max 3.1 or one of the many modders if they might kindly export bridge for you.

Starting Bridge

Couple of important factors to consider when creating bridge:

  • Scale
  • Orientation

Useful method for checking both is to import existing bridge. In fact this is a good exercise anyway as useful to learn how bridges are put together. NifTools has an excellent importer that can be downloaded which allows you to import bridge nif into Max.

Another useful method for checking scale is to merge into your model the crew skeletons that come with the SDK.

(don't forget to delete them once checked scale)

Importing the nif is also vital if you plan on using existing crew animations as you will need to align your model's seats, doors, etc to match the chosen nif. Otherwise your crew will be floating in air and all other horrors.

Modeling & Texturing

There are lots of useful tutorials here at BC and on web on how to model and texture/uvw unwrap. It's really a self-learning process, trial and error.

So, once modelled and textured, we move on to lighting…


Lightmaps versus nif lighting: it is possible to have a working bridge in game without lightmaps by exporting to nif with lights. Baz's TWOK bridge and I think a couple of others use this method. Lightmapping is more complicated and time-consuming and involves every single mesh element to be lightmapped. So why bother? Well again, it's a personal choice. Bridges with lights tend to be more uniform. Lightmapped bridges tend to have more light and shade as these are 'baked' into the nif.


Unless you've added lights, during modelling you've probably been working and rendering under the 'default' light.

(TWOK Bridge early WIP model courtesy of Baz1701)

But now you want to add some atmosphere to the bridge. So you add lights. Again, there are many excellent guides and tutorials on how to physically light your max scene, ranging from the simple (a single omni light) to the complex (multiple spotlights) to self-illuminated textures (using mental ray or v-ray). The choice is yours. Just a caution: more lights = more complexity and rendering (and possibility of errors).

For purposes of this tutorial, I'm using just a single omni.

Fig 1

This is standard for many bridges I've made, and more atmospheric effects (gradients, lcars levels) can be added post-rendering in your graphics program. The default level for omni is 1.0, but can be made brighter or more likely dimmer depending on your requirements. Default for shadows is Shadow Map, but I find Adv Ray Traced give cleaner sharper shadows on large areas like walls, floors and ceilings.

With your light(s) on and textured/UVW Unwrapped model part selected, time to open Rendering/Render To Texture. Crucial to check in new window is Mapping Coordinates/Use Automatic Unwrap/Channel 2 (lightmaps will not work unless on ch 2) and Baked Material/Output Into Source.

Fig 2a

If okay, under Output click on Add. In new window select LightingMap and click Add Elements.

Fig 2b

You will now see options for Selected Element Common Settings

Fig 3

Name: LightingMap. You can keep as is for now and change after or change to _LM suffix now.
File Name and Type: This is name of your _lm file. If click on …button to right, will select where your _lm tga is rendered to. Presumably your high/textures folder of model WIP.
Target Map Slot: should always be Self-Illumination
Map Size: 256x256 usually ok for most _lm's and keeps loading times down. Large shadowed areas like floors, walls and ceilings may look better rendered at 1024 or higher.
Element Unique Settings: best to experiment with these by doing different renders. As a general rule I find shadows and direct light on best.

Once all set, hit Render. Max will create a rendered tga (FIG 4) and you will see a new modifier: Automatic Flatten UVs

Fig 5

nb: You can either keep the flattened UV or if you prefer _lm UV to match your texture, then load your Unwrap UVW uvw (assuming you've already saved it - good practice to) and re-render.

To test lightmap works, turn off your omni light (or all light sources). Your mesh scene will be completely black. Now render. Everything should still be black except for your lightmapped object.

Fig 6
If lightmapped object too dark or light for taste, you can adjusting lighting level and re-render. Or adjust brightness in graphics program. Again, matter of personal preference.

That's it. Now just repeat that process for all other objects in scene.

Exporting from Max to Max 3.1

Once you're happy your scene is fully textured and lightmapped/lit, you need to export it in a format that can be imported into Max 3.1.

The only practical way to do this is to use Bobo's BFF format. Download with full instructions and how to use on his website:

Once installed and run, BFF will export your bridge as a .ms script /folder that can be read by Max 3. If sending bridge or model to a Max 3 modder, be sure to include ms script and folder along with textures and lightmaps.

Hopefully at some future stage I'll be able to add tutorials on the following:

Bridge Modding in Max 3

Importing from later Max
Animations: crew / chairs / crew walks / doors
Gamma/Normal and Red Alpha Glow
Exporting to nif

Bridge Scripting

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License