Critical problem with normal maps in MSFS (Blender workflow)

There is something very wrong with NORMAL textures in MSFS while exporting Blender models (or with me, doing it wrong). I have finally nailed down the consistent problem I had with different-looking parts of my models with one and the same baked material. As soon as I disconnect normal MSFS material node everything looks just great (but flat of course, no lighting changes. no “bump” texture appearance). Please advise how to overcome this! It happens in most or all my models and it’s very visible on corrugated metal materials because of their very prominent striped normal map.

Here is how the model appears in MSFS - look at the difference between the main wall part and top part just under the roof. Those are different faces, but baked normal texture image matches perfectly (I checked) and looks seamless adn all the same color in Blender.

Same happens on the side (thin stripe) and back with the hangar door etc. - different faces look different color. When I move the sun around, lighting changes differently on them. But as soon as I cut the node connection between normal map image and normal input and re-export, the problem disappears, but of course the wall is flat now. You can see that texture on those faces matches perfectly, and they were baked one right after another (diffuse and normal).

This is how it SHOULD look, but of course it should not be flat.

This is what I cut (see screenshot below). You can also see a part of the baked normal image. Believe me it matches fine. I have not edited anything after baking and assigning a new “baked” material as “MSFS Standard” and loading two baked images to diffuse and normal slots. That’s allI did. The node map below is the automatic result from assigning MSFS material. I did not use any composite maps for metallic, roughness etc. - just set fixed valies via sliders.

Any help or ideas on what to try veru much appreciated. My airport is ready, but this is holding me off… Not sure if it’s MSFS itself, SDK or Blender bug. And if not a fix, a workaround would be great. I don’t know what else to try…

Couldn’t it be a modeling issue? Some of the faces could have their normals pointing inside and it would make the normal map and its shading look inverted.
Maybe try this in Blender:
Edit mode, select all faces of your model, recalculate normals outside (shift N).

I made sure by both recalculating and checking the visual cues (blue-red) and my normals are all correct.

I was digging up texture files from other add-on airports (Asobo and Orbx) and their Normal texture files look nothing like mine. No wonder I’m having problems. So what am I doing wrong?
Here is a cmall chunk of a typical Normal file from Orbx airport (or Asobo - they all look the same):


They are all red and green mostly, with some yellow, and black empty areas, and it looks like channels are all different, and this is not revolving around a common bumps, like what’s generated by Photoshop or by Substance Painter. And this is not a “composite” texture, definitely a “Normal”. My files, generated in Blender by baking, all look like this:


They are all purple, with shades of purple and cyan offset in specific directions. All my Normal textures are like this. They are nothing like others. I tried reversing the green channel like someone mentioned, but it didn’t help, and also it didn’t change the look much - just black empty areas became green. So this all hints to me somehow not getting the Normal textures right. What am I doing wrong and what would be the right workflow for Blender?

Here is another example of a proper Normal file CHARLES_DE_GAULLE_02_NORMAL.PNG.DDS - again, nothing like mine. All green and red and they are completely independent of each other.

In a corresponding piece of an Albedo texture you cen seee that green designate Normal structure, some ridged bumps, while red is something else entirely. It’s nothing like a normal Normal texture, which revolves around same features in all channels. Can anyone please solve this puzzle for me?

Based on the hunch that just green channel works like Normal map, I deleted other channels and reloaded it in Blender to export to MSFS. Now, it did not fix the problem in MSFS, but in Blender the hangar sudennly looked the same weird way as in MSFS! It means that whatever is happening in MSFS it only gets a single channel, or not all channels of a Normal map. Because with missing RGB channels the look in Blender is exactly the same! It means MSFS is NOT reading the purple normal map correctly. Something else has to be done! Now, how can I figure out what???

Sorry, I don’t actually have experience with editing these normal maps, but that doesn’t even look like sensical data. Can you check the actual formatting and bit depth of the channels in the “normal” normal maps using something like the Nvidia DDS tool? I’m throwing out guesses that the normal map is something like A8L8 (two 8 bit channels) instead of a regular RGBA with 8 bits per channel or something?

I don’t know. But I found out that now that I can see the most problematic faces in Blender, if I rotate their UV mapped face 180 degrees they become the same as the others. So UV mapping plays a role there. It doesn’t fix the problem completely if i rotate every bad face manually, things still look fishy in MSFS, so I still suspect the directions of normal maps are not right anyway.

Did anyone figure out this difference in normal maps? Every tool I try outputs the purple style and all the maps I’m hoping to replace are the green and red style? What is the usual proceedure for turning a grey scale height map into the green and red maps? The flat areas need to be black in MSFS, if it’s a purple color the shading/lighting is all messed up. I have tried making the blue channel black, but still the shading is very wrong with the normals for areas I want to be flat being skewed by the mid range colors GIMP and Nvidia Texture Tools are giving me?

I use GIMP for the textures. I’m satisfied with the output of blender using the MSFSTookkit as shown in Flying Theston’s videos - particularly this one: [026] PBR Texturing Models In Blender - Microsoft Flight Simulator 2020 SDK Tutorials - YouTube He’s using a different image tool, but the steps are the same.

And if the texture you downloaded didn’t have a normal map, I’m happy using GIMP with the following instructions from Jen Abbott (not FS related, but useful): How to make texture maps in GIMP for use in Blender | Blender 2.8/GIMP 2.10 Tutorial - YouTube

Regarding the earlier comments in this thread, all my normal texture files look the standard blue with some highlights in pink like Flying Theston’s video.

I’ll check those links in more detail when I have a chance, but off the bat, the normal map tutorial in the info listed on the youtube page is one I’ve seen and it’s showing the “purple” style output that in my experience does not give usable results in MSFS. This link:

Conveniently the preview image on that link shows the “purple” output that looks very broken when applied in MSFS. And that page links to 9 year old Gimp plugins for a very old version of GIMP.

Color/Albedo maps I have no trouble with, those I’ve been making (.dds files) with the Nvidia Texture Tools after saving them out of Gimp or Photoshop. It’s the height map to normal map conversion I can’t get to appear anything like what I’m finding in working MSFS assets.

This should be a simple 2D conversion. Maybe Blender can do that, but I don’t want to go having to apply this to geo and a material in gimp and bake out maps. Though I may have to try that. I’ll need to learn the ins and outs of Blender anyways. I have decades of experience in Maya, but Blender is pretty ■■■■ new to me.

Ok, I’ll shut up until I at least watch that Blender tutorial.

I wonder if the downloaded Gimp “Normalmap” plugin is the problem. I am on the 2.10.x version (recently downloaded) and the normal map does -not- show up on “Filters” - “Map” menu. I found it by searching for a command in the Help menu. It found it even though I did not install any plugin. It is possible the built in feature has better output than the downloaded plugin you linked to. So in Jen’s video tutorial, I just search for the Normal tool while she uses Filters->Map->Normal map. Just a thought.

Jen also points to a “9x9” option that is not there in the out-of-the-box Normal Map tool. The only variable I might change is labeled “Scale” which defaults to 10. 10 is pretty good. If I want the pattern to get more rough, I up the Scale (more pinks). If I want it a little more smooth, I lower the Scale (less pinks).

Hi guys, so what i have read so far was, that msfs do not use normal maps when baking. Instead you have to create a composite material with rgb (red, green, blue) channels.
Normal works only with single texture rendered as far as i know for now.

I‘m on it to figure it out how it works. Created my first few objects for an airport and hand textured it. Today i will try and create the comp material with gimp or photoshop.

Edit: I think height maps are also not used in msfs. It‘s all about the composite.