# DynDOLOD - Dynamic Distant Objects LOD - Sheson

## Finally I can see my house from here

This document like DynDOLOD is work in progress and may have outdated or missing info.
If something doesn't make any sense or is unclear, please let me know.

Dynamic Distant Objects LOD (DynDOLOD) is a set of tools based on TES5Edit and TES5LODGen to automatically create a Skyrim mod based on the load order which adds distant LOD for objects to Skyrim. By combining DynDOLOD with TES5LODGen users can create drastically enhanced traditional static LOD plus tree LOD and a new, optional dynamic distant object LOD in a few 'simple' steps.

DynDOLOD is meant for enthusiast modders who are familiar with using TES5Edit. Enthusiast modders come with a general understanding of Skyrim data folders and how to install mods safely with a manager or manually.

Adding more detail to the game world puts more workload on the hardware. A modern graphics card with decent amount of memory should have no problem dealing with the extra data. Adding more static LOD also uses more system memory. A fast disk system is recommended as well. Configuration options allow to control the amount of new LOD objects and other parameters to adjust performance.

To fully expand the visual experience and use the additional features offered by TES5LODGen the DynDOLOD package comes with over 1000 new or updated LOD models for objects that were badly missing from the original game like the Skyhaven Temple or landscape features like roads, smaller rocks and dirt cliffs that simply make the distant landscape look much more natural and alive.

In case a LOD model is not available, a full model can be used - either as static for LODGen or DynDOLOD. Animated objects are always added as full models - or an altered full models with less detail. They won't be part of the static object LOD done by TES5LODGen but rather switch on/off dynamically by DynDOLOD based on the distance to the player for better performance.

While the process is almost as simple as the push of a button, there are a lot of configuration and fine tuning options for dedicated modders. This manual explains all the options of the interface and the configuration files in TES5Edit\Edit Scripts\DynDOLOD\ have a short explanation for each setting.

You are free to use, reuse and change anything from the DynDOLOD package for personal use or reuse in other mods for Skyrim. All meshes and textures are based on Skyrim and DLC original content from Bethesda. You are required to give credit.

If you update or create any assets or anything else, I will happily add them to the package and give credit.

## Terminology

### TES5LODGen

LODGen.pas is a script for TES5Edit to export data for LODGen.exe. Requires version LODGen.exe 0.6 or higher.

LODGen.exe generates static object LOD files for Skyrim.

They are both part of the TES5Edit download.

### TES5LODGen for Tress LOD

Built into TES5Edit. Two step process that splits existing tree LOD into single files. In the second step it uses these single files to create tree LOD for the load order.

### DynDOLOD

DynDOLOD Resources is a large number of updated and new LOD meshes and textures to be used with DynDOLOD Worlds.pas

DynDOLOD Worlds.pas is a script for TES5Edit that updates DynDOLOD.esp and exports data for DynDOLOD MOD and also uses LODGen.pas to export data and run LODGen.exe

DynDOLOD Mod is a collection of papyrus scripts that use PapyrusUtil and work with the data generated by DynDOLOD Worlds

DynDOLOD.esp is updated by DynDOLOD Worlds.pas and used by DynDOLOD Mod

### General

Static Object LOD generated by TES5LODGen are objects that do not change and are not animated, like buildings or landscape features like mountains and rocks.

Dynamic Object LOD generated by DynDOLOD are objects that change state based on quests like military tents or ships or animated objects like waterfalls or fires.

Tree LOD generated by TES5LODGen for trees LOD (or CK) are so-called billboard trees that uses two simple 2-sided rectangular models.

Reference is an object that references a base element. Typically a reference defines the position and behaviour of an the object that can be seen when a cell is attached.

Base element defines the full model and LOD models - if any - used by references.

Attached cells is the area around the player, also known as uGridsToLoad - default 5 x 5 cells, where all the action happens and full models of everything are shown.

## Credits

TES5Edit Team in general

Ehamloptiran and Zilav for TES5LODGen and all the other great work and help

Bethesda for the game, models and textures

NifTools

DathByDestiny for growing chest hair while beta testing

duinnin

## Requirements

TES5Edit from http://www.nexusmods.com/skyrim/mods/25859/ Get the latest version from http://afkmods.iguanadons.net/index.php?/topic/3750-wipz-tes5edit/. Requires xEdit svn1893 or higher.

SKSE from http://skse.silverlock.org/

PapyrusUtil from http://www.nexusmods.com/skyrim/mods/58705/ or http://www.loverslab.com/files/file/484-papyrusutil/

Skyrim High Resolution Texture Pack is required to generate object LOD for Dawnguard. Alternatively install meshes and textures from Skyrim Vanilla LOD Source Files 1.5 and afterwards overwrite with meshes and textures from the DynDOLOD archive.

The DynDOLOD process requires to split the existing tree LOD textures and generate tree LOD before generating LOD for a worldspace. Check TES5LODGen file section for ready-to-use tree LOD billboards for some popular mods. See the sections 'TES5Edit LODGen for trees LOD - Splitting' and 'TES5Edit LODGen for trees LOD - Generating' below for more information.

## Links

[BETA] Dynamic Distant Objects LOD at forum.step-project.com

[WIPz] TES5LODGen at afkmods.iguanadons.net

[WIPz] TES5LODGen for Trees LOD at afkmods.iguanadons.net

## Compatibility - Out With The Old, In With The New

DynDOLOD and TES5LODGen replace Skyrim Distant Overhaul - SDO, both the static object LOD *.bto and all *.esps.

DynDOLOD and TES5LODGen replace Expand Object LODs

DynDOLOD and TES5LODGen replace Skyrim Distant Detail and Distant Detail Hearthfire Edition

## Compatibility - Some Assembly Required

Climates Of Tamriel - Winter Edition. Copy the contents of the 'patches\Climates Of Tamriel - Winter Edition' folder found in the DynDOLOD archive into Skyrims Data folder to overwrite some LOD textures before generating LOD. Then proceed as normal.

Expanded Towns and Cities - LOD has Vanilla textures only. Ignore missing trees in ETaC - Dragon Bridge South.esp.

Falskaar - In case the original Falskaar tree LOD was unpacked from BSA, DynDOLOD Worlds.pas may complain about missing form IDs even when tree LOD was generated with LODGen for trees. In this case the not found messages can be ignored.

JK's Skyrim - Unlike the individual mods listed below as working out of the box, new objects added to major towns will receive LOD regardless. The select list of objects for Whiterun still applies. Edit DynDOLOD_childworldlod_Tamriel.txt to add or remove references which are ignored when generating LOD. There is an extra section below for JK's Dawnstar for custom mesh rules. If JK's Skyrim merged new single mods not yet listed below or performance is the highiest priority, consider creating static LOD (creation of DynDOLOD disabled or do not save DynDOLOD.esp) with the individual mods for the open villages. Then replace the individual mods with the merged version and create DynDOLOD and save DynDOLOD.esp, but no static LOD with LODGen.

JK's Dawnstar - There is an extra section below for JK's Dawnstar for custom mesh rules.

JK's Winterhold - There is an extra section below for JK's Winterhold for custom mesh rules.

Moonstone Castle - There is an extra section below for Moonstone Castle for custom mesh rules.

Morskom Estate - There is an extra section below for Morskom Estate for custom mesh rules.

Open Cities Skyrim - There is an extra section below for how to create static and dynamic LOD for Open Cities Skyrim.

Pure Waters - Waterfalls - There is an extra section below for Pure Waters - Waterfalls for custom mesh rules.

SkyFalls and SkyMills - There is an extra section below for SkyFalls and SkyMills for different LOD generation scenarios. It serves as an example how to fine tune settings for specific mods in general

Skyrim Flora Overhaul - There is an extra section below for how to split LOD tree atlas texture and generate tree LOD.

Solitude Expansion - There is an extra section below for Solitude Expansion for custom mesh rules.

The Shadow of Meresis - There is an extra section below for The Shadow of Meresis for custom mesh rules.

Any other mod that adds neverfades should be properly dealt with. The flag is unset automatically in case there is static or dynamic object LOD. For example: Unofficial Skyrim Patch sets the neverfade flag for Azura's Shrine. DynDOLOD Worlds.pas unsets it, since DynDOLOD comes with a LOD model for this iconic landmark. It is now part of the static Object LOD. Dynamic or animated objects will be added to dynamic object LOD for DynDOLOD Mod.

If other mods have LOD meshes they will be discovered automatically either if they are in BSA archives or loose files. Loose files will take precedence. For example: Unofficial Dragonborn Patch comes with a LOD mesh for the Temple of Miraak which will be used for LOD level 4 while the crude version from DynDOLOD will still be used for LOD level 8 and 16.

Check the sections mentioned above for ideas on how to deal with other mods not covered here.

## Compatibility - Works Out Of the Box

Mods listed here are confirmed to just work. Only mods that add objects as neverfades or that should have static LOD are listed.

If the guide is followed step-by-step no special actions or additional settings are required. This is the case with most mods, it just so happens that these mods have been verified that object LOD generation works and looks OK.

Alternate Start - Live Another Life
Ayleid Palace
Bathing Beauties or Beefcake - Luxury Suite
Bee Hives
Better Fast Travel - Carriages and Ships - Overhauled
Bring Out Your Dead
Caranthir Tower
Castle Strunmah Redone
Clearsky Hideout - Fully Animated Playerhouse
Cutting Room Floor
Dragons Keep
Enhanced Lights and FX
Expanded Winterhold Destruction Ruins
Gildergreen Regrown
Helgen Reborn
High Hrothgar Overhaul
Hjaalmarch Redux
Immersive College of Winterhold 1
Inns and Taverns
Interesting NPCs
JK's Dragonbridge
JK's Falkreath
JK's Ivarstead
JK's Markarth 2
JK's Morthal
JK's Riften 2
JK's Rorikstead
JK's Riverwood
JK's Solitude 2
JK's Whiterun 3
JK's Windhelm 2
Lances Expanded Whitewatch Tower with playerhome
Leaf Rest
Legend of the Eagles Nest
Lokir's House
Long Lost Smelters of Skyrim
My Own Solitude Outskirts Improvement
No Snow Under The Roof
Oblivion Gates in Cities
Provincial Courier Service
Red Mountain Erupts
Riverside Lodge
Shezrie's Old Hroldan Town
Skyrim Better Roads
Skyrim Landscape Overhaul - No new asset version
Skystone Castle
The Pale Redux
Solstice Castle
Unique Border Gates
Unofficial Dawnguard Patch
Unofficial Dragonborn Patch 1
Unofficial Hearthfire Patch
Unofficial Skyrim Patch
Waves
Western Watchtower Rebuilt
Whitewatch Tower Camp
Winterstone Castle
Wyrmstooth 1

1 Contains new LOD assets.

2 For performance reasons new objects added by this mod are ignored because they are hidden from view behind town walls. To generate LOD for these objects, remove mod name from ignore list in DynDOLOD.ini.

3 A select list of objects added by this mod have LOD. Edit DynDOLOD_childworldlod_Tamriel.txt to add or remove references which are ignored when generating LOD.

## Installation

Install TES5Edit (which includes TES5LODGen), SKSE and the PapyrusUtil plugin according to their documentations

From the DynDOLOD archive copy the content of the TES5Edit folder which contains the file 'DynDOLOD Worlds.pas' and the sub folder 'DynDOLOD' with all its content into 'TES5Edit\Edit Scripts' folder.

From the DynDOLOD archive copy the content of the Data folder which contains 'DynDOLOD.esp' and the folder 'meshes', 'textures', 'scripts' and 'skse' into Skyrims Data folder.

Put 'DynDOLOD.esp' last in the load order, or specifically it needs to load after the last mod that contains objects in the world for which LOD is going to be created. Once DynDOLOD.esp contains data from other mods LOOT sorts it properly based on its masters.

The DynDOLOD Packages comes with its own version of some of the original LOD nifs from Skyrim and the DLCs. Make sure to overwrite any original LOD meshes.

DynDOLOD Worlds.pas and LODGen.exe version 0.6 or higher support BSA archives. Earlier versions required unpacking of LOD meshes and terrain *.btr files. This is no longer necessary. The videos below will be updated.

## Video for Mod Organizer users

Watch Video on YouTube

## Video for NMM users or manual setup

Watch Video on YouTube

## Uninstallation / Updating

When updating the DynDOLOD package make sure to overwrite all files. Before running DynDOLOD Worlds.pas to update or generate a new DynDOLOD.esp delete all files in the TES5Edit\Edit Scripts\DynDOLOD\cache\*.* folder and/or make sure to uncheck the 'Use cached base elements' checkbox. In case the changelog mentions updated mesh rules make sure to use the any one of the buttons 'Default', 'Low', 'Medium' or 'High' to load the latest set of mesh rules.

There is no safe uninstall of mods from save games. Having said that, to uninstall go inside an interior cell, like a house. Save to a new save slot and quit the game. Uninstall the mod. Start the game and load the save game made earlier. Wait 10 in-game days. Save game to another new slot. Remove all *.DDS generated by DynDOLOD Worlds.pas, all *.BTO generated by LODGen.exe and all files that were copied from the installation archive:

data\DynDOLOD.esp
data\DynDOLOD.esp.bak
data\meshes\DynDOLOD\
data\meshes\lod\
data\meshes\dlc01\lod\
data\meshes\dlc02\lod\
data\meshes\terrain\[worldspace name]\objects\
data\textures\DynDOLOD\
data\textures\terrain\LODGen\
data\textures\lod\
data\textures\dlc01\lod\
data\textures\dlc02\lod\
data\scripts\SHESON_DynDOLOD_*.pex
data\scripts\scource\SHESON_DynDOLOD_*.psc
data\skse\plugins\storageutildata\DynDOLOD_*.json

There should be no need to redo the whole DynDOLOD.esp from scratch for an existing game that already used DynDOLOD.esp. But do above uninstall procedure first in case DynDOLOD.esp was generated from scratch. Check the DynDOLOD SkyUI MCM menu for the message 'No DynDOLOD for this world' to be sure to not be in a world with any DynDOLOD data.

DynDOLOD Worlds.pas supports rescanning of the load order and worlds for newly added mods and adding their new objects next to the existing ones into DynDOLOD.esp and regenerating static LOD as well. Only new objects are added to DynDOLOD.esp and none of the existing ones are changed. New or changed mesh rules will apply to all old and new static LOD generated by LODGen.exe, but only to new dynamic objects. Existing dynamic objects will stay untouched.

Just like uninstalling, make sure to be in an interior cell between updates to DynDOLOD.esp. The steps starting the game without DynDOLOD.esp and saving again can be omitted in this case, because existing data is not changed.

If mods are removed from the load order it may be possible to keep the existing DynDOLOD.esp, but in case masters are missing or LOD objects behave weird generate everything including tree LOD from scratch. Do the clean save procedure. The risks of removing mods from a save game are well known.

Test mesh rules and settings to generate static and dynamic LOD until satisfied and only then continue playing the game. It is advised to only update DynDOLOD.esp for a play-through.

## Guide

Do TES5LODGen for trees LOD first so that the BTT files are updated for the load order. Refer to TES5LODGen for trees LOD section below.

Start TES5Edit. Select all mods that potentially add objects to the worldspace you want to create LOD for. If anything goes wrong, start over by simply copying the default DynDOLOD.esp from the DynDOLOD archive.

Wait for the message 'Background Loader: finished'.

Right click in the left pane and select 'Apply Script'.

Select the DynDOLOD Worlds.pas script from the drop down and click OK to execute.

After the TES5LODGen options panels opens, select options as desired. Set paths correctly. DynDOLOD will simple reuse settings as applicable. Refer to LODGen documentation or read on for advanced settings and examples. LODGen may ask to overwrite the static LOD export file for LODGen.exe which typically should be answered with yes. Refer to Configuration section below.

If Mod Organizer is used it is advised to set the LODGen export path to a new temporary directory outside of Skyrims and Mod Organizers folder structures to avoid overriding existing files from other mods. Once LODGen.exe process is finished copy the generated static LOD bto files into a custom mod or DynDOLOD, keeping the general folder structure of Meshes\Terrain\[world]\Objects.

Click OK to start the process.

If the tree BTT scanning process shows a lot of errors about missing form IDs, please redo the tree LOD for the load order or disable object LOD trees through the mesh rules.

If the worldspace is Tamriel the whole process can easily take 15 minutes or more, depending on speed of the computer and the number of mods and options.

When updating a worldspace, for small worldspaces or just depending on the rules, the process may not find any new dynamic LOD and/or may not need to update the Far/NearGrids. So the messages 'No new active cells' are normal.

Repeat the process for other worldspaces now or later. If the chosen worldspace already exists in DynDOLOD.esp it will be deleted and redone. However, best and safest practice is to generate all desired worldspaces once in one session starting with an empty DynDOLOD.esp

Close TES5Edit and let it save the updated 'DynDOLOD.esp'. No other mods should have changed.

Start a new game or load a save game and enter the worldspace. TES5LODGen static LOD replaces the original LOD. DynDOLOD follows a simple load process the first time it starts in a new worldspace. Move into a cell 'near' dynamic/animated objects to start. Typically with default settings that should be more or less anywhere in case the world is Tamriel. There will be onscreen messages top left, and if successful it should be easy to spot it working when looking for waterfalls or fires outside the attached cells.

Tip: Do first tests runs for the Tamriel worldpace with the 'Generate DynDOLOD' check box unchecked. Generating only the static LOD is much quicker. The static LOD mesh rules for mountains and rocks - some of which are used 1000s of times in Tamriel worldspace - usually have a much higher impact on performance than the couple thousand dynamic DynDOLOD objects. Generate DynDOLOD once performance for static LOD is acceptable.

When changing mesh rules between low/medium/high or customizing them, always start with a default DynDOLOD.esp to make sure all dynamic LOD is done according to the rules - existing dynamic data will not be updated. Use the cache only once the rules are settled and different worldspaces are generated in one session.

## Configuration

Cache files are saved so that next time DynDOLOD runs on the same DynDOLOD.esp it doesn't have to redo the base elements. However, make sure to delete cache files or uncheck 'Use cached base elements' or start with default DynDOLOD.esp whenever new LOD models are added or mesh LODGen rules are changed.

If nif meshes and dds texture file are not changed, or no new ones are found the texture atlas does not have to be created again. Unlike CK generated object LOD the DynDOLOD Worlds.pas generated texture atlas is a single global atlas that works for all world spaces.

The recommended and safest practice is to generate all desired worldspaces in one session starting with a default DynDOLOD.esp. There is a DynDLOD.esp.bak for easy copy paste to start over.

To control performance or desired visuals exclude specific models or groups of models. Use the three buttons 'Low', 'Medium' and 'High' to use preset mesh LODGen rules as a guideline. All existing rules will be overridden, so use the 'Save Preset' button to store settings first.

In addition simply delete or rename mesh files in Meshes\DynDOLOD\lod folders to not use specific models. The folders are scanned for LOD meshes each new run, so adding/removing files works just as well.

TES5Edit LODGen uses the filter rules for LOD4, LOD8, LOD16 and VWD - Visible When Distant - only.

To add rules, right click into the mesh LODGen rules window and add a (partial) path\filename with the empty selection for the LOD levels the model should not appear. The mesh mask to enter is the path and/or filename of the full model.

If higher performance is needed, start filtering out models are used 1000s of times, small rocks like \rocks0. Setting all LOD level to nothing disables LOD for rocks01.nif, rocks02.nif, rocks03.nif, but not for rockshelf01.nif or rockshelf02.nif for example.

By default only the largest rock formations and large structures are in LOD4 and LOD8. Most objects are only in LOD4, so for them setting any option to LOD8 and LOD16 has no effect.

Typically a mesh rule applies to base elements which are used by references. For example: all rocks of a certain type use the same base element that defines the full and LOD model. So-called references that define where and how the rock is placed use the data from the base element. So, rules matching the full model path and filename of a base element apply to all rocks references using the same base element.

In the case a specific reference - a distinct object in the world - needs its own rule it can be targeted by using the mod file name and its form id. For example entering a mesh rule of Dawnguard.esm;0300DD63 targets a reference added by Dawnguard - regardless if Dawnguard.esm is at load order 03 or not - allowing to overwrite the base element rules with custom settings that only apply to this particularly object.

DynDOLOD uses the filter settings Grid and Reference. 'Far' and 'Near' refer to the Far/NearGridToLoad setting. A 'Never Fade' is visible at any distance. 'LOD' means to use a LOD model if available or fall back to a full model if needed. 'Full' will always use a full model even if a LOD model is available.

The Reference field defines what happens with the original reference. Typically it needs not to be changed. In a few cases however, it needs to be disabled or replaced. If a reference is disabled there won't be anything showing in its place when the cell is attached. If a reference is replaced, the LOD model will be still shown in its place when the cell is attached. Regardless of the Grid setting 'LOD', the full model will be used.

Use a disabled reference in case the dynamic LOD doesn't need or have a representation when the cell is attached. Use a replaced reference when the switch from the animated LOD model to full model causes visible interruption. Use as rarely as possible. The less original references need to be changed the better.

The order of rules matters. Rules at top match before rules at bottom. The last default rule for '\' defines that any reference using a base element with LOD and the VWD flag set will be static LOD for TES5LODGen, unless the reference is dynamic or animated. Then it will be a dynamic LOD for DynDOLOD.

Since the DynDOLOD package comes with hundreds of new LOD models this means they are, just like the standard LOD models, automatically used for static or dynamic LOD.

Rules that set all LOD4, LOD8, LOD16 and Grid to empty are negative rules and mean such models will not be used in either static or dynamic LOD.

Rules with no LOD4, LOD8, LOD16 and no VWD flag that only set Grid are typically full models for DynDOLOD. Full models can also be used for static LOD, but this has a steep performance impact, so use with care. It mostly depends on how often a model is used in the world.

In case the dynamic and animated object LOD is not desired, data generation for DynDOLOD Mod can be turned off by unchecking 'Generate DynDOLOD'. The static LOD will still generate and can be used just as well without DynDOLOD.

In this case DynDOLOD.esp should still be loaded in game so that objects with new LOD that are sitting on cell borders do not flicker. In case Tamriel worldspace has been processed with the option to scan the child town worlds for objects the DynDOLOD.esp contains the references to these objects in case the cells containing them are attached. There will be no active papyrus scripts or any object switching. The option to scan the child town worlds is controlled in the DynDOLOD.ini.

The DynDOLOD.esp contains the updated base elements with their updated or new LOD settings. Be aware though that DynDOLOD Worlds.pas also adds extra objects directly to the LODGen export list, so exporting the list with LODGen.pas while DynDOLOD.esp is loaded into TES5Edit will be missing static LOD for DOOR, ACTI, MSTT, TREE base elements.

## DynDOLOD Mod - the mod in game

In order to switch dynamic or animated models on and off DynDOLOD uses papyrus scripts. All LOD models, scripts and data are done in a way that it should be relatively 'safe' to update or uninstall the mod. The usual 'clean save' routine of going inside a house save, quit, remove mod, load game, wait, save again applies.

If the tcl command is used to turn off clipping, dynamic LOD switching will stop and all models will be turned off. The same applies if player.setav with a value greater than 500 is used. Turn off clipping and keep speed less or equal to 500 and dynamic LOD switching will resume as soon as cell borders are crossed.

The Skyrim game engine allows models to be visible in the whole world regardless of attached cells by ticking a Never Fades flag. The primary use is volumetric clouds for example. The references need to be persistent for this to work properly. It is a popular method to show objects in the distant.

The obvious problem with changing lots of objects to neverfades is the performance impact. These models are always active and visible no matter the distance to the player.

Depending on settings DynDOLOD can easily add thousands of neverfade objects to the world. To keep performance impact to a minimum such objects are switched on/off depending on their distance to the player.

The game attaches cells, squares of equal distance with all objects and full detail around the player. This is where all the action happens. This is commonly known as uGridsToLoad and its default value is 5, meaning a grid of 5 x 5 squares with the player in the center. Everything beyond this grid is either LOD or neverfades.

DynDOLOD Mod uses two more similar grids - basically a collection of objects for an area - called NearGrid and FarGrid. Just like uGridsToLoad its dimension can be configured. Two more grids give better control at what distance what models should start to appear. Both Grids should always use odd numbers and NearGrid should obviously always use smaller numbers than FarGrid.

While the number of static LOD objects have the greatest impact on performance, the size of the grids and the number of full models assigned to them play a role too. However, using the grids instead of always visible neverfades allows for a good headroom and tweaking.

Based on the mesh rules DynDOLOD Worlds.pas usually assigns dynamic objects that have a true LOD model into the larger FarGrid.

In order to freely switch models on/off DynDOLOD works with persistent copies of the original object references. Consequently the original object references are left untouched, unless the 'replace' options has been set for a mesh.

The switch from the copy to the original reference when the cell is attached can cause animations to not appear continues to the player. In this case the 'disable' rule disables the original reference and the LOD copy also displays when the cell is attached.

## DynDOLOD Mod - Mod Configuration Menu (MCM)

The DynDOLOD Mod has a SkyUI Mod Configuration Menu which allows to turn off the dynamic object switching.

The MCM page can be used to verify if DynDOLOD is active or not. The best option to update is to first go into an interior cell - like a house - while the old DynDOLOD.esp is still active and check the MCM page that the mod says 'No DynDOLOD for this world'. Save the game. Start the game without DynDOLOD.esp. Load last save. Save again. Update DynDOLOD.esp. Start game with new DynDOLOD.esp and load last save. Enter a worldspace that DynDOLOD was generated for and wait for the 'DynDOLOD successfully initialized' message.

## Custom settings for specific mods - JK's Dawnstar

Add these mesh rules for a few full models for a better LOD of the castle.

## Custom settings for specific mods - JK's Winterhold

Add these mesh rules for a few full models for a better LOD of the castle.

## Custom settings for specific mods - Moonstone Castle

Add these mesh rules for a few full models for a better LOD of the castle.

The last rule not having '.nif' is intentional. The rule matches two different meshes this way.

## Custom settings for specific mods - Morskom Estate

Add these mesh rules for a few full models for a better LOD.

The form id rule makes sure there won't be static LOD for the broken ship but rather dynamic LOD. The ship will have dynamic LOD wherever it is anchored.

## Custom settings for specific mods - Open Cities Skyrim

Creating LOD for Open Cities Skyrim is a two step process. The first step is to create the static LOD without Open Cities Skyrim loaded. The second step is to create the dynamic LOD with Open Cities loaded.

Start TES5Edit with all mods but Open Cities Skyrim. After starting DynDOLOD Worlds.pas make sure to uncheck the 'Generate DynDOLOD' checkbox. This creates the export file for LODGen.exe. Close TES5Edit once static LOD has been created and do not save the changed DynDOLOD.esp.

For the second step, first edit the DynDOLOD.ini. Change ExecuteLODGenPas to ExecuteLODGenPas=0. Remove ', Open Cities Skyrim' from the WarnModFileName= list. Comment out all lines under [Skyrim Tamriel]. Now start TES5Edit with all mods and Open Cities Skyrim in the load order and start DynDOLOD Worlds.pas. Check the 'Generate DynDOLOD' checkbox and start the process.

Once it is done, save the changed DynDOLOD.esp as normal.

## Custom settings for specific mods - Pure Waters - Waterfalls

Adding a custom rule for fxwaterfallthin2048x512.nif for Far LOD will ensure modified waterfalls are visible further away.

Make sure to add the rule above the fxwaterwall rule, because order matters. If performance is not a huge concern, simply change fxwaterfall from Near LOD to Far LOD as an alternative.

## Custom settings for specific mods - The Shadow of Meresis

This mod reuses some modified original meshes without renaming them. Because of this there will be a couple static LOD artefacts, but most of them are hidden and should not present major visual problems.

In addition add these mesh rules for a few full models for a better LOD of the castle.

## Custom settings for specific mods - SkyFalls and SkyMills

There are several ways how to use a mod like SkyFalls and SkyMills with DynDOLOD and TES5LODGen

First of all, DynDOLOD can replace SkyFalls and SkyMills, since DynDOLOD changes any animated object like waterfalls or windmill fans into a dynamic object LOD.

On the other hand SkyFalls and SkyMills comes with its own meshes, textures and options and keeping it is a valid choice as well.

SkyFalls has two versions of the three main waterfall meshes. A 'close' and a 'distant' version. The 'close' version only shows when the cell is attached, covering up the neverfade 'distant' version which always shows.

SkyFalls and SkyMills comes with a few updated static object LOD4 *.bto files. Just like the default DynDOLOD rules for 'fxwaterfallbody' it removes the frozen static waterfall LOD, but also it removes the default windmill buildings LOD and replaces them with the full model as neverfades.

Add rules like in the image above to not change any SkyFalls and SkyMills assets, and have no static LOD for waterfalls and windmill buildings. Putting 'fxwater' after fxwaterfallbody ensures that waterfall effects that are not part of SkyFalls are done as dynamic LOD. Remove the three pre-defined rules 'waterwheel', 'farmhousewindmillfan' and 'sfarmhousemillfan' with 'Replace' in the Reference column.

Some rules are twice. The ones with VWD set apply to the original STAT base elements with LOD (typically disabled by SkyFalls and SkyMills), while the ones with VWD not set apply to the MSTT base elements added by SkyFalls and SkyMills.

Note that SkyFalls changes the original references to waterfalls, so that there won't be any static LOD at all, even with the LOD8 and LOD16 settings. SkyMills does the same to the windmill buildings, but since the full model mesh name matches the LOD mesh name, DynDOLOD Worlds updates it to have static LOD again. Change LOD8 and LOD16 for sfarmhousesilo to nothing as well if desired.

Above rules should only be used for worldspaces SkyFalls and SkyMills modifies. This depends on its installation option, but typically covers all DLC, Falskaar and Wyrmstooth.

The rules in above image will update the waterfalls, waterwheels and windmillfans from SkyFalls and SkyMills to be dynamic LOD, so that these full models are switched off when they are outside the FarGrid. Since there is no rule for the windmill buildings, they are changed back to static LOD. This means better performance obviously.

The 'disable' reference rule for the 'distant' waterfall meshes means that they are turned off when the cell attaches and only the 'close' waterfall meshes from SkyFalls are active. Again, this means better performance.

The rules of the second option above should be safe to use on all worldspaces regardless if SkyFalls and SkyMills modifies it or not.

Comment out the line starting with 'SolitudeWindMillFan' in TES5Edit\Edit Scripts\DynDOLOD\DynDOLOD_manual_refr_Tamriel.txt when using SkyMills Solitude Windmill model.

As an other manual alternative, the DynDOLOD Resource meshes for animated distant waterfalls in Meshes\DynDOLOD\lod\effects can be overwritten with the meshes from SkyFalls. Then there would be static LOD waterfalls again in LOD8 and LOD16 with the original rule settings.

## Custom settings for specific mods - Solitude Expansion

Add these mesh rules for a few full models for a better LOD.

## TES5Edit LODGen for trees LOD - Splitting

[WIPz] TES5LODGen for Trees LOD at afkmods.iguanadons.net

Instead of splitting tree LOD textures, there may be ready-to-use tree LOD billboards at TES5LODGen Files page. See 'TES5Edit LODGen for trees LOD - Generating' below for more information.

It is recommended to generate tree LOD for the load order first before running DynDOLOD Worlds.pas. DynDOLOD Worlds.pas expects tree LOD to exist as loose files. Whenever tree LOD is generated again, remember to uncheck the checkbox 'Use cached tree data'.

First the LOD tree atlas texture for a worldspace needs to be split. This needs to be done for Tamriel and DLC2 Solstheim and any mod that adds its own trees.

To determine if a mod adds new trees that need splitting besides Skyrim.esm and Dragonborn.esm check its tree LOD texture located in textures\terrain\[worldspace]\trees\[worldspace]treelod.dds.

The image above shows the LOD tree atlas from Skyrim/Tamriel. If there are different looking or more trees than in above picture, the LOD tree atlas texture needs to split for that worldspace. Less trees is OK.

The image above shows the LOD tree atlas from Dragonborn/Solstheim. It looks different to the one from Skyrim/Tamriel, so tree LOD atlas texture for Solstheim needs to split...

In TES5Edit right click on Skyrim.esm, select 'Other' and then hold the shift key while clicking 'Generate LOD'. Only then does the 'LODGen Options' window show the 'Split LOD atlas' button. Select the desired world in the left checkbox list, then press the 'Split LOD Atlas' button.

When splitting trees from DLC or mods, only load the mod and its masters into TES5Edit by just selecting the mod in the Master/Plugin Selection. Only then will the split function be able to successfully assign trees IDs and names. To split the correct atlas texture right click the mod that adds the trees.

Uncheck 'Objects LOD' since DynDOLOD Worlds.pas and the processes described above covers object LOD generation.

Verify that the tree LOD texture in textures\terrain\[worldspace]\trees\*.dds is the one from whatever tree LOD mod that is used.

For Dragonborn.esm select 'DLC2SolstheimWorld'. It is normal to have 2 no name trees 'Tree Type'. They can be ignored as these trees in fact have no TREE base element but rather a STAT base element in Dragonborn.esm. Copy but not overwrite files from Skyrim.esm directory.

If there is no tree LOD texture in the data folder for the world, it will use the ones found in the *.BSA files. Thus it typically uses the LOD texture from whatever tree LOD mod that is used, which is the desired option. As a side note the LOD texture for Dawnguard.esm 'DLC1HunterHQWorld' from the High-ResTexture DLC pack has some nicer aspen trees. These still belong to Skyrim.esm though.

Splitting the texture generates folders for each world like Textures\Terrain\LODGen\AtlasSplit_[worldspace name]TreeLod\. In these folders there are sub-folders for the mods, e.g. Skyrim.esm or Dragonborn.esm. These folder need to be copied or moved to Textures\Terrain\LODGen so there are Textures\Terrain\LODGen\Skyrim.esm and Textures\Terrain\LODGen\Dragonborn.esm folders each containing the *.dds and *.txt files.

DynDOLOD resource comes with custom LOD textures and *.txt data for 5 extra or - if you will - the 5 missing trees. They go into Textures\Terrain\LODGen\Skyrim.esm. Check any *.dds textures and adjust and updated them as desired. To not generate tree LOD for specific trees, simply delete it *.dds and *.txt file.

Once the folders and files are in place tree LOD can be generated in a matter of seconds for the load order. Note that generating tree LOD will overwrite any existing tree LOD files meshes and textures. Set the -o:"path\to\output" argument for TES5Edit.exe to a custom folder. Once done, move the meshes and textures folder into their own mod.

Before splitting tree LOD atlas for a worldspace again, make sure to remove any meshes and textures that were generated by LODGen for trees LOD for that worldspace.

## TES5Edit LODGen for trees LOD - Generating

It is recommended to generate tree LOD for the load order first before running DynDOLOD Worlds.pas. DynDOLOD Worlds.pas expects tree LOD to exist as loose files. Whenever tree LOD is generated again, remember to uncheck the checkbox 'Use cached tree data'.

Generating tree LOD requires tree LOD billboard files. There are a few ready-to-use downloads available at TES5LODGen Files. Always install 'Vanilla Skyrim LOD Billboards' first. It also contains the 5 same trees that are part of DynDOLOD Resources, so it makes no difference if it is installed before or after DynDOLOD. Then overwrite in the order of the load order with the files from addtional LOD Billboards archives - if any.

See the section 'TES5Edit LODGen for trees LOD - Splitting' above in case there is no download available for the load order or it is desired to split the tree LOD textures.

Start TES5Edit with the complete load order, right click on the mod that is the original source of the worldspace and select 'Other' and then 'Generate LOD'. Select the worldspace, check 'Trees LOD' and uncheck 'Objects LOD'. Click 'Generate' to start.

It is normal if this complains about missing files for shrubs, bushes and other small plants. However, it should find files for the trees, like pines and aspen etc. from the splitting or download.

Once tree LOD for the worldspace has been generated proceed to run DynDOLOD Worlds.pas, but restart TES5Edit in case meshes and textures were moved. This is to make sure the new tree LOD files are recognized.

If a mod like 'The Pale Redux' removes all trees from a cell/quad, LODGen for trees will now create empty tree LOD files automatically so that vanilla files with tree LOD are properly replaced.

To uninstall LODGen for trees delete everything that was generated when splitting trees and generating tree LOD:

data\meshes\terrain\[worldspace name]\trees\
data\textures\terrain\[worldspace name]\trees\
data\textures\terrain\LODGen\

## TES5Edit LODGen for trees LOD - Skyrim Flora Overhaul

Refer to the 'TES5Edit LODGen for trees LOD - Splitting' and 'TES5Edit LODGen for trees LOD - Generating' sections above first.

For Skyrim Flora Overhaul make sure its LOD texture in textures\terrain\tamriel\trees\tamrieltreelod.dds is last in load order.

Load TES5Edit with Skyrim.esm, Update.esm and the esps from Skyrim Flora Overhaul to split atlas texture for Tamriel. Load Skyrim.esm, Update.esm and Dragonborn.esm to split atlas for Solstheim.

Right click on Skyrim.esm/Dragonborn.esm to split the textures for Tamriel/Solstheim.

Move Textures\Terrain\LODGen\AtlasSplit_TamrielTreeLod\Skyrim.esm\*.* to Textures\Terrain\LODGen\Skyrim.esm\*.*
Move Textures\Terrain\LODGen\AtlasSplit_DLC2SolstheimWorldTreeLod\Dragonborn.esm\*.* to Textures\Terrain\LODGen\Dragonborn.esm\*.*.
Move Textures\Terrain\LODGen\AtlasSplit_TamrielTreeLod\SFO - Expanded Diversity.esp\*.* to Textures\Terrain\LODGen\SFO - Expanded Diversity.esp\*.* if it is exists, depends on Skyrim Flora Overhaul version.
All remaining files can be deleted.

Generate tree LOD as usual by starting TES5Edit with the complete load order, right click on the mod that is the original source of the worldspace and select 'Other' and then 'Generate LOD'. Note that this generates new tree LOD *.btt files and atlas texture that will override any existing files from other mods that was used to split earlier. Make backups as needed.

## How LOD works in Skyrim

The default LOD in Skyrim is static. This means it is precompiled and can not change based on events in the game. DLC and mods can supply their own static LOD files to overwrite all or some of the original files.

Skyrim separates the LOD into 3 different types, the landscape and (large) bodies of water in the *.btr files, the objects in the *.bto files and trees in the *.btt files.

The landscape *.btr and the object *.bto files are actually nif meshes. The tree *.btt files are an index of x, y, z positions and tree type index numbers. The tree type index numbers point to data in the *.lst file.

The landscape and object LOD is divided based on a fixed grid of 4x4, 8x8, 16x16 and in case of landscape 32x32 cells. The tree LOD is divided in 4x4 cells. Unlike the attached cell grid (uGridsToLoad) around the player, these LOD grids do not move with the player.

A cell is 4096x4096 units. So a tree LOD distance of 75000 divided by 4096 is about 36.3 cells. Any 4x4, 8x8, 16x16 group that is inside the distance set in the SkyrimPrefs.ini will then show accordingly.

`[TerrainManager]
fTreeLoadDistance=distance for tree LOD
fBlockMaximumDistance=distance for object LOD level 16
fBlockLevel1Distance=distance for object LOD level 8
fBlockLevel0Distance=distance for object LOD level 4
fSplitDistanceMult=multiplier for landscape LOD levels`

Mostly clouds and some window lights have a flag set called neverfade. If this flag is set the full model of an (typically persistent) object is visible regardless if its cell is loaded or not. Even neverfades fade at a distance though.

The default value of 150000 in SkyrimPrefs.ini translate to about 36.6 cells as long as the multiplier value fLODFadeOutMultSkyCell is one.

`[MAIN]
fSkyCellRefFadeDistance=distance for neverfades`

DynDOLOD uses this flag to show dynamic and animated LOD, but fades them out at the values of Near or FarGrids. Mesh rules setting the Grid value for an object to 'Never Fade LOD' or 'Never Fade Full' fade out at the distance set in SkyrimPrefs.ini.

If the base element has its neverfade flag set as well then the object is always visible all the way to the max draw distance of about a 100 cells.

### Performance

Adding more detail to the game world puts more workload on the hardware. A modern graphics card with decent amount of memory should have no problem dealing with the extra data. But if the game is already coping with high resolution textures and an ENB etc this is of course a totally different story

In fact adding more static LOD uses more system memory. For screen archers trying to use lots of full models, this may be the limiting factor. For normal use this is mitigated by using ENB Host and SKSE with Skyrim Memory Patch 3.0. A fast disk system is recommended as well since more data is moved.

As a configuration guideline, objects that are used very often have the highest impact. The draw distance and/or LOD levels is the next thing to adjust. The CK shows usage number for base elements. A couple large hi-poly buildings do not really matter that much.

Since DynDOLOD Worlds.pas offers a plethora of settings and options, the visual result and performance impact is fully at the hands of the enthusiast modder :)

### How to add your own LOD models

DynDOLOD Worlds.pas scans the whole data\meshes for *_lod*.nif files and internally reassigns them to the LOD levels based on the LOD file name. All base elements with matching full model files will be considered for LOD. No changes to the STAT records are made. Only if the checkbox 'Use original LOD assignments' has been checked are the real LOD assignments from the STAT records used.

To simply add LOD for a full model with the file name house.nif add a LOD mesh with the file name house_lod.nif.

A LOD model with the file name house_lod.nif will have LOD in level 4, 8 and 16. To assign models to specific levels use house_lod_0.nif for level 4, house_lod_1.nif for level 8 and house_lod_2.nif for level 16.

If lower number files are not present the higher number files will automatically be used for lower levels. So if only a file with the file name house_lod_1.nif is found it will be used for LOD level 4 and 8.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.