Performance & LOD

LOD Distance Calculator

Direct answer

A LOD screen size is the fraction of the screen height a mesh's bounding sphere fills. Convert it to distance with diameter divided by twice the screen size times the tangent of half the vertical field of view. A 3 m mesh switching at 0.25 screen size with a 60 degree vertical view swaps at about 10.4 m.

m

Not the height. The diameter of the sphere that encloses the whole mesh.

deg
px

Result

Vertical field of view used
deg
LOD1 at
m
LOD2 at
m
LOD3 at
m
Cull or impostor at
m
Mesh height in pixels at the LOD1 switch
px

Method & assumptions

How this is worked out

Screen size is the share of the screen's height that the mesh's bounding sphere covers. Geometry gives the rest: a sphere of diameter D at distance d covers D / (2 d tan(fov/2)) of the view, so solving for distance yields d = D / (2 x screen size x tan(fov/2)).

The field of view in that formula is the vertical one. Unreal's FieldOfView is horizontal and Unity's Camera.fieldOfView is vertical, which is exactly why the same LOD setup switches at different distances in the two engines. The calculator converts for you using the aspect ratio.

Distances scale linearly with mesh size and inversely with screen size: double the mesh, double every distance; halve the screen size threshold, double the distance again.

Screen size thresholds that behave

LOD stepScreen sizeWhat it means
LOD0 to LOD10.5 – 0.4Mesh fills half the screen height
LOD1 to LOD20.25 – 0.15Clearly visible, detail no longer readable
LOD2 to LOD30.1 – 0.06A recognisable shape in the mid-distance
Impostor or billboard0.05 – 0.03Silhouette only
Cull entirely0.02 – 0.01A few pixels tall

Halving the screen size between steps roughly doubles the distance each time, which is what makes a LOD chain feel even rather than lurching.

Questions

What does LOD screen size actually mean?

It is the fraction of the screen's height that the mesh's bounding sphere covers, from 1.0 for a mesh filling the view down to near zero in the far distance. It is resolution-independent, which is why engines use it instead of a distance in metres.

Why do the same LOD settings switch differently in Unreal and Unity?

Because the field of view means different things. Unreal's camera FOV is horizontal, Unity's is vertical. At 16:9 a 90 degree horizontal view is only about 59 degrees vertically, so the same screen size threshold lands at a noticeably different distance.

Should I set LOD distances or screen sizes?

Screen sizes. They stay correct when the player changes resolution, aspect ratio or field of view, and they stay correct when you scale the mesh. A hard-coded distance in metres is right for exactly one camera setup.