• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

LOD Blender object creation: does this process makes sense?

Messages
43
Country
france
I'm a beginner in Blender (and 3D in general) as well as in MSFS scenery design. I have several small freeware sceneries with basic single LOD basic objects. I want to update these with multi LOD. I want to check with more experience developers that my workflow to create these multi LOD object makes sense. And obviously collect, your best advice.

image
image1622×803 76.2 KB

For the sake of explaining how I plan to update all my object, I’ll take a simple blue pole object for my San Diego Gillespie (KSEE) freeware.
  1. BackUp my original most detailed object into a Collection name _LOD0-Original and Hide in Viewport.
  2. Duplicate my original collection into a _LOD0 and merge all object into a single one.
  3. Duplicate the LOD0 collection into LOD1 new collection. For this _LOD1, Add a Modifier - Decimate and manage the ratio to reduce (very) approximately to 1/4 the number of vertices, faces and Tris. Very approximately. This is where I need help to make something rational and… maybe smart.
  4. Duplicate the _LOD1 to a new collection _LOD2 and again apply a Modifier - Decimate, and again reduce approximately. I may remove some texture - if needed - and replace it with basic color material for example.
  5. Repeat Step 4 to _LOD3 and _LOD4.
  6. Use the Blender free plugin LN LODs, click calculate “LOD Sizes” and click “Set LOD Values in Asobo Exporter”. It populates automatically the value for my Multi-Exporter gLTF 2.0 plug-in


    image
    image1623×755 74.2 KB

  7. Export my object. Here I’m not sure at all that the LOD value makes sense LOD0 is 5, LOD1 is 3, LOD2 is 1 and LOD3 is 0. Shouldn’t it be the other way around ?

image
image1618×757 83.1 KB

Any tips & tricks are welcome. The export works fine and my object are visible in MSFS.The debug LOD doesn’t displays “logical” info with only the LOD0 loaded , here at short distance, big size in the screen:
[*]image
image1634×806 167 KB

… and still LOD0/3 at far distance:


image
image1891×866 285 KB

Thank you for your help!
 
Last edited:
Untick Force User LOD 0 ?

Oh! Right! So obvious. I ticked/tested so much settings that I certainly forget this one. That's why it use to work and didn't work anymore with the Debug Tool. I will untick and validate. Thanks for the call.

Any advice regarding the flow process to generate the multiLODs object?
 
Last edited:
https://docs.flightsimulator.com/ms...xtures/Modeling/LODs/LOD_Selection_System.htm
This contains all the info Asobo is sharing.
This is interesting:

Untitled.png

Apparently, the sim can then decide the minsize.

This is the general guide. Asobo recommends using the High column. You could seek to make the vertex count similar for each LOD. And yes, you can use a huge invisible material cube to force display. Both Asobo and Microsoft do this. ModelConverterX has a very good LOD system if you want something automatic.
VertexCountLimits.jpg
 
Untick Force User LOD 0 ?
After un-ticking "Force User LOD 0", thank you... All seems ok.



... although I count 4 levels in my .XML. But I'm OK with that. And this pole is just for the sake of the demonstration and I think it doesn't required that amount of different LOD.

Code:
<?xml version="1.0" encoding="utf-8"?>
<ModelInfo guid="{02571d45-0398-4ae1-900e-3553045510c2}" version="1.1">
    <LODS>
        <LOD minSize="4" ModelFile="vbcorp-ksee-blue-poles_LOD0.gltf"/>
        <LOD minSize="3" ModelFile="vbcorp-ksee-blue-poles_LOD1.gltf"/>
        <LOD minSize="2" ModelFile="vbcorp-ksee-blue-poles_LOD2.gltf"/>
        <LOD minSize="1" ModelFile="vbcorp-ksee-blue-poles_LOD3.gltf"/>
    </LODS>
</ModelInfo>
 
Last edited:
Some more thoughts about LODs in MSFS 2024 and Blender.

In Blender we often have Ngons and Quads the are part of out polygon makeup for out objects. But the glTF uses triangles only, and this is automatically taken care of in exporting. That leads to a difference in what Blender sees as face counts between the glTF and Blender. To get an accurate display of faces and verts, we need to import a gltf to Blender, which then accounts for the triangulation. Not really needed, but something to be aware of concerning LODs.

Also, a discussion of ideal LODs at Asobo's devsupport site, leads me to believe that LODs should ideally be quartered in decimation... not halved. Here's a small project that uses an icosphere to show quartering using the decimate modifier. LODTest.zip

The xml I used was:

XML:
<?xml version="1.0" encoding="utf-8"?>
<ModelInfo guid="{c13afae3-819a-469d-b8f2-0b9b68724766}" version="1.1">
    <LODS>
        <LOD minSize="6" ModelFile="Icosphere_LOD0.gltf"/>
        <LOD minSize="5" ModelFile="Icosphere_LOD1.gltf"/>
        <LOD minSize="4" ModelFile="Icosphere_LOD2.gltf"/>
        <LOD minSize="3" ModelFile="Icosphere_LOD3.gltf"/>
        <LOD minSize="2" ModelFile="Icosphere_LOD4.gltf"/>
        <LOD minSize="1" ModelFile="Icosphere_LOD5.gltf"/>
    </LODS>
</ModelInfo>

As per the SDK this lets the sim decide the minsize of each LOD. I just made duplicates of the LOD0, and decimated them. LOD1 was decimated at 0.25. LOD2 was decimated at 0.0625.... https://docs.flightsimulator.com/ms...xtures/Modeling/LODs/LOD_Selection_System.htm

Untitled.png


The red warning tells me It shouldn't have a texture at the lowest LOD... probably didn't need one much earlier.
 
Last edited:
Back
Top