Difference between revisions of "LevelOfDetail"
(LOD link) |
EricChadwick (Talk | contribs) |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | A '''L'''evel '''o'''f '''D'''etail 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 [[:Category:Shaders|shader]] (diffuse only, for example). | |
− | + | ||
− | A '''L'''evel '''o'''f '''D'''etail 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. | + | == 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. | ||
+ | |||
+ | {| border="1" cellpadding="10" style="border-style: solid; border-width: 3px; border-collapse:collapse" | ||
+ | |'' I've built / supervised the building of thousands of AAA assets with multiple (up to 7) manual LODs and am confident in saying that the quality and efficiency of your LODs is determined almost entirely by the UV layout. <br/> <br/>I generally give this advice to new starters etc.. <br/> <br/>Build a low LOD, UV it and follow that layout for the high one. ( You can shove the bits that aren't in the low off to one side) <br/> <br/>This makes manual Lodding easy because you can simply tear geometry out without breaking UVs and also means autolodders can do a better job as they're not hamstrung by disparate UV layouts. <br/> <br/>It also means your low LODs look good so you can bring them in earlier and make the game go fasterer. '' <br/> <br/> - -[https://polycount.com/discussion/comment/2684527/#Comment_2684527 poopipe] | ||
+ | |} | ||
+ | |||
+ | 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 == | == 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. | 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. | ||
− | == LOD | + | == Automatic LOD == |
− | + | ||
+ | When using automatic LOD generation there are different approaches how a algorithm handles it | ||
+ | *Vertex Removal: new triangles are formed | ||
+ | *Triangle Removal: a triangle is removed | ||
+ | *Edge Removal:a edge is collapsed into a point | ||
+ | *Triangle Collapse: a triangle is collapsed to a point | ||
+ | |||
+ | These method are the reason why sometimes a mesh doesn't look it should. Because a algorithm can't determine what you need to keep and what not | ||
+ | While the terms are here used in the automatic lod generation the same concepts can be applied to hand-made LOD's | ||
+ | |||
+ | == Links == | ||
+ | * [http://polycount.com/discussion/198436/questioning-my-lod-workflow Questioning my LOD workflow] on the Polycount Forum | ||
+ | * [[PolygonCount|Polygon Count]] on the Polycount Wiki | ||
+ | * [http://www.polycount.com/forum/showthread.php?t=74619 LOD resources/information anyone?] on the Polycount Forum | ||
+ | * [http://www.polycount.com/forum/showthread.php?t=89241 LoDs: From how many tris does it make sense?] on the Polycount Forum | ||
---- | ---- | ||
− | [[Category:CharacterModeling]] [[Category:EnvironmentModeling]] | + | [[Category:CharacterModeling]] [[Category:EnvironmentModeling]] [[Category:Glossary]] |
Latest revision as of 11:24, 16 July 2023
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).
Contents
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.
I've built / supervised the building of thousands of AAA assets with multiple (up to 7) manual LODs and am confident in saying that the quality and efficiency of your LODs is determined almost entirely by the UV layout. I generally give this advice to new starters etc.. Build a low LOD, UV it and follow that layout for the high one. ( You can shove the bits that aren't in the low off to one side) This makes manual Lodding easy because you can simply tear geometry out without breaking UVs and also means autolodders can do a better job as they're not hamstrung by disparate UV layouts. It also means your low LODs look good so you can bring them in earlier and make the game go fasterer. - -poopipe |
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.
Automatic LOD
When using automatic LOD generation there are different approaches how a algorithm handles it
- Vertex Removal: new triangles are formed
- Triangle Removal: a triangle is removed
- Edge Removal:a edge is collapsed into a point
- Triangle Collapse: a triangle is collapsed to a point
These method are the reason why sometimes a mesh doesn't look it should. Because a algorithm can't determine what you need to keep and what not While the terms are here used in the automatic lod generation the same concepts can be applied to hand-made LOD's
Links
- Questioning my LOD workflow on the Polycount Forum
- Polygon Count on the Polycount Wiki
- LOD resources/information anyone? on the Polycount Forum
- LoDs: From how many tris does it make sense? on the Polycount Forum