Everything you need to know about levels of detail (LOD) in 3D

Last updated on August 23rd, 2023 at 12:22 pm

Hello there! If you are here, it is because you are interested in level of detail (LOD) in 3D. And you are right to be, because it is a key technique to optimize 3D model performance, save resources, and improve the 3D user experience. In this article, we will present everything you need to know about level of detail (LOD) in 3D.

Introduction

What are levels of detail (LOD)?

Levels of detail (LOD) are a 3D modeling technique that consists of creating several versions of the same model, each with progressively lower resolution. Thus, the most detailed model is used for close-ups, while the less detailed models are used for long shots. This makes it possible to optimize the performance of 3D models by saving resources and improving loading times.

Why are they important for 3D models?

Levels of detail (LOD) are important for 3D models because they help improve the overall performance of the 3D application. Levels of detail (LOD) are also a key technique for video games, as they help improve performance and make games more fluid and enjoyable to play.

The different techniques for implementing levels of detail (LOD) in 3D models

There are different techniques for implementing levels of detail (LOD) in 3D models. Here are the main ones:

  • Mesh reduction: this technique consists of reducing the number of polygons in a 3D model by removing the least visible details. This optimizes performance by reducing workload and improving loading times.
  • Texture reduction: this technique consists of reducing the resolution of textures used in a 3D model. This also optimizes performance by reducing workload and loading times.
  • Culling: this technique makes it possible not to display 3D elements that are not visible to the camera. This reduces workload and improves performance.
  • Occlusion culling: this technique does not display 3D elements that are obscured by other elements. It also reduces workload and improves performance.

These techniques can be used together to optimize 3D model performance and improve the user experience.

How do levels of detail (LOD) affect the visual quality of 3D models?

Levels of detail (LOD) can affect the visual quality of 3D models if the transitions between the different levels are not well designed or implemented. However, if levels of detail are well designed and implemented, they can improve the visual quality of 3D models by reducing visual artifacts and “popping” effects (sudden appearance of details).

The advantages of levels of detail (LOD) for 3D artists

Levels of detail (LOD) offer several advantages for 3D artists:

  • Reduced CPU, GPU and SSD resources: 3D models do not need to be detailed at their finest level at all times, which reduces console, PC or mobile device resources.
  • Improved performance: with proper level of detail, 3D models can be displayed faster and more efficiently on different devices. The LOD levels displayed on phones are not the same as on high-end PCs, related to screen resolution and device performance.
  • Optimized resources: appropriate levels of detail save resources, including memory and processing power. The bandwidth for detailed models is higher than for simplified models, a notion to consider for mobile development.

Potential disadvantages associated with using levels of detail (LOD)

Using levels of detail (LOD) can have several potential disadvantages:

  • Increased complexity: adding multiple levels of detail can make the 3D model more complex and difficult to manage. It is better to limit the number of LODs based on distance rather than automatically generating a multitude of different level LODs that will only rarely be called and will weigh down the application’s data package.
  • High cost: creating multiple levels of detail for a 3D model can be expensive in time and resources. To produce high quality LODs, human technician help is still needed, as automated generations are not always consistent. However, we can expect that in the near future, artificial intelligence will be able to do it as well based on context, to obtain an accurate, consistent and optimized visual result.
  • Inconsistent rendering: if levels of detail are not well designed or implemented, it can lead to inconsistent rendering and animation issues. In simple terms, implementation refers to how the levels are created and activated taking into account screen resolution and device performance. If the loading of details is too slow, the rendering will be inconsistent and poor quality. If the LOD loading is too fast or too frequent, the smoothness of the 3D experience will be greatly affected.
pplatformlod 07
To better understand how it works: Once all platforms have set their respective LOD, the static mesh is now ready to be used in your UE project. Image (c) epic games

Software that uses levels of detail (LOD) in 3D

There are many software programs that use levels of detail (LOD) to optimize 3D model performance. Here are the main ones:

  • Unity: The Unity game engine allows you to create levels of detail for 3D models.
  • Unreal Engine: One of the most popular game engines, Unreal Engine, also offers level of detail features for 3D models, as well as more recent alternatives, such as Nanite rendering technology.
  • Blender: Blender is an open source 3D modeling software that offers level of detail features for 3D models.
  • Maya: The Maya 3D modeling software also offers level of detail features for 3D models.

These software programs are used in various fields, such as video games, virtual and augmented reality, architectural and industrial models, and many others. Levels of detail (LOD) are a key technique for optimizing 3D model performance, saving resources, and improving the 3D user experience.

02 cube in static mesh editor
In UE5: Once you have found this asset, open your 3D asset in the editor, you should have something that looks like what is shown above, then ‘LOD Settings’ section.

Find all the LOD documentation for UE5 in the official doc.

Keeping consistent UVs

When you manually create your levels of detail (LOD), it is important to keep consistent UVs from one LOD to another. This means that your UVW texture layout needs to be flattened in the same way across your different levels of detail so that the same texture is applied in the same way, even for lower resolution degraded textures. You may be wondering because from one level to another the topology can be very different? There are several approaches: you can start from the UV layout present in your original low-poly, then detail the model while keeping the same 2D layout. Or conversely, start from your detailed model, redo a retopology, a medium poly and a low poly in stack modifiers in some software, there are also retopology modules that allow you to maintain a similar UV layout. And finally, you can start from the detailed 3D model and make an automated LOD generation, but the mesh will often be poorly adapted. To be avoided for characters and hard surface modeling styles. Only to be used on second-tier background scenery items.

Need LODs with Nanite from UE5?

Nanite is a rendering technology introduced in Unreal Engine 5 that offers high performance while significantly reducing the workload associated with traditional 3D model LODs (level of detail). It allows you to create static meshes with a huge amount of detail and optimize their rendering on the fly based on the distance between the object and the camera, without having to create multiple LODs.

This technology thus provides continuous representation of geometric details at pixel resolution, even for very complex objects. This simplifies the work of 3D modelers, who no longer need to create multiple versions of their models for different viewing distances. However, using Nanite requires some processing power, and may be less efficient if many different models are used in the same scene. In summary, Nanite offers a powerful and efficient alternative to traditional LODs for 3D models in Unreal Engine 5.

However, it is possible to combine both techniques to improve loading time. This method is more efficient than using Nanite alone without LODs.

Here are some other articles around Unreal Engine:

    Conclusion

    There you go, you now know everything you need to know about level of detail (LOD) in 3D. We hope this article has been useful to you and that you have learned new things about this key technique for optimizing 3D model performance. Feel free to share this article with your friends and colleagues to introduce them to 3D level of detail (LOD)!

    Similar Posts