Fallout Map Porting

========================================================================
NEW LINK - You can find the model converter here:
https://dl.dropboxusercontent.com/u/2399384/falloutsource.zip
https://mega.nz/#!e1oFyA7C!QDzRw4w3JD3PsGBEyuv_09R8yEohVYLEfsSad6uMXT0
https://while.io/falloutsource.zip
https://open.gl/falloutsource.zip
http://vulkan-tutorial.com/falloutsource.zip
========================================================================

[h2]The Idea[/h2]A few weeks ago I was fooling around with the G.E.C.K. (Fallout map editor) and I noticed how well all of the parts snapped together and how convenient model-based mapping really is. For instance, when designing the basic structure of a vault, you just aligned corners/halls/stairs to a 128x128 grid. Since it was so easy to use, I wondered if I could convert Fallout 3 models to Source models and make a map out of them.

Since I had never compiled a model for Source before, I started out with a simple experiment. I downloaded a tool to extract the Fallout 3 meshes and materials and opened one of them with NifScope, a model viewer.

http://images.overvprojects.nl/NifSkope_-_controlpanelvault01.nif-2011-08-01_19.29.42.png[/t] [t]http://images.overvprojects.nl/modelsprops_falloutcontrolpanelvault01.mdl-2011-08-01_19.33.24.png[/t]

I exported the model as .obj with NifScope and imported it in 3DS Max. Then I exported it as SMD with Wunderboy’s SMD exporter, compiled the model and converted the associated materials to VTFs. I was now sure I could easily port models from Gamebryo to Source. There were however several problems I faced at this point.

http://images.overvprojects.nl/empty.png

• It took about 5 minutes to go through the whole process of converting each model and its materials, a reasonable map would require at least 80 models.

http://images.overvprojects.nl/empty.png

• The physics engine in Gamebryo supports flat meshes, for example those used in wall meshes. Studiomdl couldn’t work with those.

http://images.overvprojects.nl/empty.png

• A lot of models didn’t include a collision mesh, because it would just be a bounding box. Bounding boxes in Source can not be rotated, so I would have to create bounding box physics manually.

http://images.overvprojects.nl/empty.png

• The player in Fallout is 128 units high, in Source the player is 64 units high, so I would have to scale all models and physics meshes appropriately.

[h2]The Exporter[/h2]Since I’m a programmer, I set out to automate all these steps. I wrote a program that takes a .nif Fallout model and outputs an .mdl, .phys and the required textures as .vmt and .vtf files. This finally made it possible to port models on a large scale.

[t]http://images.overvprojects.nl/falloutsource-2011-08-01_20.19.46.png[/t] [t]http://images.overvprojects.nl/CWindowssystem32cmd.exe-2011-08-01_20.08.35.png[/t]

You can download this program here if you want to give it a try yourself. To use it, export an .OBJ and .MTL file of the model you want to port with NifScope. Then specify the root directory where you exported the Fallout 3 textures. You also need to specify some of the flags to make the program do what you want:

-s - Same output file name as input file name.
-c - Compile the model with Studiomdl. Without this flag, the .SMD file(s) and .QC file are dumped to the same directory as the input .obj.
-d - Delete the input files.
-f - Generate a bounding box physics mesh if no physics mesh was detected.
-m - Export materials.

The program requires the Source SDK to be installed and outputs all content to /models/props_fallout/ and /materials/models/props_fallout/. The input syntax is shown when running the program without any arguments. If you need any help, send me a PM and I’ll add the info to this guide.

[h2]The Trial - Vault 101[/h2]I now had a fancy way to export all the models we want, but as I said, I wanted to replicate a map with them. I opened Vault 101 in the G.E.C.K. and Hammer and started building the map.

[t]http://images.overvprojects.nl/Garden_of_Eden_Creation_Kit-2011-08-01_20.06.16.jpg[/t] [t]http://images.overvprojects.nl/Hammer_-CProgram_Files(x86)Steamsteamappsalexonsteamsourcesdk_contenthl2mapsrcvault101.vmf_-_Textured_Shaded-2011-08-01_20.09.36.png

Unfortunately GameBryo uses a completely different lighting system, which works much better on models and is dynamic. Source’s lighting was designed for brushes and is mostly not dynamic, so I braced for the worst when doing my first compile with lighting. Frankly, I didn’t even suspect it to actually compile because of all the model geometry. As it turned out, I was wrong.

Unfortunately the lighting didn’t turn out that well and I assume this is the result of my programming art and Source’s inability to handle model lighting properly. I’ve only really done dev texture maps before this, so I hope someone can improve it!

Files

http://images.overvprojects.nl/empty.png

Hammer VMF

http://images.overvprojects.nl/empty.png

BSP without content

http://images.overvprojects.nl/empty.png

BSP with content packed

http://images.overvprojects.nl/empty.png

Models and materials

[h2]Final words[/h2]This system should also work for Fallout: New Vegas, without making changes to the converter. Perhaps someone can make the entire vault or one of the casinos on the strip! The converting method still has its issues, like not supporting animations, certain shader effects and some complex collision models, but this should open the door to a lot of possibilities. If you want to give the map a quick try, it’s also on Toybox.

Holy shit, Nice work Overv.

This is amazing. Great work!

I believe you have outdone yourself!

I… love… you…

Nice work.
Now do the same for mafia2.

It’s beautiful.

hoyl shit

wonderful.

I remember when you showed me this, Fantastic work.

Any idea if it’d work with Oblivion?

I haven’t tried, but it should work for anything running on Gamebryo. As long as Nifscope can open and export it, it should work.

Gah why do I want a 3dsmax converter than can convert a mesh to brush elements :frowning:

Still nice work, though there’s definitely going to be lightning and collision issues.

Thank you
I always wanted to have Fallout stuff

Holy shit, I can barely tell a difference !
Now do it for the whole map.

Demanding much? Haha he explained the whole process, why don’t you give it a shot and try it?

-snip-

Thanks for that program, makes everything a hell of a lot easier now. Starting on something…

So the map in source is actually a .mdl file of the whole vault? or did you rebuild it from the pieces that were exported?

Fantastic work Overv, this looks really awesome!