TEXTURING TECHNICAL INFORMATION
This section outlines some basic guidelines for creating good looking textures for use within the materials used to texture your 3D models. These are not absolute rules, but we highly recommend that you try to ensure that your textures follow them.
Colour Padding
When creating your Albedo Textures you should attempt to always "pad" your textures with an appropriate colour instead of (for example) using a 0 alpha background:
This is very important to prevent "bleeding" when the textures are viewed from a distance. For example, in this following image you'll see some trees that have whitish borders around the leaves beside ones that look correct. These badly textured trees use an albedo map with the leaves texture on a transparent white background, which the GPU then interpolates into the leaves themselves causing this texture bleed effect:
Ensuring that your albedo textures are padded with the appropriate colour around the main shapes ensures that issues like this won't happen.
Quality
It is recommended to use a lossless format at 16
bits per pixel, such as the 16 bpp *.PNG
format. This is especially important for roughness, metal and/or occlusion maps, where Microsoft Flight Simulator 2024 remaps the data to a curve to have more precision in the dark areas before compressing (which is then remapped again later in the shader).
It is very important to note that when exporting *.PNG
, some image edition tools write a black color to fully transparent pixels instead of preserving the original color. This can cause color bleeding in mipmaps or at runtime when doing bilinear interpolation, and you should check and ensure that this is not the case for the program you use to edit textures. Note that if your program does do this, there are usually tools and plugins available to fix it - for example Adobe Photoshop has the free, open-source, plugin SuperPNG which has a variety of options for exporting *.PNG
images.
Finally, when creating your textures, it is important to note that input texture dimensions must be a multiple of 4
pixels and be at least 8
by 8
pixels. Textures do not have to be square, as long as the sides adhere to the multiple of four rule.
Smoothing Groups
Wherever you have a smoothing group change, you should have a UV seam with space between the shells. This will allow you to bake normals down onto a lower res mesh without bad edges being rendered in your normal map.
See this image for a better visual explanation:
Reviewing Texture Quality And Memory Usage
When reviewing the texture quality in Microsoft Flight Simulator 2024, it is important to be aware that the in-game graphics settings can affect this. The highest quality settings are meant for users with a top tier GPU, which typically have 8GB+ of GPU memory. The lowest quality settings are meant for users with a low-tier GPU, which could have as little as 2GB of GPU memory.
Microsoft Flight Simulator 2024 will automatically reduce the texture resolution of textures loaded into memory based on these in-game texture quality settings. This saves on the texture memory used for those with less GPU memory available, but will result in a more "blurry" display when viewing up close. The table below describes how the texture quality level modifies the texture dimensions:
Quality | Albedo | Others |
---|---|---|
ultra | 1x | 1x |
high | 1x | 0.5x |
med | 0.5x | 0.5x |
low | 0.5x | 0.25x |
A typical texture budgets for aircraft (including cockpits) is between 150MB for small aircraft and 600MB for large aircraft. Since the *.ktx2
format is a GPU-ready format, the size of the textures on disk is more or less what the game will be using in texture memory. Thus, the texture memory used by your add-ons can easily be determined by looking at the package output's texture folders.
To help with debugging memory usage you have the follwoing two tools in DevMode:
- SimObject Stats - see the different statistics associated with a SimObject
- The Statistics Profiler - see the different statistics associated with scenery and airport objects