P3D v4 MCX texture converter

#1
Hi @arno
i found that the mcx texture converted has a normal map to FS normal map feature and that is solving many problems for me :)

can you plz tell me what is that feature doing to my txeture ? i found that it move the Red channel and delete the blue one, is that all it does ? i want to set those settings in my 3D programme so i can skip converting textures when trying to test small changes

thnx in advance :)
 

Pyscen

Resource contributor
#2
Hello

Before MCX, they do have to be converted to a Normal Map first. meaning they have to be desaturated and converted to a normal map through either GIMP or Photoshop (or through Substance Painter). Afterward converting to a Normal Map they have to be converted again as below.

MCX is doing this on Normal maps -> to make them Bump Maps [used for FSX, FS-SE, and P3D (all versions)]:
  1. Copy the content of the red channel to the alpha channel
  2. Make the red channel black
  3. Invert the green channel (if I remember right this is optional? May not need to be Inverted)
  4. Make the blue channel white
 
Last edited:

arno

Administrator
Staff member
FSDevConf team
Resource contributor
#3
Hi,

Doug already explained it. The FS rendering engine uses a different convention for the different channels than the plugins in paint programs that make the normal maps. So that function does all the conversions needed to get them in the right format for the rendering engine.
 
#4
Seeing that we are talking P3D V4, I notice that the V4 SDK no longer uses the term 'bump' maps, it just refers to 'normal' maps. So it may just be possible that the V4+ rendering engine is now able to handle ordinary normal maps as well as the 'bump' maps typical of FSX.

For the PBR'd F-16 compare these two files:

\Airplanes\F-16A\texture.BlueCamo\F-16C_2_BUMP.dds
\Airplanes\F-16A\texture.BlueCamo\F-16C_2_T_normal.dds

The mapping is identical but the format is different. The _normal version is clearly related to a PBR specific material because it is accompanied by files suffixed _albedo and _metallic. Question remains why have the _bump at all? To cater for earlier, non-PBR V4 versions?
 

Pyscen

Resource contributor
#5
I haven't noticed any changes pre se in v4.4, but I haven't looked at v4.5. The naming differences maybe for future purposes and/or PBR or not within the settings of.

The only way to check is to do a normal/ bump map through ImageTool for v4.4, v4.5 and FSX and compare the size and the color channels ( Red, Green, Blue and the Alpha channels) between the 3. They all require the vertical flip though, I believe.
 
#6
Okay; things look like this to me.

The common or garden 'normal' has height information in the RGB channels, but no alpha -- cp. "60ft_pusher_drone_Normal" in V 4.5, or indeed any 'normal' texture created by the Nvidia plugin. Seems P3D 4.5 can handle this format w/o any problems. Perhaps they have added it for pre-checking its visual effect in 3ds Max (which I don't have).

FSX legacy 'bumps' have height info in channels, Green, Blue, and Alpha, Red is black. Not sure if we should use this in the 'normal' map slot of PBR any longer, we'll have to test this.

Strange thing is, the F-16 _normal texture mentioned above does have an Alpha and a black Red, and still isn't quite like an ordinary FSX _bump.
 

Pyscen

Resource contributor
#7
Hello,

Going back and looking at some of the "_Bump" and "_Normal" in v4.5, I'm can not see any changes really or compare the 2 ("_Bump" or "_Normal") because none of the texture files have both a "_Bump" or "_Normal" of the same prefix name (ex. such as an F-16C_2_BUMP and an F-16C_2_Normal, only has an F-16C_2_BUMP).

But, looking at F-16C_2_BUMP and say, F-16C_2_C_normal - I'm seeing an alpha channel in both with information, along with the Green and Blue Channel. In Both cases the Red channel was Black.

Going by this: It appears that the same format or workflow is the same - only using different names (normal or Bump).

_________________________________

The 60ft_pusher_drone_Normal appears to be in the wrong format completely for Bump/Normal Maps. For instance, it's in DXT1 and has Mipmaps - 10 to be exact. Therefore, it hasn't had the channels changed at all. Looks like a mistake to me or an "Ooops".

Corrected my misspoken words again!
 
Last edited:
#8
No, look at the two files I mentioned in my earlier post, they have the same mapping but are NOT identical. Load them in Photoshop, compare side by side, and you will see.

Edit, just checked in MCX's material editor, the F-16C_2 material actually only references the _bump file. The _normal file isn't referred to at all as far as I can see. So its use is unclear.

However, the material called F-16C_1_albedo uses F-16C_1_normal.dds, which it looks just like an ordinary bump. Whereas the pusher drone references an alpha-less _normal texture. Some discrepancy here; my guess is the rendering machine can handle both formats irrespective of name.

If ordinary normal maps don't use the alpha channel then there is no reason not to code them as dxt1, in fact it would even be logical to do so.

Bump maps not only can have mipmaps but are now supposed to have them pace the SDK, see this thread https://www.fsdeveloper.com/forum/threads/bump-mapping-and-mips.443025/

(which I grant I myself initially doubted, but don't any more.)
 
Last edited:

Pyscen

Resource contributor
#9
I misspoke again... for some reason, I keep thinking mipmaps in bumps will crash. :banghead:

But, all other bump maps and normal maps are DXT5 (only within the texture, 60ft_pusher_drone_Normal is not). It appears that they didn't use ImageTool to create it at all (at least not the conversion part or workflow.)

the ones you mentioned earlier:

\Airplanes\F-16A\texture.BlueCamo\F-16C_2_BUMP.dds
\Airplanes\F-16A\texture.BlueCamo\F-16C_2_T_normal.dds

Both of them are in DXT 5 format and the Red Channel in each are Black. Meaning they were each converted using ImageTool (by normal means). They appear to be the same texture yet with different names though. I'm not an aircraft designer, so I can't tell you if there are differences in the "_T" and one without it.

You might be right but the only way we will know for sure is to get an answer from LM, but since it is the only one that is not in DXT5 format and has mipmaps, it could be by design or a mistake - leaning towards mistake. Do you see "bumps" on this 1 drone within P3D? I don't, to be honest.
 
Last edited:
#10
I agree. I find it difficult to see what LM are doing with their 'normals'. It looks like the proverbial can of worms.

To top everything, in sim I cannot see any bumps at all, neither on the F-16 nor on the drone. Can you? Maybe I am missing a setting....
 

Pyscen

Resource contributor
#11
Hello...

I do see some "bumps" in the F-16 when the sunlight hits it just right, but on the larger Drone, I do not. Again, maybe because of the "mistake" made in creating the Bump map. The larger Drone should be easier to see since it doesn't have a "_bump" but a "_normal" suffix in the filename (not flipping back and forth due to a setting - maybe).

Of course, one can strengthen the bump or normals, if it isn't seen.
 
#12
Yes, it seems to depend on the lighting conditions.

Did a simple test: created a fairly brutal map in Photoshop using that program's 'patchwork' pattern; exported via the Nvidia normal filter plugin with the result shown in the pic below, left. No alpha was created by the plugin. Saved as dds dxt1 no alpha, overwriting "60ft_pusher_drone_Normal.dds" in the drone texture folder. In sim, patchwork normals do show up despite missing shine or reflections (below, right), proving that V 4.5 PBR can handle these 'non-bump' normals just fine -- no need to push them through imagetool or anything.



 
Last edited:

Pyscen

Resource contributor
#13
Hello

Very interesting and LM didn't tell anyone about it! LOL! I'm trying to remember when this Drone first appeared now? Was it v4.5 or earlier (in v4.4)? I guess I need to start backing up the Simobjects (Airplanes) folder before upgrading the "Install_Content.msi" (I believe that is the correct section for - and not the "Install_Scenery.msi").

Looks Like I finally got my wish though, making "normal" maps like the rest of the 3d Gaming Industries.

Wondering also, if a bench test on memory was done as well, on the differences or comparison of the 2?
 

Pyscen

Resource contributor
#19
Thanks Rick...

So the change to the normal map occurred in v4.5. So, normal maps can now be DXT1 (not ImageTool or channel arrangement required) or DXT5 (using ImageTool).
 
Top