Opacity maps are not being applied in-game

So I've styled up some objects in 3DS Max and I had to use an opacity map for them. My render in 3DS max looks how I want it to look in game, unfortunately due to some compatibility issues somewhere that is not what is happening in game.

These light poles look like this in the 3DS Max render after I have applied a P3D material with a diffuse texture bitmap and an opacity map to them:

The material editor shows I am using a Prepar3D material to ensure compatibility with textures and whatever: (I used the alpha channel of the bitmap to define opacity)

Yet even with compiling with the latest versions of 3DS Max 2018 and Prepar3D v4 SDK, my stupid little light poles look like this in game:

I would likely attribute this to user inexperience, as I have only been in the game of 3D modeling for a few days and really have barely any clue what I am doing. But I thought this should work, because it works in 3DS max's render output. It's almost as if my material edits are not being applied or something. So hopefully someone who knows what they are doing can clue me into what I need to do differently.


Resource contributor
The opacity map? Are you referring that as the alpha channel of the diffuse? It might be the settings to the albedo map needs to be set differently ( transparency, masked or opaque).
Wow, you seem like you know what you are talking about. Could you elaborate more? I'm really new and not entirely sure what you're asking.

Not sure if you can tell but in my second screenshot the opacity map is indeed set to the alpha channel of the diffuse. What else do I need to do?


Resource contributor

Well... There isn't an Opacity Map within P3Dv4.4... I'm assuming that this is for the version of P3D that you are using considering you mentioned PBR.

I suggest you read on how 3DS Max needs to be set up here for P3D v4.4

3ds Max
3ds Max Setup
3ds Max Tutorial

3ds Max Tools Overview
PBR Materials
Wha??? I can't use opacity maps in P3D??
Upon further investigation I have given up trying to get 3DS Studio Max and/or Prepar3D to decode the alpha channel within the original textures and just created an grayscale that is pure black and white and set it to my be my opacity mask as a seperate texture file. This actually works the best within 3DS Studio Max as it accurately depicts the transluscant nature of the model in both the viewport and the render (while previously my other ideas resulted in it working in one or not the other).

The only thing that confuses me is... I have used this texture file (.dds) in my materials manager in 3DS Studio Max and deliberated did not include it as a texture file in the directories ModelConveterX uses when testing to see how things might look, and ModelConverterX does not complain that it is missing this texture. Nor did it mention it loaded it either. As you can expect, because it is neither a) looking for the texture or b) applying the texture the issue of having those black planes around my object persists.

This complete disregard for the .dds I have created as my opacity map is aligned with your statement above that potentially Prepar3D's engine does not support opacity masks. I do doubt this though because I see opacity mentioned many times on the SDK documentation...

Nonetheless, what would you recommend to rectify these black planes? I also am not even close to the amount of technical proficiency to start using PBR by the way, and this is all just basic modeling, none of that fancy stuff yet.
I'm using the most recent version of the SDK, V4.4. Along with the latest version of 2018 3DS Max (2019 isn't supported yet by Lockheed Martin!)


Resource contributor

Opacity maps as you are using it within 3DS Studio Max is not used in P3D... as a separate entity or texture. The term "opacity map" is not used in the context that you have used it within P3D, it's a part of a diffuse or albedo map (within the alpha channel), though within the P3D SDK (in association with 3DS Studio Max) there is a setting that tells P3D what type of the diffuse (the alpha channel) is... This is why I mentioned in reading the SDK - specifically in the "PBR Materials" section. Is the alpha channel within the diffuse an Opaque, Translucent, or Masked? It sounds as if it is "Masked" in this case.

MCX isn't complaining because it's reading it from within the diffuse map... not as a separate entity or map. Also, at this time, MCX can't show or give you an idea of how it would look within P3D, not sure if you were aware of this.

The Black areas within your pictures usually mean that the texture being used cannot be found (usually not within the same folder as the other textures).
Ok thank you, I will read up about that in the SDK. I see now that it isn't complaining because using a separate opacity map is not a feature. Thanks, I will see if I can resolve it with this info. I do understand that MCX isn't an entirely accurate representation but it is correct in the sense the black textures are there.

The textures can be found, that is the color of the texture file I have mapped there. I bet the planes would be blue if I changed the texture color, but the problem is they shouldn't be showing regardless because I want them to be 100% transparent.

I am not using PBR materials at the moment but I will see if the SDK can help me here now that I know where to look.