User Tools

Site Tools


level-of-detail

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

level-of-detail [2020/04/28 18:24] (current)
maxime created
Line 1: Line 1:
 +====== Level Of Detail ======
  
 +To reduce the rendering performance impact of models with high triangle counts or models with a lot of instances, Hurricane supports levels of detail (LOD). This allows models to be rendered with a different mesh at different distances to the camera.
 +
 +Hurricane supports 5 different levels of detail:
 +^  Level ID  ^  Min distance ​ ^  Max distance ​ ^
 +|  0  |  0    |  50   |
 +|  1  |  50   ​| ​ 100  |
 +|  2  |  100  |  200  |
 +|  3  |  200  |  300  |
 +|  4  |  300  |  ∞    |
 +
 +===== How to =====
 +
 +To add LOD to your model, for each mesh in your model, do the following:
 +  - create less detailed versions of your mesh
 +  - for each level, put your meshes in child nodes named ''​LOD_X''​ with ''​X''​ being the selected level
 +  - alternatively,​ you can use a single mesh for multiple levels of detail: for example, if you name your mesh node ''​LOD_23'',​ this mesh will be used for rendering at levels 2 and 3
 +  - if you want to hide a model at long distance (useful for small props too small to see from far away anyway), don't use levels past the max rendering distance you want: for example, if you want a small prop to not be rendered at a distance greater than 100, only create meshes ''​LOD_0''​ and ''​LOD_1''​
 +
 +==== Example ====
 +
 +Here are a few examples of model hierarchy using LOD
 +
 +=== Before LOD ===
 +
 +  * ''​RootNode''​
 +    * ''​BuildingMesh''​ <- high detailed mesh
 +
 +=== With one mesh per level ===
 +
 +  * ''​RootNode''​
 +    * ''​BuildingMesh''​
 +      * ''​LOD_0''​
 +      * ''​LOD_1''​
 +      * ''​LOD_2''​
 +      * ''​LOD_3''​
 +      * ''​LOD_4''​
 +
 +=== With one detailed and one simplified mesh ===
 +
 +  * ''​RootNode''​
 +    * ''​BuildingMesh''​
 +      * ''​LOD_012''​
 +      * ''​LOD_34''​
 +
 +Here, the model is rendered with the mesh ''​LOD_012''​ for a distance inferior to 200, and with the mesh ''​LOD_34''​ for a distance greater than 200.
 +
 +=== Only for close distance ===
 +
 +  * ''​RootNode''​
 +    * ''​SmallPropMesh''​
 +      * ''​LOD_01''​
 +
 +In this configuration,​ the mesh ''​LOD_01''​ is used to render the model to a distance up to 100, and then the model is hidden.
level-of-detail.txt · Last modified: 2020/04/28 18:24 by maxime