• 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.

Blender Creating LODs in Blender

Messages
410
Country
norway
Hello. I have made a model in Sketchup which has been textured in Substance painter and then imported as a .gltf into Blender for final processing before exporting to msfs2020/2024. I am now looking a LOD-creation but I am struggling a bit to understand how.

My good friend ChatGPT have suggested using the decimate-modifier, but I am only able to select a texture set at a time, meaning I have to add a decimate modifier to around 20-30 texture sets.

-First: May I please get some insight to my models' structure to see if it is possible to adjust the hierarchy so that the whole model may be decimated, not just single parts of it?
Screenshot 2026-01-02 143311.png


-Second: Is there a better way of adjusting the LODs within Blender?
 
you can get LOD Generators that will help

ive used this one for an aircraft
it works pretty well and is not too complex but lacks the features of the commercial stuff i could imagine

it will decimate all parts at once (using 2 alternating settings iirc)
its not exactly run and done, i made each lod in order then did some manual touches like removing anims etc at certain stages but it worked well enough
im sure you could find others on google, thats just the one i tried first and i know of the dev (some may know of him from flightsim.to)
 
Hi Vetle:


MSFS' LODs need not be as 'coarse' / low resolution as GEDOT photogrammetry to reduce performance hits.


I would do some tests in Sketchup's Universal Importer Ruby Plugin Script by Samuel Tallet (also author of Sketchup PBR): :idea:

https://sketchucation.com/plugin/2275-universal_importer


I would seek an update on Arno's MCX LOD creation feature (years ago he had a video showing a live 3D preview of this in MCX).

https://www.fsdeveloper.com/wiki/index.php?title=ModelConverterX_LOD_Creator_preview_video

FYI: You may play this and other Flash-based videos with Ruffle:

https://ruffle.rs/


I would welcome a better understanding of how and when one might best implement these MCX Options: :scratchch

* Drawcall batching working LOD specifies if levels of detail should be retained when drawcall batching is enabled.

* Auto generate LODs specifies if the line to automatically generate LODs file should be added to MSFS 2024 model XML files.


And of course, I would intensively review this section in the MCX PDF Manual:

13.7 Level of detail



While decimation features can greatly reduce Poly (Face) counts, it is actually vertices that "count" most for FS performance. :pushpin:


When processing a 3D model prior to export to Blender, consider use of the MCX Material Editor: MCX icon toolbar > icon_#7 :idea:

MCX icon toolbar > icon_#7 > Material Editor > [Textures] tab

MCX icon toolbar > icon_#7 > Material Editor > [Draw Calls] tab

MCX icon toolbar > icon_#7 > Material Editor > [Optimize] tab


I have not seen anything yet from an Asobo geek that elucidates techie info for MSFS in detail as Aces' Adrian Woods did for FSX:

Optimization of a 3D model for performance requires minimizing:

Draw Calls > Texture Vertices > Polygons ( =Faces @2 Triangles each )

IIUC, Blender and Sketchup both use the term Face for Polygon.


IIRC, according to Arno, and former ACES blogger "Adrian Woods" (aka "Torgo 3000" ?) texture vertices (aka "T-Verts") ...may yield a 3-fold greater vertex count in a MDL when compared to just the basic wire-frame of a Model's un-textured geometry.


An archive of Adrian's Blog IMHO, is still relevant to authoring 3D content even for MSFS via DX-11 and DX-12 ...and is here:

https://web.archive.org/web/20081002061947/http://blogs.technet.com/torgo3000/default.aspx


With regard to Adrian's perspective on optimizing FS run time rendering engine performance via the 3D modeling process, see:

https://web.archive.org/web/2008100.../performance-art-3-polygons-don-t-matter.aspx

https://web.archive.org/web/2008100...rt-2-when-is-a-draw-call-not-a-draw-call.aspx

https://web.archive.org/web/2008100...o3000/archive/2007/06/01/performance-art.aspx


If / when one creates MIPMAPs for 3D models to be shown at greater distances, and one is tempted to use 1-color (or vertex color ?), see:

https://web.archive.org/web/2008100...lways-use-a-texture-and-bones-ain-t-free.aspx


Notice Adrian's mention of 4x4 blocks of solid color as a minimum texel array on a Material mapped texture sheet (...for FSX / DX-9 ! ). ;)

Notice as well, Adrian's advisement relative to UVs and MIPMAPs for model parts using solid colors mapped to a Material texture sheet. :pushpin:


But we now know, MSFS' SDK requires 8x8 texel array minimums for successful run time rendering (...even if 3D models "compile" :banghead: ):

https://www.fsdeveloper.com/forum/threads/what-texture-file-format.453697/post-891353

https://www.fsdeveloper.com/forum/threads/new-project-guide.455707/post-905366


While eventual decimation may be indicated for some highly complex 3D models, in some cases where external surfaces are the major concern, "smoothing" may also facilitate run time rendering performance via reducing the number of required surface normal calculations for lighting.


While I also have not seen info yet from a geek at Asobo providing info on "welding" relative to performance and minimizing shading artifacts with 'smoothing' for MSFS in the same detail as Aces' Adrian Woods did for FSX:

https://web.archive.org/web/2008100.../performance-art-3-polygons-don-t-matter.aspx


...the MSFS SDK does have this to say:

https://docs.flightsimulator.com/html/Asset_Creation/Textures/Textures.htm?rhhlterm=smoothing

https://docs.flightsimulator.com/ht...rame/Modelling_Process.htm?rhhlterm=smoothing


...and Blender's Manual has this to say:


https://forum.unity.com/threads/smooth-vs-flat-performance-which-answer-is-right.487865/


BTW: A nice example scenario (from 2007 !
:wizard:
) is cited by Fr. Bill Leaming (aka "n4gix") on the importance of "welding" ...here:

https://www.fsdeveloper.com/forum/threads/xtomdl-vertex-limit-problems.7831/post-51304

In light of Arno's comments, this begs a question: should we use 'sharp' Edges or "smooth" Edges ...on UV (un-)wrapped 3D models textured with 1-piece "wrap-around" Materials ? :scratchch


PS: A discussion on MCX and LODs in relation to a FS project in Blender:

https://www.fsdeveloper.com/forum/threads/lod-questions-need-clarification.451229/

GaryGB
 
Last edited:
Hi Vetle:


MSFS' LODs need not be as 'coarse' / low resolution as GEDOT photogrammetry to reduce performance hits.


I would do some tests in Sketchup's Universal Importer Ruby Plugin Script by Samuel Tallet (also author of Sketchup PBR): :idea:

https://sketchucation.com/plugin/2275-universal_importer


I would seek an update on Arno's MCX LOD creation feature (years ago he had a video showing a live 3D preview of this in MCX).

https://www.fsdeveloper.com/wiki/index.php?title=ModelConverterX_LOD_Creator_preview_video

FYI: You may play this and other Flash-based videos with Ruffle:

https://ruffle.rs/


I would welcome a better understanding of how and when one might best implement these MCX Options: :scratchch

* Drawcall batching working LOD specifies if levels of detail should be retained when drawcall batching is enabled.

* Auto generate LODs specifies if the line to automatically generate LODs file should be added to MSFS 2024 model XML files.


And of course, I would intensively review this section in the MCX PDF Manual:

13.7 Level of detail



While decimation features can greatly reduce Poly (Face) counts, it is actually vertices that "count" most for FS performance. :pushpin:


When processing a 3D model prior to export to Blender, consider use of the MCX Material Editor: MCX icon toolbar > icon_#7 :idea:

MCX icon toolbar > icon_#7 > Material Editor > [Textures] tab

MCX icon toolbar > icon_#7 > Material Editor > [Draw Calls] tab

MCX icon toolbar > icon_#7 > Material Editor > [Optimize] tab


I have not seen anything yet from an Asobo geek that elucidates techie info for MSFS in detail as Aces' Adrian Woods did for FSX:

Optimization of a 3D model for performance requires minimizing:

Draw Calls > Texture Vertices > Polygons ( =Faces @2 Triangles each )

IIUC, Blender and Sketchup both use the term Face for Polygon.


IIRC, according to Arno, and former ACES blogger "Adrian Woods" (aka "Torgo 3000" ?) texture vertices (aka "T-Verts") ...may yield a 3-fold greater vertex count in a MDL when compared to just the basic wire-frame of a Model's un-textured geometry.


An archive of Adrian's Blog IMHO, is still relevant to authoring 3D content even for MSFS via DX-11 and DX-12 ...and is here:

https://web.archive.org/web/20081002061947/http://blogs.technet.com/torgo3000/default.aspx


With regard to Adrian's perspective on optimizing FS run time rendering engine performance via the 3D modeling process, see:

https://web.archive.org/web/2008100.../performance-art-3-polygons-don-t-matter.aspx

https://web.archive.org/web/2008100...rt-2-when-is-a-draw-call-not-a-draw-call.aspx

https://web.archive.org/web/2008100...o3000/archive/2007/06/01/performance-art.aspx


If / when one creates MIPMAPs for 3D models to be shown at greater distances, and one is tempted to use 1-color (or vertex color ?), see:

https://web.archive.org/web/2008100...lways-use-a-texture-and-bones-ain-t-free.aspx


Notice Adrian's mention of 4x4 blocks of solid color as a minimum texel array on a Material mapped texture sheet (...for FSX / DX-9 ! ). ;)

Notice as well, Adrian's advisement relative to UVs and MIPMAPs for model parts using solid colors mapped to a Material texture sheet. :pushpin:


But we now know, MSFS' SDK requires 8x8 texel array minimums for successful run time rendering (...even if 3D models "compile" :banghead: ):

https://www.fsdeveloper.com/forum/threads/what-texture-file-format.453697/post-891353

https://www.fsdeveloper.com/forum/threads/new-project-guide.455707/post-905366


While eventual decimation may be indicated for some highly complex 3D models, in some cases where external surfaces are the major concern, "smoothing" may also facilitate run time rendering performance via reducing the number of required surface normal calculations for lighting.


While I also have not seen info yet from a geek at Asobo providing info on "welding" relative to performance and minimizing shading artifacts with 'smoothing' for MSFS in the same detail as Aces' Adrian Woods did for FSX:

https://web.archive.org/web/2008100.../performance-art-3-polygons-don-t-matter.aspx


...the MSFS SDK does have this to say:

https://docs.flightsimulator.com/html/Asset_Creation/Textures/Textures.htm?rhhlterm=smoothing

https://docs.flightsimulator.com/ht...rame/Modelling_Process.htm?rhhlterm=smoothing


...and Blender's Manual has this to say:


https://forum.unity.com/threads/smooth-vs-flat-performance-which-answer-is-right.487865/


BTW: A nice example scenario (from 2007 !
:wizard:
) is cited by Fr. Bill Leaming (aka "n4gix") on the importance of "welding" ...here:

https://www.fsdeveloper.com/forum/threads/xtomdl-vertex-limit-problems.7831/post-51304

In light of Arno's comments, this begs a question: should we use 'sharp' Edges or "smooth" Edges ...on UV (un-)wrapped 3D models textured with 1-piece "wrap-around" Materials ? :scratchch


PS: A discussion on MCX and LODs in relation to a FS project in Blender:

https://www.fsdeveloper.com/forum/threads/lod-questions-need-clarification.451229/

GaryGB
Hello Gary, and thanks for your reply. I am struggling abit following your input. With the current approach I am not using MCX, and Sketchup is only for modelling and setting up the texture sets. Do you have any specific advice on how to create LODs in Blender?
 
I managed to manually adjust the LODs by collapsing the mesh using the "collapse mesh by distance" function in Blender. It's manually adjusted, so I am not sure how it will look in the end, other than seeing the actual vertices reducing... .
 
Hello Gary, and thanks for your reply. I am struggling a bit following your input. With the current approach I am not using MCX, and Sketchup is only for modelling and setting up the texture sets. Do you have any specific advice on how to create LODs in Blender?

Indeed, based on what I knew of your prior workflow, I assumed you were using MCX to output your glTF after processing.

AFAIK, a greater proportion of Blender-specific workflows involving LOD generation use the Blender built-in 'Decimate' feature.


What numeric version of Sketchup (and any Ruby script plugins) are you currently using to generate the original glTF 3D models ?

GaryGB
 
Last edited:
Indeed, based on what I knew of your prior workflow, I assumed you were using MCX to output your glTF after processing.
I have gone through quite the process of learning the very basics of Blender to be able to adjust UV's before texturing in Substance painter and then final preparations in Blender before export into the sim. I was under the impression that I was not able to use MCX after texturing in Substance painter due to MCX not containing the materials value when importing and then exporting? I would love to apply all emissions and transparencys to my materials in Substance painter and then create and export the model with the substance painter textures through MCX if that is possible?
AFAIK, a greater proportion of Blender-specific workflows involving LOD generation use the built-in Decimate feature.
I tried to use the decimate feature, but I was unable to select the whole model to undergo that treatment. However, as mentioned above, I was able to "clean" the model using the collapse mesh by distance feature instead, which reduces the vertices of the whole model, and not just singular groups.
What numeric version of Sketchup (and any Ruby script plugins) are you currently using to generate the original glTF 3D models ?
I am still using Sketchup 2017 and the Khronos .gltf exporter. However, I did have more success containing the model by exporting it into Blender as a Collada file.
 
Thanks for the further clarification of your workflow.

The numeric version of Blender you are currently using would also be a particularly important consideration when exploring a workflow for this task.

I have not used Substance, so I do not know yet whether that application has a numeric version which would prove to be a consideration here.


BTW: There may be multiple "Khronos Exporter" Ruby plugins available for Sketchup 2017 to output a glTF.

Which one are you actually using, and how do you navigate to run it via Sketchup default GUI and/or Sketchup Ruby plugin GUI ?

GaryGB
 
Last edited:
I have gone through quite the process of learning the very basics of Blender to be able to adjust UV's before texturing in Substance painter and then final preparations in Blender before export into the sim. I was under the impression that I was not able to use MCX after texturing in Substance painter due to MCX not containing the materials value when importing and then exporting? I would love to apply all emissions and transparencies to my materials in Substance painter and then create and export the model with the substance painter textures through MCX if that is possible?

I tried to use the decimate feature, but I was unable to select the whole model to undergo that treatment. However, as mentioned above, I was able to "clean" the model using the collapse mesh by distance feature instead, which reduces the vertices of the whole model, and not just singular groups.

I am still using Sketchup 2017 and the Khronos .gltf exporter. However, I did have more success containing the model by exporting it into Blender as a Collada file.

Arno:

Does MCX have limitations which might result in: "not containing the materials value when importing and then exporting" ?

I am assuming Vetle refers to MCX import of Mapped PBR texture Materials and all associated UVW's / Material Properties, when he uses the term "contain" (...perhaps alternate terms may be 'retain' or 'preserve' ). ;)


IIUC, MCX Material Editor can create / save / apply Material Templates while working on ~all popular FS 3D model formats. :wizard:


I wonder if methods Substance Painter uses for PBR texturing in conjunction with Blender may be incompatible with MCX ? :scratchch


MCX' Material Editor feature video tutorial @ 1:25 Minutes:




MCX' Material Editor feature video tutorial @ 3:55 Minutes:



...and MCX' PDF Manual, as well as threads cited below, all suggest IMHO, MCX is not limited in its ability to "contain" / edit imported PBR Materials:


https://www.google.com/search?client=firefox-b-1-d&q=https://www.fsdeveloper.com+GaryGB+MCX+Material+Editor+Material+Template


https://www.fsdeveloper.com/forum/t...edited-textures-to-continue-edit-work.459431/


https://www.fsdeveloper.com/forum/t...xtures-textures-resolution.459973/post-933595

GaryGB
 
Last edited:
Thanks for the further clarification of your workflow.

The numeric version of Blender you are currently using would also be a particularly important consideration when exploring a workflow for this task.
I am using Blender 3.3 LTS.
I have not used Substance, so I do not know yet whether that application has a numeric version which would prove to be a consideration here.
Substance painter has proven to be a very viable tool indeed. I have yet to test it within the sim, but it looks a world better than the Sketchup-applied textures with my previous workflow.
BTW: There may be multiple "Khronos Exporter" Ruby plugins available for Sketchup 2017 to output a glTF.

Which one are you actually using, and how do you navigate to run it via Sketchup default GUI and/or Sketchup Ruby plugin GUI ?
Just to clarify, I do not use the .gltf exporter with Sketchup. I export the model as Collada, or even import it as a Sketchup file directly into Blender. Each has its limitations, but it works to my usage. :)
 
Back
Top