Overview

Grass Cache

Grass caching is the process of generating files (using the No Grass In Objects mod) that tell the game exactly where grass should and shouldn't appear. This has several benefits:

  • Prevents grass clipping through objects — no more grass poking through rocks or buildings.
  • Improves performance by reducing the amount of grass the game needs to generate and render.
  • Allows generating grass LOD in DynDOLOD 3, allowing grass to be rendered at long distances using the game's Object LOD system.

Grass LOD

In vanilla, grass is only rendered in the active cells, leaving the bare terrain LOD in the distance. Grass LOD is a DynDOLOD 3 feature that uses grass cache to generate Object LOD for grass. This allows grass to be rendered in the distance, at a performance cost.

For the best results, it is high recommended that you first go through the LOD Guide - as the DynDOLOD settings used in the LOD guide will be used in this one. This guide will not cover the basics of LOD generation, but will instead focus on the grass cache and grass LOD generation.

Grass LOD Comparison

Use the sliders below to compare different aspects of Grass LOD generation. First select a comparison set, then choose which images to compare for each side of the slider.

Process

Creating a Separator in MO2

  1. Right-click the empty space in the left pane of MO2 and select Create separator.
  2. Name the separator Grass Cache.

Installing Resources

Install in the following order:

  1. No Grass In Objects
    • Main Files - NGIO - NG
      1. Once the mod has been installed, run the game once (SKSE in MO2), then close it.
      2. Double-click Overwrite and open SKSE/Plugins/GrassControl.ini
        • Set Use-grass-cache to true.
        • Set Only-load-from-cache to true.
        • Set DynDOLOD-Grass-Mode to 2.
      3. Save your changes.
    • Optional Files - Grass Generation MO2 Plugin v3.2
      1. Open the downloaded archive.
      2. In MO2, click the MO2 folders button at the top of MO2 and click Open MO2 Plugins folder.
      3. Drag GrassPrecacher.py into the folder.
      4. Restart MO2.
  2. Grass Cache Helper NG
    • Main Files - Grass Cache Helper NG
      1. Once the mod has been installed, double-click it in the left pane of MO2.
      2. In the INI Files tab, select SKSE/Plugins/GrassCacheHelperNG.ini
      3. Set AutoGrassDistanceSettings to 0.
      4. Save your changes.

IMPORTANT:
Enable all resources in MO2 before continuing.

Grass Cache

  1. Temporarily disable the following mods if you use them:
    • ENB
    • Community Shaders
    • TrueHUD

TrueHUD will cause crashes during the generation of the grass cache. ENB and Community Shaders will only slow down the game's startup.

  1. Click the Tools drop-down button at the top of MO2 and select Precache Grass, then click Yes.
  2. The game will start and, shortly after, the grass caching will begin. You can open the console to track its progress through the different worldspaces.

Especially during the last worldspace (Tamriel), the game might crash a few times. This is normal and can be ignored, as the mod will automatically restart the process.

However, if the game crashes way too often during the process and you can replicate the issue in-game by visiting the same location, you should investigate the cause.

  1. Once grass caching is finished, the game will close and the mod will prompt you with a message saying so.
  2. In MO2, click the tiny wrench icon at the top, next to the mod counter, then click Create empty mod.
  3. Title the mod Grass Cache.
  4. Double-click Overwrite and drag the grass folder to the newly created mod, then enable it.
  5. Re-enable the mods you disabled at the start.

IMPORTANT:
The upcoming Grass Optimizations module for Community Shaders drastically improves performance and enables NGIO's grass extension feature without relying on DynDOLOD grass LODs.

Once released, it will be a far superior alternative to the grass LOD mentioned here - eliminating the heavy GPU performance hit and maintaining visual consistency with normal grass (grass LOD uses a different shader).

Grass LOD

This part assumes you are already familiar with the LOD generation process! Learn the ropes of LOD generation before continuing with this guide.

Grass LOD requires grass with normal mapping. DBF Extended uses vanilla grass with Vanilla Complex Grasses for ENB and CS. If you use a grass mod, make sure that it is patched for Grass Lighting (or ENB's Complex Grass feature). Once that is set up, do the following:

  1. Delete the existing outputs for TexGen and DynDOLOD, if they exist.
  2. Run TexGen:
    • Enable HD Grass, which should now be available thanks to the Complex Grass patch and the presence of grass cache.
    • Generate as normal.
    • Install the TexGen output.
  3. Run DynDOLOD:
    • Enable Grass LOD with the Mode set to 2.
    • Set the Density setting to 80 as a starting point. Higher values mean denser grass but have a greater performance impact. This value is meant for vanilla grass - the sweetspot with modded grass may be different.
    • Generate as normal.
    • Install the DynDOLOD output.