• 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.

Is baking a ambient occlusion necessary if using PBR textures?

Messages
13
Country
us-texas
Total noob question I know but Is baking an ambient occlusion layer necessary if using PBR textures in MSFS? I am trying to make objects like hangers and buildings using blender 2.91.0 I am finding texturing has a very high learning curve. Should I not texture with blender and use substance painter??
thanks

Andrew Williams
 
Last edited:
Hello...

If the AO isn't baked or used, make sure the AO is white . Make sure it is not any other color but white.
 
Ok, should I even bake a AO?
Basically no or only if the user switches off ambient occlusion in the MSFS graphics menu.

The MSFS already comes with ambient occlusion and the calculations for it are taken over by your GPU. In the graphics settings of the MSFS you can set ambient occlusion in different quality levels (low, medium, high, ultra). However, the user can completely switch off ambient occlusion in the graphics menu in order to achieve better performance - AO can be at the expense of performance, depending on how high the settings are.

So much for the background to ambient occlusion in MSFS.

You will have to deal with the question of whether you want to offer your users an ambient occlusion that is baked into the textures if they switch it off in the graphics menu for performance reasons. In my opinion, a baked ambient occlusion will not be necessary, most users will probably use the MSFS integrated ambient occlusion in one of the offered quality levels :)
 
Thank you, Christian, for your helpful, and very practical response. I have often wondered about this same question, particularly after watching Bill Womack's fantastic tutorial videos, where he advocates strongly for baking AO textures in Blender. Granted that may have been for an earlier version of MSFS. Still, the fact that there is an AO slot in the Red channel of the Comp texture file that you use when exporting from Blender to MSFS at least suggests that there would be times when you would use something other than a plain white AO texture. Now that you point out that some users of MSFS might turn off AO in their graphics settings, while others (perhaps most) will leave it turned on, it is much clearer to me that a plain white AO texture is probably the right choice in most cases. Happily, that is what I already do 95% of the time. 😁
 
Thanks for all the information. Bill Womacks videos are great but he is making non-PBR materials for Prepar3d using an older version of blender. Blender 2.01.0 MSFS plugin has several PBR texture map inputs. If I baked a AO map I'm not sure how would even apply it. Like I said I am very new at this and I may just be missing a very basic understanding of materials I appreciate your advice.
 
The way I understand it is that you may want an AO map to use as a mask to paint parts of the texture that would be shaded. This could be used to add dirt and grime to corners for instance. Or, you may be baking maps from a high detail mesh to use on a low detail mesh.

Now you can also create an AO map as part of your materials. This would be used to add additional shadowing detail that isn't represented by geometry.

At the end of the day, it comes down to art direction. If you think you need the effect of AO, spend some time experimenting to see if it makes a difference.

One caveat to all baking operations is that you can't overlap UVs or the maps turn out looking odd. So if you have UVs that share texture space, it won't work well.
 
Thanks for all the information. Bill Womacks videos are great but he is making non-PBR materials for Prepar3d using an older version of blender. Blender 2.01.0 MSFS plugin has several PBR texture map inputs. If I baked a AO map I'm not sure how would even apply it. Like I said I am very new at this and I may just be missing a very basic understanding of materials I appreciate your advice.
If you want to bake an AO texture and include it in your export with the MSFS plugin, I think you need to take the AO texture as a greyscale image and use it as the Red channel in your Comp file (which is made up of Red=AO, Green=Roughness, Blue=Metallic). If you don't want to bake an AO texture, you need to use a plain white image as the Red channel in your Comp file.
 
Last edited:
hi,
Thanks for all the information. Bill Womacks videos are great but he is making non-PBR materials for Prepar3d using an older version of blender. Blender 2.01.0 MSFS plugin has several PBR texture map inputs. If I baked a AO map I'm not sure how would even apply it. Like I said I am very new at this and I may just be missing a very basic understanding of materials I appreciate your advice.
I think many people get confused about what Ambient Occlusion, AO Baking and the AO channel in the MSFS comp texture actually mean. So I´ll try to explain how I understand it, correct me if I´m wrong.

First of all, AO and AO Baking has nothing to do with PBR alone, AO Baking could be done long before rendering enginges or game engines supported PBR workflow. Take a look at the product pages of some old ORBX sceneries that were made for FSX, many of them mention baked AO as a feature, and we all know that FSX didn´t support PBR textures (in fact I believe no game engine at that time did). But what is Ambient occlusion at all and why or why not should you bake it into your textures? It depends on which game engine you are developing your models and textures for. Ambient occlusion means that an area that is "occluded" by a structure (let´s say a gabled roof that extends beyond the wall limit) will be darker than its surroundings EVEN IF THERE IS NO DIRECT LIGHT shining on it. If a direct light shone on our roof, the area below the roof would be in the shadow. But even without a direct light the area will still be slightly darker than the surrounding because the indirect, AMBIENT light that is reflected on surfaces everywhere (like the street, a neighbouring house, parked cars or whatever) is also occluded by the roof structure. The effect is much more subtle than the shadow cast by a direct light source but it is still noticable and because our eyes are used to this effect in the real world and models or objects in games that don´t have ambient occlusion rendered somehow will always look slightly unrealistic and "bland" because the impression of depth caused by AO is missing.
Now the next question is, do I need to bake AO into my textures? The answer is probably Yes if your models will be used in a game engine that DOES NOT support native, realtime AO rendering (like FSX) and No if you develop models for a game engine that DOES support AO rendering (like MSFS). If you bake AO into your textures and import the model into MSFS, the effect will most likely look exaggerated, because you have darker parts on your texture where you baked your AO and the MSFS engine will darken does areas even further by rendering additional realtime AO in that areas, because the rendering engine is unaware of your baked AO. You can sometimes see this on screenshots of sceneries that are obviously direct ports of older FSX or P3D sceneries where the developers used their old textures with the baked AO and just converted the model to MSFS. Something just doesn´t look right, the exaggerated differences in brightness gives the model a somehow cartoonish look, and that is something you want to avoid because the whole point of PBR is that materials should look as close to the real world as possible. The tutorial videos where Bill Womack recommends AO baking were made for creating P3D scenery (which also doesn´t support AO rendering in realtime) and I´m sure if Bill made a new tutorial series specifically for MSFS he would not recommend it.
As Christian already said, of course some people might turn off the AO rendering in MSFS for performance reasons, and those people might like a model with baked AO. But to be frank, those people will most likely be the minority and if you have to turn off AO rendering for performance reasons you´ll probably have to lower other settings like texture resolution or draw distance and then the overall visual quality will suffer and your baked AO will not be the major factor in this.

The next thing you asked was, if you bake AO how would you apply it? For this it´s important to understand the difference between the AO maps that Blender or Substance Painter bake based on the geometry of your model and the "micro-AO maps" that sometimes come with professionally made materials on sites like textures.com. When you hit "Bake" in Blender or "Bake mesh maps" in Substance painter, the rendering engine simulates ambient, indirect light being occluded by the mesh geometry of your model. You can then combine the baked AO map with your albedo map (albedo map means the true color information of your texture WITHOUT any influence of direct or indirect light) for example in photoshop, after that it´s not a real albedo map anymore because it contains color information influenced by light, but you could still use the texture as the albedo texture in your MSFS material settings along with your metal/comp texture and your normal map.

So now you might be wondering what the red channel of the comp texture is used for if the baked AO map can be combined into the albedo map. This is where I do things a little differently than some other developers who would suggest using your baked AO map from blender as the red channel. IMHO the red channel can be used for micro AO effects that are NOT caused by the actual geometry of your mesh but by "faked" geometry provided by your normal map. You´ll probably know that normal maps are a way of creating the illusion of depth; e.g in a rough stone wall where the crevices between the stones are a little deeper than the protruding stones itself. The normal map can create this effect without you having to actually model the real geometry of the stones. But the problem is that even those small crevices and protrusions in the wall would cause some amount of ambient occlusion between the stones in a real world stone wall, while the AO Baking can only take into account actual geometry. This is why professional materials often have their own AO maps, to simulate those micro-occlusions that can´t be created by AO-Baking. Here´s a screenshot of a PBR wall material on textures.com that shows what I mean:

Screenshot (82).png


On the bottom left of the screenshot you can see the AO map of the material. Now imagine you´d want to create a wall to be used in MSFS with this material and your model would be a simple 10 x1x0,5 m cube to represent the wall. Now you would apply the albedo map and normal map as usual, the roughness map goes into the green channel, the blue channel for metalness stays completely black because the stones are non-metallic, and the red channel would be the AO map shown in the screenshot. By this your wall would look more lifelike in MSFS even though their is no actual geometry that the rendering engine could use for rendering AO.

I hope this lengthy explanation can help you understand the basics of how AO works in different games or engines. Enjoy developing!

Cheers, Fabian
 
So now you might be wondering what the red channel of the comp texture is used for if the baked AO map can be combined into the albedo map. This is where I do things a little differently than some other developers who would suggest using your baked AO map from blender as the red channel. IMHO the red channel can be used for micro AO effects that are NOT caused by the actual geometry of your mesh but by "faked" geometry provided by your normal map. You´ll probably know that normal maps are a way of creating the illusion of depth; e.g in a rough stone wall where the crevices between the stones are a little deeper than the protruding stones itself. The normal map can create this effect without you having to actually model the real geometry of the stones. But the problem is that even those small crevices and protrusions in the wall would cause some amount of ambient occlusion between the stones in a real world stone wall, while the AO Baking can only take into account actual geometry. This is why professional materials often have their own AO maps, to simulate those micro-occlusions that can´t be created by AO-Baking. Here´s a screenshot of a PBR wall material on textures.com that shows what I mean:

This is correct. AO channel is for micro/high frequency AO that wont or cant be done by the screen space AO. There should always be an AO channel for any assets made in this game unless they are very simple surfaces, ie perfectly flat cubes.
 
Fabian thanks so much for taking the time to explain this. Its all starting to come together a bit more for me now. I will just be making objects for MSFS so I see that since MSFS has native AO it will add the effect to the geometry on its own and If I include my own AO it will just overdo the effect. I think I will practice making some objects and texturing with PBR materials right in blender and export them directly to MSFS. I just have to figure out where each texture goes. I dont see an AO or Roughness materials input in blender? I have made several objects and did simple albedo textures and imported them to MSFS and they just look OK. Once I understand that along with emissive textures I will look into Substance Painter. Does this sound logical? thanks again
 

Attachments

  • PBRtextures.png
    PBRtextures.png
    96.6 KB · Views: 193
Last edited:
I'm taking the time because I wish someone had taken the time to explain all those things to me when I started developing. I'm still a beginner but the more I do the more things become obvious.
Concerning blender, if you want to use the comp textures with the separate channels for AO, roughness and metalness, blender does not natively support this, you'd need to create the comp texture by fusing the channels in a software like GIMP or Materialize (there might be a way of doing it in blender using a separate RGB node in the shader editor but I never tried it) and then you'll need the Blender2Msfs plug in by Vitus found in this forum or even better the new version by mikea.at which adds some missing features. Once you installed it, in the material properties choose the MSFS material (standard will be OK for most situations) and then use the menu in the material properties to assign your albedo, comp and normal textures, no need to mess with the shader node tree in the shader editor, it can all be done in the menu. Another important thing is the normal map format that you use, it took me weeks to find out what I was doing wrong. Normal maps come into two formats. Direct X and open GL. They are similar in many ways but one of the color channels is flipped bewtwebb the two, I think it was the green channel but don't count on it that I remember correctly. MSFS expects normal maps to be in direct X format, if you use an open GL map the model will look OK on first glance but light will reflect strangely of the surface and things that should "go inside" will look like they're "going out" instead if you know what I mean. So if you have a open GL normal map in your material you have to invert the respective channel before applying the normal map, for example in GIMP. many resource sites show which kind of format they use for their normal maps. AmbientCG and texture haven use direct X if I'm not mistaken, and Poliigon uses open GL. Also be aware when you apply the normal map in Blender it will look wrong there because blender expects open GL normal maps. So if it looks wrong in blender it will probably look right in MSFS.

Cheers, Fabian
 
I'm taking the time because I wish someone had taken the time to explain all those things to me when I started developing. I'm still a beginner but the more I do the more things become obvious.
Concerning blender, if you want to use the comp textures with the separate channels for AO, roughness and metalness, blender does not natively support this, you'd need to create the comp texture by fusing the channels in a software like GIMP or Materialize (there might be a way of doing it in blender using a separate RGB node in the shader editor but I never tried it) and then you'll need the Blender2Msfs plug in by Vitus found in this forum or even better the new version by mikea.at which adds some missing features. Once you installed it, in the material properties choose the MSFS material (standard will be OK for most situations) and then use the menu in the material properties to assign your albedo, comp and normal textures, no need to mess with the shader node tree in the shader editor, it can all be done in the menu. Another important thing is the normal map format that you use, it took me weeks to find out what I was doing wrong. Normal maps come into two formats. Direct X and open GL. They are similar in many ways but one of the color channels is flipped bewtwebb the two, I think it was the green channel but don't count on it that I remember correctly. MSFS expects normal maps to be in direct X format, if you use an open GL map the model will look OK on first glance but light will reflect strangely of the surface and things that should "go inside" will look like they're "going out" instead if you know what I mean. So if you have a open GL normal map in your material you have to invert the respective channel before applying the normal map, for example in GIMP. many resource sites show which kind of format they use for their normal maps. AmbientCG and texture haven use direct X if I'm not mistaken, and Poliigon uses open GL. Also be aware when you apply the normal map in Blender it will look wrong there because blender expects open GL normal maps. So if it looks wrong in blender it will probably look right in MSFS.

Cheers, Fabian
Thanks, yes in my previous post I attached a small picture showing my blender materials menu with the installed MSFS plugin that was linked from this forum so I am good there. Next I am now going to just make a cube with PBR materials and see how it looks in MSFS..thanks for all your help. wish me luck Lol
 
Thanks, yes in my previous post I attached a small picture showing my blender materials menu with the installed MSFS plugin that was linked from this forum so I am good there. Next I am now going to just make a cube with PBR materials and see how it looks in MSFS..thanks for all your help. wish me luck Lol
FalconFlyer, in your previous post you said that you cannot find the materials inputs in Blender for AO and Roughness. But they are right there in the picture that you posted. The slot labelled "Metallic: (Occlusion(R), Roughness(G), Metallic(B))" is what you are looking for. Create a single RGB image that stores the AO texture (most likely a plain white image) in the Red channel, the Roughness texture in the Green channel, and the Metallic texture in the Blue channel. These three textures should all be greyscale images, and can therefore be stored in a single channel of an RGB image. You can combine them into this single "Comp" file in Photoshop, GIMP, or your image editor of choice. I use Imagemagick to do this with this simple command: magick ao.png rough.png metal.png -channel RGB -combine comp.png. Now select this comp.png file for the "Metallic (ORM)" slot in the Blender materials panel in your screenshot above.
 
Another important thing is the normal map format that you use, it took me weeks to find out what I was doing wrong. Normal maps come into two formats. Direct X and open GL. They are similar in many ways but one of the color channels is flipped bewtwebb the two, I think it was the green channel but don't count on it that I remember correctly. MSFS expects normal maps to be in direct X format, if you use an open GL map the model will look OK on first glance but light will reflect strangely of the surface and things that should "go inside" will look like they're "going out" instead if you know what I mean. So if you have a open GL normal map in your material you have to invert the respective channel before applying the normal map, for example in GIMP. many resource sites show which kind of format they use for their normal maps. AmbientCG and texture haven use direct X if I'm not mistaken, and Poliigon uses open GL. Also be aware when you apply the normal map in Blender it will look wrong there because blender expects open GL normal maps. So if it looks wrong in blender it will probably look right in MSFS.

Cheers, Fabian
As Fabian notes, the issue of OpenGL versus DirectX normal textures is an important one, and there is lots of prior discussion of this topic here in the forums. In this thread, I linked to a great technique to get Blender to flip the Green channel in a DirectX normal texture for display purposes only, so that it looks right in Blender while still keeping the texture in the correct DirectX format for export to MSFS. Give it a try sometime.
 
Thanks everyone. I watched some videos on PBR and glTF and have an understanding now of how the maps work and where they are put in the materials tab for the MSFS plugin in blender. I am going to start by using PBR textures fron texture hub and texture some simple cubes using PBR. BTW does Bill Womack visit and comment on these forums?
 
Thanks everyone. I watched some videos on PBR and glTF and have an understanding now of how the maps work and where they are put in the materials tab for the MSFS plugin in blender. I am going to start by using PBR textures fron texture hub and texture some simple cubes using PBR. BTW does Bill Womack visit and comment on these forums?
Yes he does but infrequently. I think his nick is Spotlope
 
Back
Top