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

MSFS20 Decal materials in Blender

I also forgot to mention that the FBW exporter tries to make your pngs all dds files so you can skip the build process, but I don't think it works unless you have textconv.exe file and all the path set correctly and you need to uncheck keep textures (or something). I only use FBW to import and "see things in the default aircraft.

IIUC, you are referring to:

"the texconv command-line texture utility from the legacy DirectX SDK utilizing DirectXTex rather than D3DX":

https://github.com/Microsoft/DirectXTex/wiki/Texconv

https://github.com/microsoft/DirectXTex/releases



I believe a current FSDev consensus would have us leave PNG to DDS texture conversion in the hands of MSFS SDK FSPackageTool:

https://www.fsdeveloper.com/forum/threads/imagetool.453633/



MSFS SDK FSPackageTool performs DDS texture image Material format conversions optimally from ex: 32-bit PNG (not JPG) file formats.


Even when working in MCX, a final step will hand-off the PNG to DDS texture conversion process to MSFS SDK FSPackageTool


MCX Material Editor > {Textures} Tab > [Save Texture] button > click: 'down arrow' to access pull-down pick-list >:

* check: Ensure size power of two ...check-box

...and:

* check: Overwrite existing textures ...check-box

...updates 3D model ('URI' ? :scratchch ) path info, so that it re-maps- / and knows to instead use- ...newly-converted / re-mapped texture image Materials.




I am not certain one could rely on any 3rd party graphics application using a currently available DDS plugin (other than MCX), to properly convert texture image Materials into new multiple compressed DXT DDS formats with optimized MIPMAPs utilized variably by MSFS 2020 SDK compilers. :alert:

GaryGB
 
I am not certain one could rely on any 3rd party graphics application using a currently available DDS plugin (other than MCX), to properly convert texture image Materials into new multiple compressed DXT DDS formats with optimized MIPMAPs utilized variably by MSFS 2020 SDK compilers. :alert:
Yep don't use FBW exporter.
 
Thank you Lionheart!

I used the same settings that you showed in Blender 2.83.9 and my fasteners and rivets panel is now 3D and metallic (although some fasteners are inverted).

View attachment 77423

View attachment 77424


@TangoGolf are you ok with your settings? Are they what you want?
Inverted might be they are upside down. Just flip vertically.
With these settings, they should be the exact same as what is below them, hence they should be the exact same shine and reflection as what you have under them. They should have zero color of their own.
 
Lionheart. Yes, they work very well. I have experimented with colour to bring some albedo into the decal blend of the rivets.

I inverted my rivet strip levels in Substance Painter, which is on a separate texture sheet than my warnings and panels decal sheet, but it seems to have inverted those as well, rather than just the one texture sheet that I was working on.

I also tried running the rivet strip decal over the insignia decal to see if it will pick-up the insignia as the background colour. It does, but the rivets flash on and off over the top of the insignia.

Is this where the Draw order is needed so that the overlapping decal does not flash?
 
Lionheart. Yes, they work very well. I have experimented with colour to bring some albedo into the decal blend of the rivets.

I inverted my rivet strip levels in Substance Painter, which is on a separate texture sheet than my warnings and panels decal sheet, but it seems to have inverted those as well, rather than just the one texture sheet that I was working on.

I also tried running the rivet strip decal over the insignia decal to see if it will pick-up the insignia as the background colour. It does, but the rivets flash on and off over the top of the insignia.

Is this where the Draw order is needed so that the overlapping decal does not flash?
We have found that the Albedo is used as the Alpha, which is kind of rare and very different. Some extreme thinking outside of the box.
Wild that you have been able to make those changes to yours.
I have seen a couple of settings on Asobo materials where Draw Order was set to 9. That might be for decal related parts and would make sense. Some of the parts in the planes (like the fuselage or cabin structure) has like 8 to 15 different materials, all one part. It just occurred to me, perhaps the exporter welds them? Would be a nightmare to work with that many parts as a single part. But perhaps thats their work flow and something they are used to.
 
Thanks again Lionheart. Setting a Draw Order for the decals allows the rivet decals to travel under the insignia/placards and removes the decal blinking/flashing. I set 10 for the insignia and 8 and 9 for the rivets.

I added an Albedo layer to the rivets decal to give the effect of grime around the rivet edges.

T188 17Oct21 1404.JPG
 
Hello again:

This thread and its latter sub-topic topic on Draw Order as related to Decals in MSFS was initiated before MSFS 2024 and its associated SDK.


At the time of this thread's inception, the OP (TangoGolf), Bill Ortis and others endeavored to assign Draw Order with Decals via Blender for MSFS 2020.


In the discussion above, obscure features of 3rd party MSFS Blender exporters are discussed in the context of implementing Draw Order with Decals.


I would like to know if there has been further updates to our ability to assign Draw Order with Decals:

* via Asobo's own Blender Exporter for MSFS 2020 as included in its associated SDK

* via Asobo's own Blender Exporter for MSFS 2025 as included in its associated SDK


Those working with MCX to generate certain content targeting either MSFS 2020 and/or 2024 output, may need to be able to do this also.

Uber-geeks routinely assigning MSFS Priority and Draw Order via numbers may have a inner working knowledge to guide their use of a text format GUI.


[EDITED]

Certainly some aspects of the 'control options' now available via MSFS SDK GUI are better to have ...than nothing, even if now only in a text format.

But I envision simplification of the MSFS SDK to offer a graphical and text box-based GUI, which may increase ease-of-use for would-be FS developers.


I hope to see such a graphical, easier to comprehend method of viewing / assigning "Draw Order" for mapped Materials via MCX' Material Editor.

Perhaps a GUI 'pick-list' can assign "Draw Order" and/or "Depth Bias" of mapped Materials (like 'VTP layers' are depicted in MCX' G-Poly Wizard GUI). :idea:

AFAIK, a graphical "layer stack" concept may be added to MCX' existing Material Editor / Ground Polygon Wizard GUI's as updates for FS2Kx / MSFS PBR.


I think we need an even easier-to-follow guide- and GUI- than that found thus far in the SDK, to improve ease-of-use for would-be MSFS developers:

https://www.google.com/search?q=site:+docs.flightsimulator.com/msfs2024/+"Draw+Order"&sca_esv=c5f7ccd55e595ca8&ei=WXDjae2nBLqj0PEPi8KM0A4&biw=1088&bih=504&ved=0ahUKEwituKyIq_eTAxW6ETQIHQshA-oQ4dUDCBE&uact=5&oq=site:+docs.flightsimulator.com/msfs2024/+"Draw+Order"&gs_lp=Egxnd3Mtd2l6LXNlcnAiNXNpdGU6IGRvY3MuZmxpZ2h0c2ltdWxhdG9yLmNvbS9tc2ZzMjAyNC8gIkRyYXcgT3JkZXIiMgUQIRigATIFECEYqwJI0vsCULPGAlji8gJwBHgAkAEAmAG4AaABtAKqAQMwLjK4AQPIAQD4AQGYAgagAr4DwgIIEAAY7wUYsAPCAgsQABiJBRiiBBiwA8ICBRAAGO8FwgIIEAAYiQUYogSYAwCIBgGQBgWSBwU0LjEuMaAH6AWyBwUwLjEuMbgH2gLCBwcyLTEuMy4yyAddgAgB&sclient=gws-wiz-serp

[END_EDIT]


Where do we stand regarding ability to assign "Draw Order" and/or "Depth Bias" via Asobo's own Blender Exporter for MSFS ?


And can this functionality be implemented by MSFS developers via MCX and 3D modeling applications other than Blender 3DSMAX ?


Thanks in advance for replies to update us on this, and options for use of other tools to achieve MSFS "Draw Order" and/or "Depth Bias" control. :)


PS: While we strive to 3D model rivets, let us not forget efforts of Howard Hughes to implement "flush rivets" for impact on Aviation performance ;)

https://www.americamagazine.org/film/2005/02/07/flying-solo-3/

Film

Flying Solo: The Aviator​

by Richard A. Blake February 7, 2005

"Hughes pays little attention to financial manipulations involving millions and entrusts the running of his empire to Noah Dietrich (John C. Reilly), whom he hires on a first meeting. He does not want to be bothered with details, like buying an airline or mortgaging his business to the brink of bankruptcy to assemble a fleet of untested aircraft for it, but he pores over blueprints and badgers his engineers to reduce the drag caused by protruding rivets."


However, Howard Hughes apparently was not troubled by the cost of fuel (in his era), in part as Hughes Tool Co. made drills the oil industry uses. :twocents:

https://www.google.com/search?q=How...nCBwcyLTIuNy4yyAeHAYAIAQ&sclient=gws-wiz-serp


GaryGB
 
Last edited:
I'm no expert on this. But,

Draw Order has been a feature in both ASOBO exporters and some 3rd party ones. This was shown in a post by Bill and later verified that it "fixed" decal flashing/flickering.

If you look at the gltf text you will find

Code:
        {
            "alphaMode" : "BLEND",
            "emissiveTexture" : {
                "index" : 49
            },
            "extensions" : {
                "ASOBO_material_windshield_v2" : {
                    "rainDropScale" : 1,
                    "wiper1State" : 0,
                    "wiper2State" : 0,
                    "wiper3State" : 0,
                    "wiper4State" : 0
                },
                "ASOBO_material_draw_order" : {
                    "drawOrderOffset" : 3
                },
                "ASOBO_material_detail_map" : {
                    "detailColorTexture" : {
                        "index" : 50
                    },
                    "detailNormalTexture" : {
                        "index" : 51
                    },
                    "UVScale" : 6.900000095367432,
                    "UVOffset" : [
                        0.0,
                        0.0
                    ],
                    "blendTreshold" : 0.10000000149011612
                }
            },
            "extras" : {
                "ASOBO_material_code" : "Windshield"
            },
            "name" : "Windscreen_Windshield_int",
            "occlusionTexture" : {
                "index" : 52
            },
            "pbrMetallicRoughness" : {
                "baseColorFactor" : [
                    1,
                    1,
                    1,
                    0.019999999552965164
                ],
                "metallicRoughnessTexture" : {
                    "index" : 52
                }
            }
        },


drawOrderOffset = 3

If you have the default of 0 then the exporter will not export that extension - since the sim will default to zero

Both ASOBO exporters should have draw order feature. Use them.

You must read the SDK in detail because it talks about render passes for material types and in 2024 we have ClearCoat which is a further confusion inducing discussion.

"can these be implemented by other than Blender and 3DS MAX?" - yes if they utilized the ASOBO extensions that define it.

The ASOBO exporter that piggy backs onto the Khronos gltf exporter - uses the core Khronos gltf 2 features. But some extensions are specific to ASOBO and need extra code to put them into the gltf.

Code:
    "extensionsUsed" : [
        "ASOBO_normal_map_convention",
        "ASOBO_tags",
        "ASOBO_material_invisible",
        "ASOBO_material_blend_gbuffer",
        "ASOBO_material_environment_occluder",
        "ASOBO_material_glass",
        "ASOBO_material_windshield_v2",
        "ASOBO_material_draw_order",
        "ASOBO_material_detail_map"
    ],

The 2024 SDK [SU5 beta] has an explanation on how it is implemented. Based on mesh bounding box center and adding a bias.
DA40CGDFQ_2026.04.18_13h20m42s.png



EDIT: This is why it is important that you use the MSFS Parameters right side panel and NOT the surface panel or mod the shader nodes directly - The ASOBO exporter translates data in the panel to the gltf, and not the surface panel data or shader nodes (in most cases) - Ya, albedo base color gets through, but others do not.

Shader nodes are only there to "represent" how the material will look in the sim. - Has a minor role in how the gltf is generated.
 
Last edited:
Many thanks for the very informative reply, Ron. :)

Looks like I've some studying to do; but it may be easier to put- and keep- things in perspective, with your considerable insights so kindly shared here. :teacher:

GaryGB
 
This morning I had seen the above 'clarification' in MSFS 2024 SDK Docs that FS Z-sorting (now ?) computes Draw Order on a 3D object's datum point.

That certainly makes sense with uniformly rectangular 3D "solids", but I must say I now wonder how MSFS computes RefPts for non-uniform 3D "solids".


Are we going to need to know the actual Origin Of Axes datum point Cartesian decimal coordinates when we plan how to Z-sort a Decal ? :oops:

If so, I have Sketchup Ruby plugin scripts to compute 3D model Origin Of Axes datum point Cartesian decimal coordinates (aka FS' 3D model 'RefPoint').


Platforms / Helipads, paved surfaces on aerodromes, custom roofs etc. as SimObjects with FS 'E' Vars- not vFx- raise a question on how best to proceed.

(Some of us want to display Rain vFx longer than the reported "less-than-a-minute" on custom 3D models as well as aircraft Windshields/RWYs/Aprons).


And what about 2D "meshes" as irregular Faces of TINs, as in Terra-formed terrain having Polygons with texture Materials intended to display Rain vFx ?


Can jgrnold's Vancouver fuel barge project of "plastic" fascia as an image or 'pure color' and Alpha channel use 'ClearCoat' and Decals in MSFS 2024 ? :scratchch

https://www.fsdeveloper.com/forum/threads/how-do-i-add-night-lighting-to-one-face.460825/


Certainly there is numerous FSDEV scenarios which may benefit from both better guides / GUIs, as well as "further confusion inducing discussion." :laughing:


PS: Thanks, for quoting the MSFS SDK section; I had already done a 'Render Pass' query on the SDK in Google, yielding a "plethora" of hits to be read. ;)

GaryGB
 
Last edited:
Back
Top