• 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 Make PBR-textures react to environmental effects

Hi Vetle:

I will try to locate a MSFS default discrete flat 2D or 3D library object mapped with that Material which shows the "rain" effects tonight.


UPDATED:

A flat 2D (...but actually '3D') WaterPuddle object @ CYBD Bella Coola is a good place to start before addressing short-lived "Rain" effects:

GAYA_Prop_WaterPuddle_CYBD_Bella_Coola_MCX.jpg

GAYA_Prop_WaterPuddle_CYBD_Bella_Coola_MSFS20-1.jpg



It might also be a good idea to take a look first, at the MCX > Material Editor > Material Properties and Mapped Textures. :idea:

GAYA_Prop_WaterPuddle_CYBD_Bella_Coola_MCXMaterial_Editor+Properties-1.jpg


GAYA_Prop_WaterPuddle_CYBD_Bella_Coola_MCXMaterial_Editor+Textures-1.jpg


Perhaps WaterPuddle Library Object SimObjects may render conditionally as 'Attached Object' Effects subject to "Visibility" parameters ?

IMHO, that would have an advantage of greater realism than a "wet" attribute that disappears within seconds of local 'Rain' having stopped.

Some threads on this:

https://www.fsdeveloper.com/forum/threads/visibility.449781/

https://www.fsdeveloper.com/forum/threads/msfs-visibility-conditions.455684/

https://www.fsdeveloper.com/forum/t...s-of-simobjects-in-real-world-weather.457969/


GaryGB
 
Last edited:
Hi Vetle:

I will try to locate a MSFS default discrete flat 2D or 3D library object mapped with that Material which shows the "rain" effects tonight.


UPDATED:

A flat 2D (...but actually '3D') WaterPuddle object @ CYBD Bella Coola is a good place to start before addressing short-lived "Rain" effects:

View attachment 95349
View attachment 95350


It might also be a good idea to take a look first, at the MCX > Material Editor > Material Properties and Mapped Textures. :idea:

View attachment 95351

View attachment 95352

Perhaps WaterPuddle Library Object SimObjects may render conditionally as 'Attached Object' Effects subject to "Visibility" parameters ?

IMHO, that would have an advantage of greater realism than a "wet" attribute that disappears within seconds of local 'Rain' having stopped.

Some threads on this:

https://www.fsdeveloper.com/forum/threads/visibility.449781/

https://www.fsdeveloper.com/forum/threads/msfs-visibility-conditions.455684/

https://www.fsdeveloper.com/forum/t...s-of-simobjects-in-real-world-weather.457969/


GaryGB
I agree, and that is also an effect I want on the roof of the hospital buildings as well, keeping water to stay a bit in different parts of the uneven surface. Thanks!
 
Hi Vetle:

I will try to locate a MSFS default discrete flat 2D or 3D library object mapped with that Material which shows the "rain" effects tonight.


UPDATED:

A flat 2D (...but actually '3D') WaterPuddle object @ CYBD Bella Coola is a good place to start before addressing short-lived "Rain" effects:

View attachment 95349
View attachment 95350


It might also be a good idea to take a look first, at the MCX > Material Editor > Material Properties and Mapped Textures. :idea:

View attachment 95351

View attachment 95352

Perhaps WaterPuddle Library Object SimObjects may render conditionally as 'Attached Object' Effects subject to "Visibility" parameters ?

IMHO, that would have an advantage of greater realism than a "wet" attribute that disappears within seconds of local 'Rain' having stopped.

Some threads on this:

https://www.fsdeveloper.com/forum/threads/visibility.449781/

https://www.fsdeveloper.com/forum/threads/msfs-visibility-conditions.455684/

https://www.fsdeveloper.com/forum/t...s-of-simobjects-in-real-world-weather.457969/


GaryGB
Hello again. I like the idea of adding objects through MCX, but I am struggling with motivation to dig deep into scripts and such. If it is not possible to do this through a simple software (MCX) or texture setting I think I will have to prioritize continuing without this feature.
 
Hi Vetle:

I suggested a "Water Puddle" object initially, in order to see how its texture Materials are composed, as they display "wet" and translucent.

The 'take-away' might be they could be further modified and used as a top layer over your Helipad surface ...that changes when it rains.

Even if "wet" effect visibility dissipates to zero at a (<)1 minute interval after rain stops locally, it may be an enhancement for one's scenery.


Ideally, a combination of texture Material Properties that show only in rain can be saved to a MCX Material Editor template for a "decal".

Identifying texture Material properties to enable display of a "wet" look in rain may allow use with a custom- rather than default- 3D object.


AFAIK, after scanning many threads on scripted visibility / conditional display (and one 14 pages long o_O), it is clearly still a W.I.P. in MSFS.

Very few here have attempted to implement that option on visibility / conditional display, and scripting also is clearly still a W.I.P. in MSFS.


MSFS 2020 at RTM seemed to have no ways to implement 'scripted' visibility / conditional display, although at least (1) here asserted that not only was 'scripted' visibility / conditional display possible in MSFS RTM, but that it 'worked' ...if one modified some FS2Kx code syntax.

However, we now apparently have several ways to implement 'scripted' visibility / conditional display via differing code types.


And, the good news is, now several successfully working examples of 'scripted' visibility / conditional display are posted in the forums.

I have not personally had the time to test them, but I plan to do so 'sometime' this year for both MSFS20 and MSFS24.


It is practical to test if a MSFS default Asphalt Apron texture Material may prove adequate for the Helipad surface, if it is "wet" in rain.

Apron use requires creating (ENSX) as an Airport; otherwise a MSFS default Road texture Material may be tested, if it is "wet" in rain.


So, I would not rush to implement 'scripted' visibility / conditional display, and suggest testing if a CYBD "Water Puddle" is "wet" in rain. :)


"Plan B" would involve finding out if default Apron or Road texture Materials mapped onto a custom Helipad 'platform' ...are "wet" in rain.

GaryGB
 
Last edited:
Hi again:

Historically, textured flat 3D object "Ground Polygons" (aka G-Polys) such as a MSFS20 "Water Puddle" object above ...have been made in:

* FS8 - with SCASM / ASM

* FS9 / FSX / P3D - with MDLs

* MSFS20 - with glTFs


These custom objects created with 3D modeling applications are distinct from FS default "mesh-clinging" objects (aka 'terrain textures').

MSFS merges all terrain mesh-clinging ground textures, and limits effective run time resolution to a maximum of LOD-21 / QMID-23


However, custom 3D objects are allowed to have very high resolution textures mapped onto them (up to LOD 27 / QMID-29).

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


But, visibility distance decreases as LOD number (and texture resolution) increases. :alert:

A minimum distance in FS from a user aircraft camera to a 3D object imposes practical limits on actual run time texture resolution displayed.

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

"As for 3.5cm imagery, possible, but as mentioned with LOD Radius = 4.5 it will only show to the nose of the aircraft. If LOD Radius was to be changed to say 8, 9 or above that then extends the distance that LOD is visible away from the aircraft, which would be useful for taxiing an aircraft but not for actual flight operations."


Thus, one may not need to use hi-resolution 4K on some 3D objects unless ones user aircraft camera will be VERY close to such an object.

LOD-switching of MSFS' run time rendering engine may force display of a lower LOD (and lower resolution MIPMAP) on a 'distant' 3D object.


Predetermining a practical resolution actually needed when mapping textures onto a 3D model can help reduce package size / increase FPS.


While usually placed on flattened terrain, as 3D objects, G-Polys can have a 'Platform' attached, and may be placed 'elevated' AMSL.


AFAIK, despite minor variations in MDL code by FS version, texture Material Properties have been an integral means to display 'Wet' in rain.

Perhaps one might gain insight on common methods FS2Kx and MSFS SDK's require for Direct X display of a G-Poly as 'Wet' in rain.


Pete Beeby has been a renowned FS Community expert at working with texture Materials for years; IMHO, these threads merit review:

https://www.fsdeveloper.com/forum/threads/custom-ground-polygon-wet-surface-rain-effect.435170/

https://www.fsdeveloper.com/forum/threads/custom-global-environment-maps.435822/

https://www.fsdeveloper.com/forum/t...extures-my-last-free-gift.435331/#post-726660


NOTE: IIUC, what Pete refers to as a legacy FS 'Global Environment Map' in MSFS Direct X rendering terms is a "Cubemap".

In MSFS, this is less often subject to efforts by developers to directly change the actual images mapped onto a 6-sided 'cubemap' object.

IIUC, the MSFS SDK allows changes to Materials that modify display, rather than swapping out a cubemap and/or its own mapped Materials.

https://docs.flightsimulator.com/ht...ing/Translucent_Elements.htm?rhhlterm=cubemap

"The Glass Material

The material used for translucent/transparent elements is the Glass material preset. Do not use the Windshield preset for anything other than the windshield itself (explained here), as then you'll get rain/ice effects on your transparent surfaces !"

AFAIK, there is no reason MCX cannot feature a "Glass material preset" ('preset' = profile or template ?) to be used on custom objects. :scratchch


https://docs.flightsimulator.com/html/Asset_Creation/3DS_Max_Plugin/Materials.htm?rhhlterm=cubemaps

"Glass Parameters

(glass)

Glass Parameters


Glass Reflection Mask Factor
This value defines the strength of reflections. The environment bitmap used for reflections is not configurable and the value only has an influence on this default cockpit reflection (screen space reflections and sky cubemaps are not influenced by this). A value of 0 means no reflection, a value of 1 means maximum reflection.

  • Glass Deformation Factor​

    This value defines the strength of refraction. The environment bitmap used for refraction is not configurable and the value only has an influence on this default cockpit image. A value of 0 means no refraction, a value of 1 means maximum refraction."


Material display in MSFS is central to the discussion in this thread regarding how to implement reflections on 'Wet' surfaces.

Controlling how- when- and for how long- those visual effects display on surfaces, is central to implementing reflections on 'Wet' surfaces.

So, "as I see it", implementing reflections on a 'Wet' surface of a custom Helipad may involve use of a 'decal' layer that is only visible in rain.

GaryGB
 
Last edited:
Hi again:

In case you still are interested in finding specific default texture Materials and inspecting them as mapped in MSFS at run time, and in MCX:

Hi Vetle:

I am inclined to agree with your approach to testing whether / how one may implement "rain" effects on custom 3D library objects. :pushpin:


I would consider testing a prospective workflow, such as this one... :idea:


In a new instance of MCX:

Load a MSFS default Apron object with a default Asphalt surface texture in MCX Material Editor, and save a Material Template.

Leave that MCX Material Editor instance of a loaded MSFS default Apron object with a default Asphalt surface texture to run in Windows


In a separate new instance of MCX:

Load a copy of your custom ENSX Helipad 3D object mapped with the same MSFS default Apron object / default Asphalt surface texture

Test if the above Material Template for MSFS' default Apron object with a default Asphalt surface texture can be 'applied' to your Helipad.

Verify that all Texture Material Properties (aka 'attributes') match between MSFS' default Apron object and your Helipad surface Material.


Process the ENSX Helipad 3D object with the texture Material edit, to test if it is rendered with "Rain" effects in MSFS at run time.

GaryGB

Will try that approach. Would you happen to know where the msfs objects are placed so that I can import them to MCX?

You may wish to review my prior post in your thread ...here:

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

Regarding finding / viewing / organizing texture resources, I suggest you download ASAP and install (2) very useful (free) utilities:

Everything


Locate files and folders by name instantly

https://www.voidtools.com/

https://www.voidtools.com/forum/viewtopic.php?t=9787&sid=ed06bb7c1bb33fd8cbe412157f800b37

Find files by keyword (ex: texture types... window, glass, wall, fence, etc.) anywhere on any hard drive in your computer


XnView MP: Image management

The enhanced Image Viewer for (Windows/MacOS/Linux)

https://www.xnview.com/en/xnviewmp/

https://www.xnview.com/en/xnviewmp/#downloads


Browse with scalable thumbnail size, including within MSFS default package asset folder chains ex:

[MSFS packages folder path]\Official\OneStore\asobo-material-lib\MaterialLibs\Asobo_MaterialLib\Textures

[MSFS packages folder path]\Official\OneStore\asobo-modellib-texture\Asobo_Buildings\Texture

[MSFS packages folder path]\Official\OneStore\fs-base\texture

[MSFS packages folder path]\Official\OneStore\fs-base\scenery\Global\Asobo_Houses\TEXTURE

[MSFS packages folder path]\Official\OneStore\fs-base\scenery\Global\Asobo_POI\TEXTURE

[MSFS packages folder path]\Official\OneStore\fs-base-material-lib\MaterialLibs\Base_MaterialLib\Textures


...to mention just a few of the many occurring within the MSFS default package folder chains.


In Everything search utility:


Use ex: GAYA_ASPH as a query string, and you will find Asphalt pavement textures located within discrete \Texture sub-folders such as:

[MSFS-2020_Packages_Path]\Official\OneStore\microsoft-airport-cybd-bellacoola\MaterialLibs\CYBD\Textures


I hope this helps with some outstanding questions you might still have. :)

GaryGB
 
Last edited:
Hi Vetle:

Thanks for the status update in your original thread elsewhere:

The scenery is coming along nicely. I've decided to put any experiments about environmental effects on hold and try out different suggestions as a test-project before implementing it into the models. I need to finish ENSX first :)

The hospital, parkingbuilding and helipad have now all been adjusted to the terrain using rectangle height map - a great, powerful tool once you learn it! It takes some time adjusting but it is significantly better than the previous method of adjusting the terrain using only polygons with terraform and falloff 🤦‍♂️

Now remains only the -in developer mode- detailing, such as stairs, air vent ducts, trees and different vegetation. I will also add roads.



View attachment 95381

Your scenery already looks great, and it may be that visibility coding options / examples in MSFS20 will be more developed soon. :)

GaryGB
 
Back
Top