MSFS Blender materials ignoring roughness/metallness (ORM) information. I need a way to re-use materials. Any ideas?

I’m having a problem with my materials - many of them are ignoring the ORM
composite image data, i.e. roughness and metallness, when used from Asset
Browser or linked in any way. If I create a new material and import 3 images
(Diffuse, ORM, Normal) it’s working in MSFS. However if a material is taken
from the Blender 3.1.0 Asset Library, or taken from the object pasted form
another file, or migrated with a new Asobo Exporter addon, it seems that the
roughness is ignored, material looks dull and not shiny. However a new
material from the same images looks great. I’m using Asobo Exporter (latest
version) and Blender 3.1.0 I need a working way to re-use materials instead of
having to create them every time for every Blender file. See the screengrab
from MSFS: the orange paint in the right shape is from the library and is
dull, and the new material (lower left) based on the same images and in every
way identical, is shiny and textured. They are exactly the same, except from
one is fresh, and another is from the Asset Library. Yellow paint (upper left)
is also dull - it’s taken from Assett Library (migrated to Asobo Explorer in
the library file).

I was using
Blender2MSFS before, and I noticed a similar problems. Now it’s back wiht a
vengeance in the Asobo Exporter. Sometimes just reopening images in a material
seems to help. I compared nodes and the yellow and orange paint have a
slightly different node that splits the ORM (Occlusion/Roughness/Metalness)
composite image: This is the migrated MSFS material:
And this is the newly created
material: First has the red node
with “color” input, and the second had blue node with “image” input. They are
otherwise identical. I tried to manually replace the red nodes with blue nodes

  • which I used for orange paint material on the right of the image, hoping
    that it would fix the possible migration error, but it stays dull, although it
    does fix its appearance in Blender (in Shading view). Both are equally shiny
    in Blender. But not in MSFS. Also, see the blue paint material, based on same
    images except for the blue diffusion image: again, it looks correct in the
    MSFS material properties of Asobo Exporter, but it’s dull in Blender and MSFS.
    After I manually replace the node with the “image” input one in Blender
    material, it looks shiny in Blender:
    But when I export, then Build
    project in MSFS, then close the project and reopen and load in the Project
    Editor, the blue material is still dull in MSFS. However newly created orange
    that seems the same in shader editor is perfectly shiny (left half of the
    flower), while the migrated yellow from the Asset library (on the right) is
    also dull. So manually
    replacing the node with the shader editor fixes the look in Blender, but not
    in exported MSFS material. I have many dozens of materials, it’s not feasible
    to created them from scratch for every model. I need to use them from the
    Asset Library (or pasted from other files, like I did before Asset Browser was
    implemented in Blender). But I don’t know what else to do… All advice
    appreciated…

This is all due to a breaking change in Blender as you have found out. The new
comp node is an image node with R G B output. The ASOBO exporter and the Vitus
legacy exporter are looking for the old Separate Red Green Blue node. So you
must stay at blender 3.1.0. Once you go to blender 3.3 this breaking change
affects all MSFS exporters. If you have saved your blend file from 3.3 you
will have to delete and redo all your materials. ( I believe most of the
values stay for factors and values etc.) but you will need to check them all.
It’s very difficult to go back from 3.3 to 3.1. Not even sure file Append will
work.

A note to all stay on blender 3.1.0 and the legacy exporter.

It seems you built this in blender 3.3 and are now going back to 3.1? correct?

I just tested by creating a new material in Asset Library and using it from
there VS creating a new material inside the Blender file. It only works within
the Blender file! Every time a material is used from Asset Library or possibly
via copy-paste (not tested yet with the new Exporter) the ORM is ignored
despite being present in the settings. The same bug was there with
Blender2MSFS Exporter but it was occasionally fixed by reloading images…
Something must be differen in how materials are exported based on whether
material is new or pasted/linked from Asset Library or other file.

The file used in Asset Library was built in 2.8+ but worked on 3.3 and
resaved, and the current project was started in 3.3 Just replacing the node
doesn’t work in MSFS (but it fixes the look within Blender!), and even
creating a new material in Asset Library and using it in my project file
doesn’t work (see my reply below). It seems that only a completely new
material works, not even new material via Asset Library. I wonder what could
ne the issue that I could correct instead of recreating every single new
material for every new object every time, which is insane…

Also, I’m using Blender 3.1.0 and if I create a new material, it uses the blue
node with Image input, not the red node…Same happens if I open an old file
(made in v2.82) and migrate material via button in new Exported - I get
“image” splitter node.

Are you manipulating any values for nodes in the node shader window? If so do
not do this, as the values may not be transferred back to the Material panel.
Only manipulate the values from the MSFS panel. Also do not change any values
in the Surface panel. Again they don’t get reflected in variables that are
used in the export. If you do manipulate any shader node values double check
that those values are seen in the MSFS material pane. Is this your own asset
library you made. Or is is from a downloaded source? My git has a test fork of
ASOBO exporter using blender 3.3 - feel free to test if you like.
<https://github.com/ronh991/glTF-Blender-IO-MSFS/tree/Blender-3.3-comp-node-
rename>

The legacy exporter named it’s nodes in a specific way. You will see the
shader screen is quite different between ASOBO and legacy exporter. We decided
to add a legacy to ASOBO migrate button to help with the people that had older
projects and wanted to use the ASOBO exporter. The migrator is good but it is
not perfect. You must double check it did the migration to your satisfaction.

I tried manipulating the nodes as a powwible workaround, but it doesn’t work.
Whatever I do in the MSFS material pane doesn’t help. New material has ORM
working, but the material from Asset Library doesn’t. Yes, I created the Asset
Library and all materials from scratch.

And thank you for the git, I’ll check it out. Can you investigate what can be
happening with Asset Library materials? Something is not transferring to the
MSFS pane correctly, and although it looks right, the roughness and metallic
(and most likely occlusion) do not transfer to MSFS.

The actual migration is actually good, it’s not at fault, this problem is
happening with new materials too, if they are created in a separate Asset
Library file and are used through the Asset Browser. I tried all 3 options -
linking and both appending options, but all materials always lose ORM
appearance despite looking perfectly fine in the MSFS pane in Blender.
Everything seems to be linked, but just isn’t showing up in MSFS. I had the
same exact problem long ago, with Legacy exporter and Blender 2.85 - as long
as the material is freshly created in the same Blender file it was working,
but if the object is it’s pasted/appended from another file, its materials
lost ORM appearance, on those objects or any others. This is the same or very
similar problem, happening with Asset browser, but also when pasting/appending
objects from other files, only now with new Eporter and Blender 3.1

I am not to familiar with asset libraries. Is this a model lib file added to a
scenery project. Can you give me a simple step by step you use to create an
asset lib? Just so I am reproducing your issue.

Sometimes when copying between files the gltf settings node is duplicated
which causes the sim to not use the comp texture. Setting it back to the
original makes the material work again. Could be worth checking.

That is extremely interesting! Yes, you are correct, I checked materials
dropped from Asset Browser and they default to duplicated settings:
I will test with MSFS. If indeed
this is what’s preventing the exporter from exporting comp data correctly,
this is a huge find! I will report back after testing.

Unfortunately that doesn’t seem to work. comp texture is still MIA after I
reset this to the first settings in several materials.

I tried your GIT fork in Blender 3.3 but get an error upon exporting, related
to displacement:

Too bad. That’s the fix that works for me when I have those symptoms.
Hopefully you’ll find your cause!

With Pleasure. In Blender 3 they introduced Asset Library. Basically you
designate a folder in settings that contains your normal Blender file(s), in
which you can mark materials and objects as an “asset”. They become available
in the new Asset Browser in any file and you can drag and drop materials or
objects. Long overdue feature. It all seems to work fine in Blender, and MSFS
pane is preserved in dropped materials and the shader tree looks OK. But on
export to MSFS comp texture is basically ignored. Nothing I tried can fix
that, short of creating a new material from scratch. I tried all 3 modes in
Asset Browser (link, append, append with reuse data). You can see details
abouyt Asset Browser here:
https://docs.blender.org/manual/en/latest/editors/asset_browser.html?highlight=asset

I think I now have a workaround! For anyone stuck this could be valuable - I
wasted 2 days trying to overcome this problem. Turns out there are 2 separate
issues: 1. The new Exporter presents a button “Migrate Material” when the
material was originally done in a legacy exporter. The material that’s created
after that looks OK on the first glance, but if the same material is created
from scratch you can see a difference in the RGB splitter node.

This is the migrated MSFS material, it has “Color” as input in the splitter
node:

And this is the newly created material, it has “image” input in a splitter
node:

I can copy this node from
a fresh material and paste into the broken material, and reconnect the nodes
in the same way. This fixes how the material looks inside blender. However
this still doesn’t fix the export, comp texture is still missing in MSFS. 2.
After dropping the material from Asset Browser into your current project file,
I have to revisit the shader tree and check that the gTLF settings has not
created a new setting, and if it did to revert it to the first original
settings: This is the object
dropped from the Asset Library with its materials with the first step done,
but not the second one: After
those 2 steps are both done, the exported result has comp texture working
correctly:

oops I forgot to push that fix. look at ASOBO issues if you know how to edit
python code. <https://github.com/AsoboStudio/glTF-Blender-IO-
MSFS/issues/164#issuecomment-1284697169>

This is excellent - appreciate the work you did on tracking this down. This
information should be added to the ASOBO Blender exporter readme.
@EPellissier
@FlyingRaccoon