Guide:Skyrim Tree Settings

From Step Mods | Change The Game
Revision as of 06:22, October 25, 2015 by DoubleYou (talk | contribs)

Template:TOC right A guide to editing the Skyrim tree settings inside the INI files for the tinkering user

SUPPORT FORUM


Template:Construction

Suggested first reading: Skyrim Configurations Settings Guide

Guide scope[edit | edit source]

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. Its purpose is geared toward understanding how trees work in Skyrim and optimizing them for individual use. See the advanced Skyrim INI and SkyrimPrefs INI guides for an advanced and comprehensive review of all configuration settings.

About Skyrim's tree system[edit | edit source]

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 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[edit | edit source]

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

There are two different kinds of dynamic trees: "skinned" trees and "unskinned."

Figure 1: Skinned trees

Skinned trees are used when the following INI setting is set as follows:

SkyrimPrefs.ini
[Trees]
bRenderSkinnedTrees=1


Figure 2: Unskinned trees

Unskinned trees are used when the following INI setting is set as follows:

SkyrimPrefs.ini
[Trees]
bRenderSkinnedTrees=0

Now, this is the cheapest performance version of trees in the game, but they move. They are animated.

Figure 3: Animated trees

These tree animations can be removed by removing the resources allocated to them:

Skyrim.ini
[Trees]
fUpdateBudget=0


Figure 4: Inanimate trees

This makes the trees inanimate. This is the base tree with no movement. Since skinned trees are entirely disabled, it will entirely remove the tree popping effect noticeable when moving through the forests. This is demonstrated in the video below.

Video 1: Unskinned trees

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.

Video 3: Tweaked skinned trees remove tree popping

To sum up what we’ve learned about the dynamic version of trees:

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

Static trees[edit | edit source]

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

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

To recap what we have learned about the static version of trees:

  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[edit | edit source]

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 may be toggled on and off with bTreesReceiveShadows regardless of how the trees are rendered.

SkyrimPrefs.ini
[Display]
bTreesReceiveShadows=1

Figure 5: Tree shadows enabled

Figure 6: Tree shadows disabled (default)


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