LOD Generation For New Vegas and Fallout 3
New Lands from the Fallout: Project Brazil Mod for New Vegas
If you are not certain you properly understand the distinction between VWD and LOD data files, please see the LOD/VWD Overview page on "The Elder Scrolls Texture Guide (TESTG)" site. Though written from the perspective of Oblivion, the information still applies to other games.
This tutorial is going to teach you how to generate LOD for your new Fallout 3 and New Vegas Worldspaces. Since the New Vegas and Fallout 3 GECK are remarkably similar, notes will be made when they differ. The first thing you need to know, whether you are planning to make a new World Space, or you already have one, is that the GECK we have in the consumer world is broken compared to the professional GECK that Bethesda & Obsidian used, so we'll have to do a few workarounds to get this to do what we want. The first thing we need to do is "fix" the GECK using community tools and resources. And then, we wait.
This tutorial is made with the years of knowledge of EMH, Chucksteel, TrickyVein, Sesom, Fast_Freddie, Thaiauxn, RickerHK, Paul Halliday, Mathew Seddon, RoyBatterian, Fallout4AM, Nimboss, Dave Finch and many others. After ages of feeling our way through the dark, we can present this knowledge to you here.
This tutorial is going to assume that you have all the basic knowledge of how to create your own plugin, generate and import a heightmap, and get yourself to the stage where generating LOD is necessary to continue your project.
It's really very important that you have your worldspace's heightmap 100% ready. Generating LOD is extremely time intensive, and you don't want to have to do this twice. Generating an LOD mesh in GECK requires many hours or even many days depending on the size of your map. A map with hundres of Cells will only take around 6 to 12 hours. One with thousands, like the Fallout 3 or Project Brazil worldspace, can take ~336 hours (14 days.)
Once your newland is fully designed, you must not change Border Regions, x-y parameters, land height, or water height in "worldspace" or regions border settings, ever again. It will cause much grief, rending of clothes, and gnashing of teeth. So again, make sure all these settings are right before we proceed.
You will be leaving your PC running for quite a while, so ensure that it is well ventilated, you have safe power supplies, and you have time to not use the device. If your PC crashes, you won't pick up where you left off, it will have to start from the very beginning, because the GECK is a [email protected]#&!#$^!($ -- anyway, let's get set up.
Getting Your GECK Ready
Your PC is going to have to sit back and relax while your processor crunches the numbers. Because the GECK doesn't make use of hyperthreadding, you'll only be able to use 2GB (max) of your RAM, and one of your processor cores. If you're on a dual or quad core (or more) motherboard, make sure you have at least >2Ghz on each core.
This tool will allow you to access 4GB RAM with GECK: http://www.ntcore.com/4gb_patch.php
GECK Powerup is here: http://www.nexusmods.com/newvegas/mods/36290/?
To generate Terrain Textures, you're going to have to unpack the Terrain Textures from your Textures.BSA and place them in your DATA folder, under - Data/Textures/Landscape/.
(See the Skyrim thread BSAs and You for details about the pros and cons of "Bethesda Software Archives" (BSAs), but bear in mind such files in previous games, like Oblivion, FallOut3 and Fallout New Vegas, don't have "strict order" like in Skyrim. Games prior to Skyrim don't support overriding of assets in archives using other archives; only loose files can. If the same resource is contained in several BSA archives, those games won't use it from the last BSA on 100% of occasions. They may grab the resource from a random one of the BSAs containing the same file.)
WARNING! Do not unpack BSAs directly into your game "Data" folder; potentially overwriting any mod files. The tools don't ask you to confirm the overwriting, either. All the hair textures unpacked to "loose files" will go through the head models in that case; because that's what happens when hair is not packed in a BSA. "Best practice" is to unpack to a unique folder (they are large: 1-2GB) and manually drag the desired files to the appropriate "Data" folder as needed.
To generate World Objects, the GECK needs to be repaired. Consumer GECK shipped without any of the DATA required to generate LOD textures, but the Meshes are there. You need to download the resources , and place them in the diffuse folder under /Data/Textures/Landscape/yourmodLOD.
Grab these file here: http://www.nexusmods.com/fallout3/mods/13676/?
Or Here for New Vegas: http://www.nexusmods.com/newvegas/mods/36693/?
Chuksteel did not upload these with in-tact ALPHA channels, so we have to make them. I'll address that later.
Generating LOD with an esm uses less than 1 GB of RAM, where trying to do it with an esp can max the GECK(around 1.8 GB) unless you have LAA set (4GB Injector) on Geck.exe. You should create an ESM file for your mod if possible before going through this, using this tutorial: https://www.youtube.com/watch?v=dRg9Gyaftus
Supplemental tools and information
- FNVLODGen generates LOD only for worldspaces that have an existing file LODSettings\<Worldspace>.dlodsettings, which is created when building terrain LOD in GECK. It containes the cell coordinates of the south west corner of worldspace and they are needed to properly name generated LOD files to align with terrain LOD files. This tool allows generating Objects LOD for worldspace(s) by scanning all mods in load order that add "visible from distant" objects. Trees LOD generation (which includes "billboards") is also available, though not recommended to use (read technical description in the FNVLODGen description page.)
From the FNVLODGen description page:
- TES4LL Landscape LOD generator creates LOD meshes, color and normal maps based on landscape heightmaps as generated by ESP/ESM files. Therefore, it can be used to replace the meshes of Oblivion/FalloutNV (Fallout3 is under preparation) including all the additional changes added by landscape and texture mods. The TESTG LOD/VWD Overview page includes an example "process sequence" to help explain how to use this tool.
Getting Your Map Ready
You need to have your worldspace terrain textures fully painted before we start. I know it's hard to see the world you're painting since the GECK has no tools by which to preview it, but with a lot of imagination it's not so bad. Again, the professional GECK had a utility to paint a texture for the heightmap and combine it with terrain textures in the editor, but this feature is also broken, so all your painting must be done by hand before we proceed.
It's vital that your heightmap be SQUARE, 256, 512, 1024, or 2048 pixels. Going to 4096 will break the consumer GECK. It's just too much to handle. The professional GECK was able to do it for New Vegas, but our copy probably won't.
To ensure that your heightmap has a square number of cells, we need Fallout New Vegas Edit: http://www.nexusmods.com/newvegas/mods/34703/?
Using the GECK cursor to navigate your landscape will generate new cells if your brush accidentally raises terrain or you place an object out of bounds, and because the GECK doesn't warn you of this or indicate it in any way, the only way to find out what you've done is to use FNVEdit. The GECK chokes on boarder regions if they are flat, for whatever reason, so ensuring that you have some kind of height variation along the edges of your map is also important.
Go ahead and load your mod in FNVEdit...
Now, select your mod, navigate down to worldspace->"YourWorldspace. now in the right hand side, check out where it says MNAM Map data and Usable Coordinates. Ensure that those integers are set to a square value. If they are not, you're in trouble. Right click, set them to the area you want, and there you go.
Now, on the left hand side, you see a list of Blocks. These are how the world mesh is set up in various Levels of Distance. The World Mesh is the top level, followed by Blocks, Chucks, and Cells, which is where the player scale finally is.
If your Map has a non-square form factor, you'll see an odd number of Blocks there. You should identify what you have in those cells by loading that area in the GECK and investigating whether it is essential or not. If your map was set up smart, you will have some kind of mountains or fluff terrain outside your usable coordinates to make the far off terrain look natural, so it won't appear as though the "edge" of the earth is out there to fall off of.
A Square map's Blocks look like this:
A non square map looks like:
You should be ready to sacrifice that extra bit of fringe LOD to get GECK to behave. So let's go ahead and delete it.
Again, most of the time you wind up with excess terrain just by accident. Any objects placed outside the bounds when you delete it will now have orphaned records. You will have to delete those errors the next time you run GECK Powerup, which is tedious, but easy enough. Or you can delete those references using FNVEdit if you know which ones they are.
Now we can jump back into the GECK and go to work.
Round 1 - FIGHT!
This is the part where environment artists tend to get stuck and come looking for this tutorial. I know I did. :p (It was because my world was too big and had non-square form factors.)
Generate Terrain Meshes is the first thing we must do and it is the longest. Leave Detail Adjust at 1 - it really doesn't change anything obvious in our version of the GECK. It probably adjusted mesh resolution & tessellation in the professional GECK, but in ours it does nothing I can tell.
Go ahead and hit Generate Terrain Meshes.
You will get a pop-up that will look like this:
Yours will probably hang up at 4, and then stop responding for a good long time. If you click the window, it will appear to be frozen, and it will say, "the programme is not responding." Ignore that, it's just what the GECK does. Go grab a book, binge watch a TV show, go climb a mountain - whatever takes >2 hours.
If you're in doubt, check your process monitor:
You'll see one core going nuts, and if your used LAA, you'll see 4GBs of RAM used. GECK will show activity.
Keep an eye on your Data/Meshes/Landscape/LOD/yourworldspace folder. If it is working, you will see new meshes appear every few minutes. If nothing appears after a long wait (>4hours), you want to try closing the editor and restarting the process.
Provide links/citations to any and all resources you used to create your article or tutorial