USING SIMPLYGON TO GENERATE LODS

To optimize the performance of the simulation while displaying 3D models, you normally need to generate various simplified LOD models. This process is explained here:

 

However, creating LODs manually can be a tedious and time-consuming process, especially for large models with many parts and details. To make this process simpler, the Microsoft Flight Simulator 2024 SDK now has an AutoLOD feature which integrates Simplygon into the package build pipeline. Simplygon will auto-generate the LODs for a given model when a package is built, meaning that artists only need to provide the most detailed LOD (LOD0) when creating the model to be used in the simulation.

IMPORTANT! You must be in possession of a licensed copy of the Simplygon SDK to be able to use this feature. The Simplygon Licence should be installed here: C:\Users\<Username>\AppData\Local\Microsoft\SimplygonSDK

 

Note that doing manual creation and optimisation of the LODs for an object will always lead to better results than using tools like SImplygon, as you can create smarter shape conservation, with less seams and gaps, and even a reduced number of LODs. You can find more information to help with this on the following page:

 

If you do use Simplygon, then we recommend that you use the LodProcessingPresets that are supplied as part of the MSFS 2024 SDK. These have been designed with specific scenery items in mind, and there is also a "default" preset to use for those cases where a specific preset doesn't match what you're creating. These presets can be found at the following location:

<SDK ROOT>\LodProcessingPresets\

 

 

Using The AutoLOD System

AutoLOD creation is all done automatically as part of the build pipeline, whether using The Project Editor or the Package Tool to build the package. However, it is currently only available for models in the ModelLib asset group, and requires some specific setup.

 

To start with you will need to generate the model as normal, getting the following files:

  • A glTF file, named [MODEL_NAME]_LOD0.gltf
  • A BIN file, named [MODEL_NAME]_LOD0.bin

 

It is very important that the glTF file name ends with _LOD0. If the file is not named this way, then the AutoLOD creation will fail. You will also have an XML file which is what is used to set the LOD limits and other details. The file will look something like this:

<?xml version="1.0" encoding="utf-8" ?>
<ModelInfo version="1.1" guid="{...}">
    <LODS>
        <LOD minSize="50"/>
    </LODS>
</ModelInfo>

This file needs to be edited to tell the simulation to auto-generate the LODs. For that you can remove all <LOD /> tags, and then add the autoGenerate attribute into the <LODS> element, like this:

<?xml version="1.0" encoding="utf-8" ?>
<ModelInfo version="1.1" guid="{...}">
    <LODS autoGenerate="true"></LODS>
</ModelInfo>

 

 

Viewing The AutoLOD Output

After building a package with AutoLOD enabled, you can test the output in the scenery editor by placing the object in the scene and then opening the Debug LODs window. From this window you can use the Enable Force Active LOD option to force any LOD for the model and see the results in the scene:

Testing AutoLODs In The Simulation

 

The AutoLOD system generates 7 LODs and you can switch between them using this debug tool. The minSize for each of the LODs is as follows:

  • LOD1: 70%
  • LOD2: 50%
  • LOD3: 35%
  • LOD4: 20%
  • LOD5: 10%
  • LOD6: 5%
  • LOD7: <=1%