Guide:Skyrim Tree Settings

From STEP Modding Wiki

Contents

A guide to editing the Skyrim tree settings inside the INI files for the tinkering user

GUIDE FORUM THREAD
SUPPORT FORUM


Suggested first reading: Skyrim Configurations Settings Guide

Guide scope

This guide is intended to be a guide to the tree configuration settings for The Elder Scrolls V: Skyrim game as set through INI files. While originally written for the original Skyrim game as released in 2011, everything written here works exactly the same in the Bethesda remaster known as Skyrim Special Edition. Its purpose is geared toward understanding how trees work in Skyrim and optimizing them for individual use. See the advanced original Skyrim INI and SkyrimPrefs INI guides for an advanced and comprehensive review of all configuration settings for original Skyrim.

About Skyrim's tree system

SpeedTree technology was used in previous Elder Scrolls games, but Bethesda Game Studios decided they could do better without it. Skyrim therefore is the first game where they employ their own custom tree system.

There are essentially two different ways trees can be rendered in Skyrim, which is designated in this guide as "static" and "dynamic."

Dynamic trees

The default version is the dynamic version. The dynamic version is used when the following INI settings have the values shown below:

Skyrim.ini
[Trees]
bEnableTreeAnimations=1
bEnableTrees=1

Tree skinning

There are two different kinds of dynamic trees: "skinned" trees and "unskinned." Unskinned trees are basically a stripped down model of the tree. Skinned trees add more detail but are prone to tree popping. Skinned trees are toggled by bRenderSkinnedTrees in SkyrimPrefs.ini:

SkyrimPrefs.ini
[Trees]
bRenderSkinnedTrees=1
Figure 1: Skinned trees (bRenderSkinnedTrees=1)

Figure 1: Skinned trees (bRenderSkinnedTrees=1)
Figure 2: Unskinned trees (bRenderSkinnedTrees=0)

Figure 2: Unskinned trees (bRenderSkinnedTrees=0)

Avoiding tree popping

Unskinned trees avoid the tree popping effect noticeable when moving through the forests. This is demonstrated in the video below.

Video 1: Unskinned trees display no tree popping

By default, Skyrim will render 20 skinned trees around the player character. As the player moves, the trees will put on more skin, causing them to pop a bit. This is demonstrated in the video below.

Video 2: Default skinned trees demonstrate trees popping

Now, skinned trees are obviously more detailed than unskinned trees. It’s not only the amount of limbs and leaves but also the bark that is greatly improved. Still, many players may decide that for the price of decreased detail in trees, the removal of the tree popping and the improved performance is a win. However, there is a way, at the cost of some performance, to get skinned trees and essentially eliminate the popping trees.

We can increase the amount of skinned trees rendered around the player, as well as increase the distance from the player that the trees are skinned, with the following settings:

SkyrimPrefs.ini
[Display]
fMeshLODLevel1FadeTreeDistance=6144
fMeshLODLevel2FadeTreeDistance=4096
fTreesMidLODSwitchDist=8192
[Trees]
uiMaxSkinnedTreesToRender=200

This almost entirely removes the popping, due to the fact that all trees are now skinned and are rendered at a sufficient distance to make the process almost invisible, as seen in the video below. Please note that uiMaxSkinnedTreesToRender does not increase the number of trees.

Video 3: Tweaked skinned trees remove tree popping

Tree animations

All dynamic trees are animated, meaning that they wiggle. These tree animations can be removed by removing the resources allocated to them:

Skyrim.ini
[Trees]
fUpdateBudget=0
Figure 3: Animated trees (fUpdateBudget=1.5)

Figure 3: Animated trees (fUpdateBudget=1.5)
Figure 4: Inanimate trees (fUpdateBudget=0)

Figure 4: Inanimate trees (fUpdateBudget=0)

This makes the trees inanimate. Inanimate, unskinned trees are the most performance-friendly version in the game.

Summing up dynamic trees

Dynamic trees in summary:

  1. Dynamic trees may be skinned or unskinned.
  2. Dynamic unskinned trees avoid tree popping but lose detail.
  3. Tree popping on dynamic skinned trees may be avoided by adjusting their custom level of detail distance settings.
  4. Dynamic trees may be animated or inanimate.

Static trees

The "static" version of tree rendering in Skyrim is done in a much simpler manner. The static version is used when either bEnableTreeAnimations or bEnableTrees are disabled in Skyrim.ini as shown below:

Skyrim.ini
[Trees]
bEnableTreeAnimations=0
bEnableTrees=0

Characteristics

There does not seem to be much variety in the static version. All trees will be fully skinned. All trees will remain inanimate. No tree popping will occur. This is simply because these two settings entirely alter the tree system. They effectively make trees into static models like all the other models dotting the landscape, with few exceptions. It disables the following INI settings:

Skyrim.ini
[Trees]
fUpdateBudget
SkyrimPrefs.ini
[Display]
fMeshLODLevel1FadeTreeDistance
fMeshLODLevel2FadeTreeDistance
fTreesMidLODSwitchDist
[Trees]
bRenderSkinnedTrees
uiMaxSkinnedTreesToRender

Tree meshes in the static version will be controlled by fMeshLODLevel1FadeDist and fMeshLODLevel2FadeDist instead of fMeshLODLevel1FadeTreeDistance and fMeshLODLevel2FadeTreeDistance.

Below is a video demonstrating the lack of tree popping on fully-skinned, static trees.

Video 4: Static trees, while fully skinned, avoid tree popping

Summing up static trees

Static trees in summary:

  1. Static trees are always fully skinned.
  2. Static trees are always inanimate.
  3. Static trees avoid tree popping.
  4. Static trees share the main mesh level of detail distance settings.

What settings both tree versions share

Now that we know the two different ways trees may be rendered in Skyrim, what stays the same? Answer: Tree shadows and far-off tree visuals.

Tree shadows

Tree shadows may be toggled on and off with bTreesReceiveShadows regardless of how the trees are rendered. Tree shadows are required by ENB.

SkyrimPrefs.ini
[Display]
bTreesReceiveShadows=1
Figure 5: Tree shadows enabled (bTreesReceiveShadows=1)

Figure 5: Tree shadows enabled (bTreesReceiveShadows=1)
Figure 6: Tree shadows disabled (bTreesReceiveShadows=0)

Figure 6: Tree shadows disabled (bTreesReceiveShadows=0)

Far-off tree visuals

Far-off trees will all look the same, and the maximum distance that they will be shown may be changed by altering the value of fTreeLoadDistance. The default medium value is given below.

SkyrimPrefs.ini
[TerrainManager]
fTreeLoadDistance=25000
Figure 7: Distant trees at fTreeLoadDistance=25000

Figure 7: Distant trees at fTreeLoadDistance=25000
Figure 8: Distant trees at fTreeLoadDistance=40000

Figure 8: Distant trees at fTreeLoadDistance=40000