• 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 Blue Channel Normal value Test

rhumbaflappy

Administrator
Staff member
Resource contributor
Messages
6,215
Country
us-wisconsin
Normal textures used in the MSFS materials will alter the view in Blender. Compiled to MSFS, the blue channel makes no difference, as the channel is not used in standard MSFS materials.
Blue-channel_Normals.png

In the Sim:
MakesNoDiff.png


In Blender, the value of the Blue Channel makes a difference:
BlenderView.png


So for the best Blender view, Use a normal texture with blue-channel set to white.
 
I'm missing the point here. I thought the Stone_white version is the one we should be using. A directX normal.
The ASOBO exporter shader system has a node to "show" directX like OpenGL
 
The normal textures are all valid for for an MSFS PBR normal. But in Blender, The texture we assign as a Normal, should have a white value in the blue-channel to display as it will look in the sim. It doesn't have anything to do with DirectX or OpenGL. The Sim compiles them as all the same. The Stone_White_Normal.png is what we would best use.
Blue_Channel_Normal.blend

For an example, here's how ModelConverterX converts The DDS texture to a PNG:
blue-channel-as-black.png


The blue-channel is black, and will darken the Blender view if used as the PBR normal texture. It will compile fine, but looks 'off' in Blender.
 
Last edited:
My concern is that the ASOBO exporter has a "fix" fudge for the DirectX - OpenGL normal difference. It will invert the Green channel. So you are saying make the Blue channel all 1's no matter what their value? Maybe the exporter can be changed to "show" as all 1's (you say white)

Blue channel - no inverting
DA40CGDFQ_2023.12.21_13h27m56s.png


Green Channel is inverted


DA40CGDFQ_2023.12.21_13h28m5s.png
 
move the left side dot up in the Blue channel of the RGB Curves node

DA40CGDFQ_2023.12.21_13h36m12s.png


EDIT: updated wrong screen shot


DA40CGDFQ_2023.12.21_13h44m3s.png
 
Last edited:
It's almost easier to just use Gimp or Photoshop to fill the blue channel with white and save the texture. But I get what you mean by having the solution within Blender. It's just a 'viewer' thing in Blender. MSFS compiles the normal to DDS as a BC5_S format, which doesn't even record the blue channel. Some SDK examples of PNGs for normal textures even have some occlusion baked into the blue channel. But when compiled, it disappears.

I'm not sure what 3dMax shows, but I suspect it may be the same for normal textures. Lots of Blender users are using MCX to convert sketchup models or FSX models to MSFS, and they get tweaked in Blender many times. The weird dark look caused by the normal textures is due to Arno's export of DDS to PNG. He uses black for his converted normal blue-channel.

All of the MSFS SDK samples use white in the normal texture blue channels
 
Last edited:
  • Like
Reactions: tml
Simple change to msfs_material_function.py near line 650

Change

curveMapping = RGBCurvesNode.mapping.curves[1]
curveMapping.points[0].location = (0.0, 1.0)
curveMapping.points[1].location = (1.0, 0.0)

to

# Green invert
curveMapping = RGBCurvesNode.mapping.curves[1]
curveMapping.points[0].location = (0.0, 1.0)
curveMapping.points[1].location = (1.0, 0.0)
# Blue 1.0 to 1.0
curveMapping = RGBCurvesNode.mapping.curves[2]
curveMapping.points[0].location = (0.0, 1.0)
curveMapping.points[1].location = (1.0, 1.0)
 
Seems to me. It's MCX that needs ro change the blue channel to white, not the Asobo's exporter. Normal maps that are done correctly don't have any problems.
 
Normal maps that are done correctly don't have any problems.
Yep. but the complaint rises occasionally, and the current cure is to fix the texture. But the Asobo addon could permanently fix the problem as the blue channel is never used in the sim. Just force the channel as white. Simple.
 
Yep. but the complaint rises occasionally, and the current cure is to fix the texture. But the Asobo addon could permanently fix the problem as the blue channel is never used in the sim. Just force the channel as white. Simple.

One can say the same about MCX... it should also be simple.
 
It's getting a bit off topic. The point was to make sure your normal textures have a white value for the blue-channel or the current version of the Asobo MSFS exporter will display erroneously.
 
You stated yourself.....

I'm not sure what 3dMax shows, but I suspect it may be the same for normal textures. Lots of Blender users are using MCX to convert sketchup models or FSX models to MSFS, and they get tweaked in Blender many times. The weird dark look caused by the normal textures is due to Arno's export of DDS to PNG. He uses black for his converted normal blue-channel.

Not off topic?
 
Back
Top