LevelOfDetail

From polycount
Revision as of 19:06, 22 February 2018 by EricChadwick (Talk | contribs)

Jump to: navigation, search

A Level of Detail model (LOD) is a lower-resolution version of a game model. The lower-res version is used to improve performance by being swapped in whenever the higher-resolution of the game model is not apparent anymore, for example when it is a certain distance from the player. Usually LODs have a lower vertex count (50% or so) and simpler shader (diffuse only, for example).

LOD Levels

LOD0 is the highest level of detail, your original model. Zero is always the highest because the number of LODs is unknown, so if you need more LODs you can just increment the number.

LOD1 is sometimes done by hand, especially for rigged organics (creatures, people, etc.). A lot of game developers automate LOD2, LOD3, LOD4, etc. with automatic Decimation tools.

LODs can have different UVs. There's reasons both for and against keeping the same UVs. If you keep the same UVs, that means you can use the same texture for whatever LODs use the same UVs. However, this also means you're now likely holding a higher res texture in memory for models that probably don't need that higher resolution texture. That rabbit hole gets deeper, but the short answer is: They can use the same UVs, or they can use different UVs. There is no hard and fast rule.

If you are using the same texture/uv layout for the LODs, won't the texture decrease in resolution as it goes down the LOD chain? In short: It's complicated, and in many cases you're still paying the cost for the highest resolution of the texture. A quick-and-dirty way of reducing a significant amount of that cost is to do a mip-split, where you actually split the top mip level from the rest.

LOD Metrics

There are many methods for determining when to swap; the most common is based on distance. Another method is to swap depending on how fast the player is moving, because a player typically won't notice the drop in quality for a fast-moving object. Yet another method is to drop to lower LODs when the framerate drops below a certain number.

Links


Personal tools
Namespaces

Variants
Actions
Navigation
Tools