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

MSFS20 MSFS SDK vs. imported textures - Textures resolution

Messages
410
Country
norway
Hello. I've previously used the in-game developer materials available to create details on the ground. My experience however is that these textures are of low resolution which renders them "useless" for close-up detailing.

I want to import pbr-materials to the sdk-developer, but I am unsure what resolution they will be. Say it's a brick texture, so I want small details and clear seperation between each brick.

Anything in particular I need to think about to make the textures crisp and clear?
 
Hello. I've previously used the in-game developer materials available to create details on the ground. My experience however is that these textures are of low resolution which renders them "useless" for close-up detailing.

I want to import PBR-materials to the SDK-developer (materials), but I am unsure what resolution they will be. Say it's a brick texture, so I want small details and clear separation between each brick.

Anything in particular I need to think about to make the textures crisp and clear?

I am still updating my knowledge base after the recent installation of SDK updates for MSFS 2020 and 2024.


Assuming you are specifically referring to further work on MSFS 'Ground' (aka "Terrain" in SDK terminology):

I do not yet see 'new' info @ MSFS 2024 Docs for Terrain / Projected vs. 3D Ground-Polygon (aka "G-Poly") texture resolution.

https://docs.flightsimulator.com/ms...ProjectedMesh_Objects.htm?rhhlterm=resolution

https://docs.flightsimulator.com/ms...jects/Polygon_Objects.htm?rhhlterm=resolution

https://docs.flightsimulator.com/ms...Objects/Apron_Objects.htm?rhhlterm=resolution

https://docs.flightsimulator.com/ms...bjects/Runway_Objects.htm?rhhlterm=resolution


https://docs.flightsimulator.com/ms...ile_Formats/CGL_Files.htm?rhhlterm=resolution


https://docs.flightsimulator.com/ms...extures/Textures/Texturing_Technical_Info.htm



IIUC, Dick cites the case for texture resolution display capability in all versions of FS: Terrain is limited; 3D model G-Polys (almost) unlimited.

We may still need special processes via MCX to minimize / eliminate flickering, shadows. etc. in G-Polys superimposed on terrain.


NOTE: 3D model G-Poly texture resolution MIPMAPs "should" be limited by LOD to the distance a user aircraft can / will view terrain.

Technically, the same is true of any 3D model, so although we may have high resolution textures available to use on 3D models, we may not actually ever see them at their highest resolution; rather, we may see a lower resolution MIPMAP image due to how FS LODs work ...as a function of viewing distance between user aircraft camera and object surface at run time.


FYI: More PBR Material attributes are displayed on user aircraft than on "static scenery" and/or G-Polys; even less is displayed on Terrain / Ground.

However, it may be more practical to "Bake" PBR renders into a 1-piece texture mapped onto a G-Poly so it 'looks' like surrounding terrain, since FS 'terrain' historically is allowed to display less texture Material attributes than 3D models or user aircraft.


But, when you get MSFS 2024, you may be quite impressed with the attributes it already makes available on Terrain / Ground ex: plowed fields.

I have not checked yet, but AFAIK, those textures may be "Baked" instead of PBR with "Ground Shadows" enabled on terrain.


BTW: Dick wrote about the option to display 3.5cm imagery / textures mapped as Materials in FSX ...here: :teacher:

https://www.fsdeveloper.com/forum/threads/3-5cm-per-pixel.21121/

https://www.fsdeveloper.com/forum/threads/3-5cm-per-pixel.21121/post-750012

As to what good this does is another question. The radius of the LOD20 wouldn't even extend beyond the nose of a large jet... you would never see it from the cockpit!

lod201-png.29822



FS' user camera display radius, decreases terrain / 3D model LODs / LOD-related resolution of MIPMAPs ...as object distance away from camera increases.


A summary of topically-related issues:

https://www.fsdeveloper.com/forum/t...otogrametry-monolith-trees.455740/post-908968


PS: On a practical basis, we may find that user aircraft camera to terrain surface distance displays no better than default MSFS Zoom Level 20 resolutions, because increasing Terrain Level of Detail (TLOD) slider past '100' is not feasible on one's GPU.

In such cases, we may wish to simply use visually sharper and perhaps "baked" 1-piece texture images at lower resolutions for terrain textures, rather than 4K PBR texture images; thus, we might also want to try using Dick's very helpful utility "MakeLevel20":

https://www.fsdeveloper.com/forum/threads/removing-docks-from-lakes-and-bays.456518/post-911171


GaryGB
 
Last edited:
The only way to get crisp ground textures is to make a model and apply that texture. Otherwise you are limited to the ground resolution.
https://www.fsdeveloper.com/forum/threads/custom-markings-using-projected-mesh.454932/#post-899831
Thanks for the clarification! :)

I am still updating my knowledge base after the recent installation of SDK updates for MSFS 2020 and 2024.

I do not yet see 'new' info @ MSFS 2024 Docs for Terrain / Projected vs. 3D Ground-Polygon (aka "G-Poly") texture resolution.

https://docs.flightsimulator.com/ms...ProjectedMesh_Objects.htm?rhhlterm=resolution

https://docs.flightsimulator.com/ms...jects/Polygon_Objects.htm?rhhlterm=resolution

https://docs.flightsimulator.com/ms...Objects/Apron_Objects.htm?rhhlterm=resolution

https://docs.flightsimulator.com/ms...bjects/Runway_Objects.htm?rhhlterm=resolution


https://docs.flightsimulator.com/ms...ile_Formats/CGL_Files.htm?rhhlterm=resolution


https://docs.flightsimulator.com/ms...extures/Textures/Texturing_Technical_Info.htm


IIUC, Dick cites the case (at varying resolutions) for all versions of FS: Terrain is limited; 3D model G-Polys (almost) unlimited.

We may still need special processes via MCX to minimize / eliminate flickering, shadows. etc. in G-Polys superimposed on terrain.


NOTE: 3D model G-Poly texture resolution MIPMAPs "should" be limited by LOD to the distance a user aircraft can / will view terrain.

Technically, the same is true of any 3D model, so although we may have high resolution textures available to use on 3D models, we may not actually ever see them at their highest resolution; rather, we may see a lower resolution MIPMAP image due to how FS LODs work ...as a function of viewing distance between user aircraft camera and object surface at run time.


FYI: More PBR Material attributes are displayed on user aircraft than on "static scenery" and/or G-Polys.

However, it may be more practical to "Bake" PBR renders into a 1-piece texture mapped onto a G-Poly so it 'looks' like surrounding terrain, since FS 'terrain' historically is allowed to display less texture Material attributes than 3D models or user aircraft.


When you get MSFS 2024, you may be quite impressed with the attributes it already makes available on ex: plowed fields.

I have not checked yet, but AFAIK, those textures may be "Baked" instead of PBR with "Ground Shadows" enabled on terrain.


BTW: Dick wrote about the option to display 3.5cm imagery / textures mapped as Materials in FSX ...here: :teacher:

https://www.fsdeveloper.com/forum/threads/3-5cm-per-pixel.21121/


A summary of topically-related issues:

https://www.fsdeveloper.com/forum/t...otogrametry-monolith-trees.455740/post-908968


PS: On a practical basis, we may find that user aircraft camera to terrain surface distance displays no better than default MSFS Zoom Level 20 resolutions, because increasing Terrain Level of Detail (TLOD) slider past '100' is not feasible on one's GPU.

In such cases, we may wish to simply use visually sharper and perhaps "baked" 1-piece texture images at lower resolutions for terrain textures, rather than 4K PBR texture images; thus, we might also want to try using Dick's very helpful utility "MakeLevel20":

https://www.fsdeveloper.com/forum/threads/removing-docks-from-lakes-and-bays.456518/post-911171


GaryGB
Thanks for the input! :)
 
Hi Vetle:

Looking at this again after a day or so, I am concerned we misunderstood your wording (some things get lost in translation). :laughing:

Assuming you referred to prior work on MSFS 'Ground' as an example of experience with in-game developer materials, and you are instead specifically inquiring about how to import PBR-materials to SDK-developer (materials) for close-up detailing on 3D models in adddition to- / other than- Ground (aka "Terrain" in SDK terminology):

Hello. I've previously used the in-game developer materials available to create details on the ground. My experience however is that these textures are of low resolution which renders them "useless" for close-up detailing.

I want to import PBR-materials to the SDK-developer (materials), but I am unsure what resolution they will be. Say it's a brick texture, so I want small details and clear separation between each brick.

Anything in particular I need to think about to make the textures crisp and clear?

So, IIUC, you wish to import PBR-Materials to the MSFS SDK-developer (materials), and you want them to be higher resolution, regardless of whether they are used on Terrain or other 3D model (sur-)Faces ...such as a Brick or Block embankment. ;)

Example: Lørenskog Heliport, Ahus

This Helipad and adjacent sloped embankment would need to be made as a 3D model, rather than as a terraformed terrain, in order to utilize high resolution texture Materials with a full set of PBR attributes.

This would involve numerous layered rows of slabs, that may require an adjusted angle for the 'Normals' relative to the vertical 3D world axis, so that lighting will properly render surface displacement mapping in incident light- and sunlight- throughout the day.

Lørenskog Heliport Ahus_Bricks.jpg


LN-OOH.jpg



My first recommendation is to take a look at what can be achieved using the app I cited previously called "Materialize", which enables one to create such details in PBR Materials that one can make via an interactive process seen in a PBR rendered live, 3D preview.

I refer to the "Materialize" app in the context of this post:

https://www.fsdeveloper.com/forum/t...ures-to-continue-edit-work.459431/post-929831



NOTE: At 5:45 elapsed time, rather than using Blender, one can use those texture Materials in Sketchup via Samuel Tallet's PBR plugin ...or via MCX





Additional YouTube videos with query string "Materialize":




BTW: I am not certain who authored this PDF from FSDEV on custom Material in MSFS, which also explains use of Materialize:

https://www.fsdeveloper.com/forum/attachments/usingmaterialsinmsfs-pdf.71722/



Also, Samuel Tallet's Physically-Based Rendering plugin Ruby script / extension uses PBR via glTFs in Sketchup 2017 or later.

https://www.fsdeveloper.com/forum/threads/complete-ensx-stavanger-ems-helicopter.459356/post-929195


Sliders in his PBR plugin GUI are comparable to what we do with PBR "factor" value settings in MCX or "Materialize" apps.

pbr-material-editor-in-english.png


Texturing used in PBR methods his plugin utilizes, are compatible to (1) way MSFS 2020 / 2024 SDK implements PBR textures.


I would be glad to discuss this method of 3D model enhancement if / when you are inclined to inquire further.


PS: Dick has previously provided multiple worked examples of how to use MSFS default PBR Texture Materials. :teacher:

Perhaps Dick might link us to some pertinent prior threads where he posted on this method ?

GaryGB
 
Last edited:
Hi Vetle:

Looking at this again after a day or so, I am concerned we misunderstood your wording (some things get lost in translation). :laughing:

Assuming you referred to prior work on MSFS 'Ground' as an example of experience with in-game developer materials, and you are instead specifically inquiring about how to import PBR-materials to SDK-developer (materials) for close-up detailing on 3D models in adddition to- / other than- Ground (aka "Terrain" in SDK terminology):



So, IIUC, you wish to import PBR-Materials to the MSFS SDK-developer (materials), and you want them to be higher resolution, regardless of whether they are used on Terrain or other 3D model (sur-)Faces ...such as a Brick or Block embankment. ;)

Example: Lørenskog Heliport, Ahus

This Helipad and adjacent sloped embankment would need to be made as a 3D model, rather than as a terraformed terrain, in order to utilize high resolution texture Materials with a full set of PBR attributes.

This would involve several rows of slabs that may require an adjusted angle for the 'Normals' relative to the vertical 3D world axis so that lighting will properly render surface displacement mapping in incident light and sunlight throughout the day.

View attachment 96620

LN-OOH.jpg



My first recommendation is to take a look at what can be achieved using the app I cited previously called "Materialize", which enables one to create such details in PBR Materials that one can innovate via an interactive process seen in a PBR rendered live, 3D preview.

I refer to the "Materialize" app in the context of this post:

https://www.fsdeveloper.com/forum/t...ures-to-continue-edit-work.459431/post-929831





Additional YouTube videos with query string "Materialize":




Also, Samuel Tallet's Physically-Based Rendering plugin Ruby script / extension uses PBR via glTFs in Sketchup 2017 or later.

https://www.fsdeveloper.com/forum/threads/complete-ensx-stavanger-ems-helicopter.459356/post-929195


Sliders in his PBR plugin GUI are comparable to what we do with PBR "factor" value settings in MCX or "Materialize" apps.

pbr-material-editor-in-english.png


Texturing used in PBR methods his plugin utilizes, are compatible to (1) way MSFS 2020 / 2024 SDK implements PBR textures.


I would be glad to discuss this method of 3D model enhancement if / when you are inclined to inquire further.


PS: Dick has previously provided multiple worked examples of how to use MSFS default PBR Texture Materials. :teacher:

Perhaps Dick might link us to some pertinent prior threads where he posted on this method ?

GaryGB
Hello again, and thanks for the input. I do believe you got it right the first time, however you are touching on some issues that is the reason for the post in the first place. I am currently between deciding wether or not to make the helipad ground as a model, or just texture it within the MSFS Developer mode.

The helipad square (the prepped ground where the helicopters sit ontop of on the trolley) is a 7x7 square with different materials, such as squared bricks, gravel, worn and new asphalt. The reason I am considering either approaches is due to the PBR-textures within the sim reacting to the environment, while the textures used on the model does not react to the environment, i.e. I loose some of the environmental detail by making the whole pad area a model instead of a "sdk-textured" apron or similar. In short; I want to avoid using the ground as a custom made model.

I do however feel that I might have to create the brick wall you show above as a model, but I think I will create it as a seperate model which I can place independently to the rest of the model. I was hoping there was a possibility to adjust the terrain and then assign it a brick texture, but from what I understand that is not possible due to the low resolution of the brick texture I want to use, so a model will have to be created instead.
 
Hello again, and thanks for the input. I do believe you got it right the first time, however you are touching on some issues that is the reason for the post in the first place. I am currently between deciding whether or not to make the helipad ground as a model, or just texture it within the MSFS Developer mode.

The helipad square (the prepped ground where the helicopters sit on top of on the trolley) is a 7x7 (Meters) square with different materials, such as squared bricks, gravel, worn and new asphalt. The reason I am considering either approaches is due to the PBR-textures within the sim reacting to the environment, while the textures used on the model does not react to the environment, i.e. I lose some of the environmental detail by making the whole pad area a model instead of a "SDK-textured" apron or similar. In short; I want to avoid using the ground as a custom made model.

I do however feel that I might have to create the brick wall you show above as a model, but I think I will create it as a separate model which I can place independently to the rest of the model. I was hoping there was a possibility to adjust the terrain and then assign it a brick texture, but from what I understand that is not possible due to the low resolution of the brick texture I want to use, so a model will have to be created instead.

You could certainly terra-form the ground so that a 3D model of the embankment and paved areas can fit onto the 'top' of that.

As long as the outer and top surface is the 3D model, you can use the full set of PBR attributes available in MSFS on it.


It's true that the MSFS default texture Materials are recommended by Asobo for best results with PBR attributes.

However, as you showed with your prior projects, one 'can' implement PBR with custom textures.

Achieving more dramatic visibility of PBR display attributes on custom texture Materials is certainly a goal we may all have.


So, I can see a search is indicated here, for info on adding more custom texture Materials to supplement the MSFS default.

I am assuming that you want to add the custom textures to the default MSFS "Materials" pick-list ?

If not, one might otherwise typically be adding custom textures to a project via a discrete 'Material Library'.


NOTE: IIRC, Dick previously posted worked examples of MSFS custom- and 'linked' default- Texture Material Library packages. :idea:


I will look into this further as my available energy permits, as I am slowly recuperating from a recent transient illness.


This will be another interesting project, with some new learning to add to your knowledge base. :)

GaryGB
 
Last edited:
You could certainly terra-form the ground so that the 3D model of the driveway and paved areas fit onto the top of it.

As long as the outer and top surface is the 3D model, you can use the full set of PBR attributes available in MSFS on it.

GaryGB
Indeed, but the quality of the texture would not be crisp and clear when usin the sdk-available materials? The textures would be obscured in such a way that it would not be possible to see individual bricks, is my understanding
 
Indeed, but the quality of the texture would not be crisp and clear when using the SDK-available materials?

The textures would be obscured in such a way that it would not be possible to see individual bricks, is my understanding

[EDITED]

Actually, MSFS' LOD / Zoom Level 20 texture resolution for "Terrain" is rather good ...when compared to prior versions of FS in potential visual quality.


In FS9 texture resolution for "Terrain" was limited to 4.8 Meters on the ground per Pixel (LOD-13)


Each version of FS increased texture resolution for "Terrain"; each LOD number increase effectively "doubles" the resolution, thus:

In FSX texture resolution for "Terrain" was limited to 1.2 Meters on the ground per Pixel (LOD-15) = 4x FS9's resolution

In MSFS texture resolution for "Terrain" was limited to 0.0375 Meters (3.75 cm) on the ground per Pixel (LOD-20) = 128x FS9's resolution

https://www.fsdeveloper.com/forum/threads/flattens.425495/post-633002


Usually LOD / Zoom Level 20 resolution "Terrain" textures are taken close up AGL, as satellite and drone aerial imagery loses visual detail over distance.

Satellite and drone aerial imagery, as good as it may be, still pales in comparison to photos of objects taken close up at/near ground level.


As I see it, your decision to use- / not use- default terrain draped with custom ground / wall textures depends on how much PBR effect you want.


By contrast, technically we "could" use higher resolution textures on 3D models; however, that may not be seen at normal user aircraft Altitudes AGL.

One can technically increase the MSFS visibility radius and 'force' ground to display a higher LOD resolution MIPMAP, but it kills FPS and looks "odd".


Generally speaking, lower resolution textures would be seen as distance between the user aircraft and ground increases (via LOD/MIPMAP switching).

[END_EDIT]


I did read a statement somewhere in early 2020 RTM SDK Docs that asserted one "should" use MSFS' default Materials for PBR.


A 3DSMAX / Blender Material set was provided for use in mapping PBR Materials, which they encouraged us to use freely.

That may have been partly because making custom PBR texture Materials for MSFS requires some complex learning.
:banghead:



AFAIK, we should be able to achieve the same- or better- texture Material display with PBR attributes, using custom Materials.

We can also make our own PBR Materials via SDK methods (...and we also need not do so via the Asobo Blender plugin).

https://www.google.com/search?q=MSF...M2LjigB9MisgcDNS44uAeKCw&sclient=gws-wiz-serp


IIUC, Asobo wanted to ID a specific set of Material attributes as a type of "Template" that works with the SDK methods for PBR.

IMHO, we can duplicate PBR 'attributes' without infringing on any rights of Asobo / Microsoft, to use MSFS glTF Extensions.


AFAIK, we can map default Materials onto a glTF 3D model, then import it into MCX to copy / save a "Material Template".

MCX Material Editor effectively copies Material settings used on the currently imported 3D model into a "Material Template".

The "Template" can be retrieved in MCX and applied to a copy of another glTF 3D model textured with our custom Material.


[EDITED]

The MCX Manual does discuss this option clearly, and Arno did explain this elsewhere in threads, and in a video.

The latest Development Release of MCX can be downloaded here:

https://www.scenerydesign.org/development-releases/


The MCX Manual is included in the root folder of that downloaded MCX Development Release ZIP file: ModelConverterX.pdf

It can be viewed in any web browser, but more options are available when viewed in Adobe Acrobat Reader DC:

https://get.adobe.com/reader/


Of particular note in sub-sections under the MCX Material Editor section:

"6.5 Material editor
The material editor is the place to look for information and to modify the materials and textures
used by the object. It shows all materials and textures of the active representation of the object.
This editor has four tabs that allow you to edit different aspects of the material. Each of these
tabs is discussed in the sections below.

6.5.1 Properties tab
The properties tab, see Figure 6.12 gives you a list of all materials in the object and allows you
to modify the properties of each of them. On the left side of the tab you see the list of materials,
while on the right side you see the properties of the selected material(s).


"There are many properties that can be edited for a material, but not all of these properties are
applicable to each Flight Simulator version. Therefore there is a filter dropdown list at the right
side of the toolbar. If you select a specific filter here, only the material properties that are applicable
for that filter are shown. The available filters are:

• MSFS2020 shows all properties supported by MSFS 2020 models.

• MSFS2024 shows all properties supported by MSFS 2024 models."

"There are common actions that you (may ?) want to perform on your materials, for example to add an
emissive texture to your material. To make such tasks easier the material editor has templates.

In the template dropdown list you can select the template you want to apply, see Figure 6.13 and
with the Apply button you can then apply it to the selected material(s). The following templates
are available:

PBR Composite Texture will add a metallic texture to your material, using the diffuse
texture name and a suffix. The default suffix is C, but this can be changed by modifying the
template in the material template editor.

1748016751027.png

Figure 6.13: Material property templates

Besides these material templates that are available by default, you can also create your own
templates. This is done in the material template editor, see Figure 6.14. This template editor
has three areas you can work in:

• The panel on the left shows you all templates that exist. Using the New button you can add
a new template, with the Remove button you can remove the selected template, and with
the Copy button you can make a copy of an existing template. If you click on the small
arrow next to the new button you will see a list of all materials in your object and you can
make a new template that uses the values of the selected material.

• The panel in the middle shows the selected template. At the top you can edit the name of
the template and below is shown a list of the attributes and values that are in the template.
With the Remove property button you can remove a property from the template.

• The panel on the right shows all material properties that are available for use in the template.
You can select a property here and also assign it the value that should be used in the template.

Once you press the Add property button it is added to your template.

Once you have made your own template, it will be available in the dropdown list of templates and
you can use it like any of the default templates are used."


A note regarding PBR "Metallic" / 'Composite' (aka "COMP") attributes:

MSFS SDK Docs does use a PBR 'Composite' or 'COMP' terminology; but they typically use "Metallic" as a PBR attribute.

https://docs.flightsimulator.com/html/Developer_Mode/Material_Editor/Inspector_Menus.htm#NRM

https://docs.flightsimulator.com/html/Asset_Creation/3DS_Max_Plugin/#material-types

https://docs.flightsimulator.com/html/Introduction/#occlusionr-roughnessg-metallicb

"Occlusion(R) Roughness(G) Metallic(B)
The occlusion-metallic-roughness texture. The metalness values are sampled from the B channel. The roughness values are sampled from the G channel. The occlusion values are sampled from the R channel. These values are linear. If an alpha channel is present (A), it is ignored for occlusion-metallic-roughness calculations."


IIUC, MSFS SDK "Material Types" are various 'Templates' / 'Profiles' / 'Presets' for Material rendering, but are not "Textures"

IMHO, they may be comparable to MCX Material Editor 'Templates' / 'Profiles' / 'Presets' for Material rendering.


Tools at FSDEV forums can combine output of Materialize texture Materials to make a "Composite" ('O-R-M') PBR Material.


PS: Dick has posted regarding the difference between how "COMP" and "O-R-M" is used in MSFS for Ground versus 3D models:

https://www.fsdeveloper.com/forum/t...-when-i-set-a-comp-texture.458407/post-923515

[END_EDIT]

GaryGB
 
Last edited:
I did read a statement somewhere in early 2020 RTM SDK Docs that asserted one "should" use MSFS' default Materials for PBR.


A 3DSMAX / Blender Material set was provided for use in mapping PBR Materials, which they encouraged us to use freely.

That may have been partly because making custom PBR texture Materials for MSFS requires some complex learning.
:banghead:



AFAIK, we should be able to achieve the same- or better- texture Material display with PBR attributes, using custom Materials.

We can also make our own PBR Materials via SDK methods (...and we also need not do so via the Asobo Blender plugin).

https://www.google.com/search?q=MSF...M2LjigB9MisgcDNS44uAeKCw&sclient=gws-wiz-serp


IIUC, Asobo wanted to ID a specific set of Material attributes as a type of "Template" that works with the SDK methods for PBR.

IMHO, we can duplicate PBR 'attributes' without infringing on any rights of Asobo / Microsoft, to use MSFS glTF Extensions.


AFAIK, we can map default Materials onto a glTF 3D model, then import it into MCX to copy / save a "Material Template".

MCX Material Editor effectively copies Material settings used on the currently imported 3D model into a "Material Template".

The "Template" can be retrieved in MCX and applied to a copy of another glTF 3D model textured with our custom Material.


[EDITED]

The MCX Manual does discuss this option clearly, and Arno did explain this elsewhere in threads, and in a video.

The latest Development Release of MCX can be downloaded here:

https://www.scenerydesign.org/development-releases/


The MCX Manual is included in the root folder of that downloaded MCX Development Release ZIP file: ModelConverterX.pdf

It can be viewed in any web browser, but more options are available when viewed in Adobe Acrobat Reader DC:

https://get.adobe.com/reader/


Of particular note in sub-sections under the MCX Material Editor section:

"6.5 Material editor
The material editor is the place to look for information and to modify the materials and textures
used by the object. It shows all materials and textures of the active representation of the object.
This editor has four tabs that allow you to edit different aspects of the material. Each of these
tabs is discussed in the sections below.

6.5.1 Properties tab
The properties tab, see Figure 6.12 gives you a list of all materials in the object and allows you
to modify the properties of each of them. On the left side of the tab you see the list of materials,
while on the right side you see the properties of the selected material(s).


"There are many properties that can be edited for a material, but not all of these properties are
applicable to each Flight Simulator version. Therefore there is a filter dropdown list at the right
side of the toolbar. If you select a specific filter here, only the material properties that are applicable
for that filter are shown. The available filters are:

• MSFS2020 shows all properties supported by MSFS 2020 models.

• MSFS2024 shows all properties supported by MSFS 2024 models."

"There are common actions that you (may ?) want to perform on your materials, for example to add an
emissive texture to your material. To make such tasks easier the material editor has templates.

In the template dropdown list you can select the template you want to apply, see Figure 6.13 and
with the Apply button you can then apply it to the selected material(s). The following templates
are available:

PBR Composite Texture will add a metallic texture to your material, using the diffuse
texture name and a suffix. The default suffix is C, but this can be changed by modifying the
template in the material template editor.

View attachment 96627
Figure 6.13: Material property templates

Besides these material templates that are available by default, you can also create your own
templates. This is done in the material template editor, see Figure 6.14. This template editor
has three areas you can work in:

• The panel on the left shows you all templates that exist. Using the New button you can add
a new template, with the Remove button you can remove the selected template, and with
the Copy button you can make a copy of an existing template. If you click on the small
arrow next to the new button you will see a list of all materials in your object and you can
make a new template that uses the values of the selected material.

• The panel in the middle shows the selected template. At the top you can edit the name of
the template and below is shown a list of the attributes and values that are in the template.
With the Remove property button you can remove a property from the template.

• The panel on the right shows all material properties that are available for use in the template.
You can select a property here and also assign it the value that should be used in the template.

Once you press the Add property button it is added to your template.

Once you have made your own template, it will be available in the dropdown list of templates and
you can use it like any of the default templates are used."


A note regarding PBR "Metallic" / 'Composite' (aka "COMP") attributes:

MSFS SDK Docs does use a PBR 'Composite' or 'COMP' terminology; but they typically use "Metallic" as a PBR attribute.

https://docs.flightsimulator.com/html/Developer_Mode/Material_Editor/Inspector_Menus.htm#NRM

https://docs.flightsimulator.com/html/Asset_Creation/3DS_Max_Plugin/#material-types

https://docs.flightsimulator.com/html/Introduction/#occlusionr-roughnessg-metallicb

"Occlusion(R) Roughness(G) Metallic(B)
The occlusion-metallic-roughness texture. The metalness values are sampled from the B channel. The roughness values are sampled from the G channel. The occlusion values are sampled from the R channel. These values are linear. If an alpha channel is present (A), it is ignored for occlusion-metallic-roughness calculations."


IIUC, MSFS SDK "Material Types" are various 'Templates' / 'Profiles' / 'Presets' for Material rendering, but are not "Textures"

IMHO, they may be comparable to MCX Material Editor 'Templates' / 'Profiles' / 'Presets' for Material rendering.


Tools at FSDEV forums can combine output of Materialize texture Materials to make a "Composite" ('O-R-M') PBR Material.


PS: Dick has posted regarding the difference between how "COMP" and "O-R-M" is used in MSFS for Ground versus 3D models:

https://www.fsdeveloper.com/forum/t...-when-i-set-a-comp-texture.458407/post-923515

[END_EDIT]

GaryGB
Thank you for that extensive feedback. Appreciate it! I have not really experimented with the different texture attributes within a model, besides adjusting its transparency, reflection and emission. I've also only really added normal textures as I have not had much success adding metal and AO-maps. Either too dull, or looses its reflection. But I will try to experiment with this a bit more with the ENLX. I will start texturing on that project soon.

I've decided to go with your suggested approach, to model the brick wall to the west, just outside the helipad. I want this part in more detail that what is currently available within the MSFS SDK materials.
 
Last edited:
Hi Vetle:

You are certainly off to a good start with the ENLX Helipad buildings shown here: :)

https://www.fsdeveloper.com/forum/threads/msfs-2020-runway-approach-lights.459915/post-933450


I was able to find the local Lidar DTM Elevation data, and I am tinkering with it to see if it may prove easier to use than certain plugin Ruby scripts to create a uni-planar (sur-)Face for a 3D model extension to the building / Helipad to make a multi-angular arc-shaped embankment in front of the ENLH Heliport premises.


Arno's example stadium grandstands with sloped / curved uni-planar (sur-)Faces may be a practical way to create the embankment Faces as a 3D model:

https://www.fsdeveloper.com/forum/threads/mcx-light-pointing-the-wrong-way.459899/post-933477


I think the texture image Materials that would be mapped onto the Face of the multi-angular arc-shaped embankment in front of the ENLH Heliport premises can be pre-processed in Materialize, as they have no geometry within the "frame" which Materialize uses to display / modify PBR of the texture image(s).

The sheer complexity of geometry in making countless brick Faces as discrete 3D objects embedded in a base of (concrete ?) masonry would be a FPS killer, so I think Materialize processing of displacement and lighting / shadowing of brick texture Material image PBR attributes might be ideal for that uni-planar (sur-)Face embankment.


FYI: I use the term "uni-planar (sur-)Face" to distinguish a consistently co-planar smoothed Triangulated surface from a non-smoothed Triangulated one with "crazy" Normals and Shading.

My experiment with the DTM mesh is to ID the 'directional breakpoints' for the multi-angular arc-shaped embankment to make a smoother (sur-)Face.

GaryGB
 
Last edited:
Hi Vetle:

You are certainly off to a good start with the ENLX Helipad buildings shown here: :)

https://www.fsdeveloper.com/forum/threads/msfs-2020-runway-approach-lights.459915/post-933450


I was able to find the local Lidar DTM Elevation data, and I am tinkering with it to see if it may prove easier to use than certain plugin Ruby scripts to create a uni-planar (sur-)Face for a 3D model extension to the building / Helipad to make a multi-angular arc-shaped embankment in front of the ENLH Heliport premises.


Arno's example stadium grandstands with sloped / curved uni-planar (sur-)Faces may be a practical way to create the embankment Faces as a 3D model:

https://www.fsdeveloper.com/forum/threads/mcx-light-pointing-the-wrong-way.459899/post-933477


I think the texture image Materials that would be mapped onto the Face of the multi-angular arc-shaped embankment in front of the ENLH Heliport premises can be pre-processed in Materialize, as they have no geometry within the "frame" which Materialize uses to display / modify PBR of the texture image(s).

The sheer complexity of geomeyry in making countless brick Faces as discrete 3D objects embedded in a base of (concrete ?) masonry would be a FPS killer, so I think Materialize processing of displacement and lighting / shadowing of brick texture Material image PBR attributes might be ideal for that uni-planar (sur-)Face embankment.


FYI: I use the term "uni-planar (sur-)Face" to distinguish a consistently coplanar smoothed Triangulated surface from a non-smoothed Triangulated one with "crazy" Normals and Shading.

My experiment with the DTM mesh is to ID the 'directional breakpoints' for the multi-angular arc-shaped embankment to make a smoother (sur-)Face.

GaryGB
I've concluded with the approach to not build individual 3d models of the bricks, but use textures instead since the quality of the SDK-available textures are of low resolution. I am fine with that approach, but I will see how it works out making the brick wall as a model. It seems immediatly to be a complex model, bent both veritcally and laterally. But that is a different topic I will have to come back to. Thanks for all your input.
 
I've concluded with the approach to not build individual 3d models of the bricks, but use textures instead since the quality of the SDK-available textures are of low resolution. I am fine with that approach, but I will see how it works out making the brick wall as a model. It seems immediately to be a complex model, bent both vertically and laterally. But that is a different topic I will have to come back to. Thanks for all your input.

Hi Vetle:

Just to clarify the complexity of info above, 3D model textures can be (almost) unlimited in resolution, but geometry of countless separate brick Faces can be a FPS-killer (and probably invokes Moire' anomalies), so one may wish to 'bake' a 1-piece texture derived via a 3D rendered scene for the bricks.

Alternatively, PBR with displacement of Brick image areas in Materialize may 'appear' as separate 3D Faces for Brick areas


I have not yet innovated a way to show mapped texture resolution labels on MIPMAPs of LODs displayed at user aircraft viewing distances in MSFS.


However, there are practical limits of resolution that may actually be seen in MSFS at run time via LODs / MIPMAPs as a function of viewing distance.

Thus, if we 'slew' up to a 3D model we "may" see the highest resolution MIPMAPs; but in 'flight' activities, we may never get close enough to see them.


For public distribution, most end users are unlikely to get close enough to see the highest MIPMAP texture resolution, so we may not need to use Hi-Res.


I have a few Sketchup free plugins I am testing to quickly extrude a 3D wall in its real world curved shape / orientation both vertically / horizontally. ;)

GaryGB
 
Last edited:
Back
Top