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

MSFS Material Colors not Displaying in MSFS

Messages
7,450
Country
us-illinois
Why do colors of untextured materials not display on objects in MSFS as designated and shown in MCX? All untextured materials are showing as bright white. This is on .gltf objects converted from .mdl objects using MCX.

Hi Art:

I 'may not' yet have found a SDK work-flow recommendation that you refer to above, as the online documentation Search box yields 219 hits. o_O

A phrase Rick quoted appears below a SDK section on "Landscape" objects ...but may still apply to glTF 3D models which you refer to in your OP: :scratchch

Remove textures you may not need at a distance, such as a normal map, and try very hard to avoid creating extra textures at a smaller resolution, this will just increase total memory usage. Prefer simply removing textures whenever possible.


https://docs.flightsimulator.com/html/index.htm#t=Asset_Creation/3D_Models/Landscape/Landscape_Elements.htm&rhsearch=Remove textures you may not need at a distance&rhhlterm=remove textures texture need distance

"LANDSCAPE ELEMENTS

This section of the documentation is designed to help you create proper landscape models, specifically for Airports and Scenery, although most of the general principles outlined here are also applicable to aircraft. On this page you can find some general information about how to best create these different model elements, and you can find additional information specifically about LODs here:

Also make sure to have read over the modelling General Principles before creating anything.

Optimization Recommendations​


The following are a set of recommendations that we make to ensure that your models for scenery and airports are as optimised as possible:
  • Share textures between different models and model LODs.
  • Remove textures you may not need at a distance, such as the normal map.
  • Use appropriate texture resolutions for your textures. It is usually not necessary that all textures in a material have the same resolution.
  • Use metallic/roughness/etc… material settings instead of textures when possible.
  • Prefer low-resolution textures for LODs below the approximate 5% "minSize". if you really do need a texture, try to keep this as 64x64px or smaller.
  • Use vertex color whenever you can! Microsoft Flight Simulator uses a single vertex format, so using vertex color is essentially free. Because of this, low-resolution LODs often do not need a texture at all.
  • Minimize skinned mesh usage. Compared to regular objects, they consume a significant amount of CPU and memory in Microsoft Flight Simulator. Use them only if mesh deformation is necessary. Skinning can often be avoided on lower resolution LODs.
  • Split your environment when the asset you are exporting covers an area bigger than approximately 300x300m.
  • Flatten hierarchies whenever you can to reduce the node count, ideally under 300x300m.
  • All scenery models (and their LODs) - with the exception of objects that aren’t important for collision - will need colliders. You should prefer using the collision shapes (rectangle, cylinder, sphere) over collidable meshes/materials. This is explained in more detail here: Collision Handling"

PS: AFAIK, both Art and Rick are familiar with FSDS and MCX.

Does either Art or Rick not use MCX as an integral part of their work-flow to export FSDS 3D models into MSFS ?


IIRC, MCX 'automatically' converts imported "colors" into a texture material.


However. IMHO, we need Arno to give us a "definitive answer" to: :pushpin:

* Does MCX only convert imported "colors" to a texture material 'automatically' when DrawCall Minimizer is manually utilized ?


And regarding MCX implementation of Vertex Colors:

Is a MCX work-flow implemented yet for Vertex Colors in glTF exports for MSFS ?

* If so, would a 3D model processed by MCX implementation of Vertex Colors ex: burned into a texture ...still have to be manually re-textured ?





Additional Google search results on the latter query above:

https://www.google.com/search?client=firefox-b-1-d&q=site:www.fsdeveloper.com+ModelConverterX+MCX+colors+to+texture+Material


GaryGB
 
Last edited:

rhumbaflappy

Administrator
Staff member
Resource contributor
Messages
5,945
Country
us-wisconsin
MSFS does not support polygon color, MCX can not change this fact.
MSFS does support texture-less objects, and in fact encourages it.

Untitled.png
 

Attachments

  • no-colorTextured.zip
    3.9 KB · Views: 83
Messages
637
Country
unitedstates
MSFS does support texture-less objects, and in fact encourages it.
Thanks Dick. Your help to me in my early early efforts at using LODs in MSFS pointed out removing the textures in the final LOD, and I was successful in doing that. It is now using the latest MCX build that I am having issues. An example is attached. In MSFS the hanger becomes entirely bright white when viewed at a distance while this LOD does not display so in MCX. Textures were applied to all surfaces to eliminate this problem at closer viewpoints. The problem is that any untextured surface displays bright white in MSFS when my object is generated from the current version of MCX with the settings I have assigned.
 

Attachments

  • sample.zip
    427.3 KB · Views: 85
Messages
7,450
Country
us-illinois
Hi again:

FYI: Whether / how MCX' current build 'works' on MSFS-compatible 3D models with LODs in a "Library" is awaiting a reply from Arno ...here: ;)


GaryGB
 
Last edited:

=rk=

Resource contributor
Messages
4,475
Country
us-washington
MSFS does support texture-less objects, and in fact encourages it.
it is becoming increasingly clear that MCX does not support it, in its current state and my early tests were compiled through MCX.

I’d generated my own test object for this occasi, but alas MSFS does not support predicable functionality and has decided to quit altogether.
The only reasonable suspect is a minor Windows update, which probably obligates driver updates.

My apologies for contributing to the confusion.
 
Messages
458
Country
us-ohio
And to vent some of my MSFS frustration, when I start the sim now it says I need to install a mandatory update from the Microsoft Store, but in the store no update is shown of course. Looks like I might need to do a clean install and waste even more time on downloading and installing MSFS. I think I prefer the situation with FSX where we just have a service pack once or twice.
you have to install the xbox app, and the way i did it was to open the xbox app and the microsoft store together at the same time and then the store will see the update, restart and the update should be there- on the store page.
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,883
Country
netherlands
Hi Arno. Has there been any progress on this issue? If you need any examples or other input, let me know. Ambient materials are displaying fine.
Nope, I am still struggling to update MSFS to the latest version and until that is done I can't start it to test anything.
 
Messages
637
Country
unitedstates
I am still struggling to update MSFS to the latest version and until that is done I can't start it to test anything.
I went through the same struggle but got through it by installing the xbox app as suggested above and also in instructions I was led to within the MSFS forum.
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,883
Country
netherlands
I tried to install that app this evening as well, but all I get now is an error that I can't login to XBox Live (either in MSFS, in the app or in the browser).

I am probably getting old, but why do I need to login to XBox anyway? I bought a sim, I just want to have it installed on my PC and be able to run it. I don't want to login every time or have the game tell me that my version is out of date and I need to install. They should have called it a download simulator, as we spend more time downloading than flying this way...
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,883
Country
netherlands
OK, after another reboot of my system the MSFS update is now finally downloading. If I let the content download run overnight I might even have it finished by tomorrow :) (let's hope)
 
Messages
458
Country
us-ohio
just thinkin here....

the GLTF importer-exporter plug-in for SketchUp that Gary shared says this in the instructions...

"With the glTF exporter, you can take your Sketchup creations into Microsoft Paint3D for painting. (It does the texture mapping for you, so just start painting!)."

just a thought...

with MSFS when you export textures from SketchUp->MCX->MSFS textures that are tiled come out as stretched and broken (crazy looking) in the sim.
so to combat that problem, I've been painstakingly going back over each model before I export it and making hundreds of "make unique" textures, this is - so far- the only way I know to create models in SketchUp with textures that look good in MSFS.

if you import the model into paint 3d, and it wraps the textures (not gonna use the paint or nothing, just import - export) if it would create a texture sheet upon export, would this be the best way to cut down on all the textures and combine them into one sheet, vs. hundreds of little textures? but the problem I see is that it creates a save file that SketchUp cant read. BUT...it can be imported into blender..im just not into using blender yet. anyone wanna comment on this idea? hope I'm not going too far off post here.
 
Messages
7,450
Country
us-illinois
just thinkin here....

the GLTF importer-exporter plug-in for SketchUp that Gary shared says this in the instructions...

"With the glTF exporter, you can take your Sketchup creations into Microsoft Paint3D for painting. (It does the texture mapping for you, so just start painting!)."

just a thought...

with MSFS when you export textures from SketchUp->MCX->MSFS textures that are tiled come out as stretched and broken (crazy looking) in the sim.
so to combat that problem, I've been painstakingly going back over each model before I export it and making hundreds of "make unique" textures, this is - so far- the only way I know to create models in SketchUp with textures that look good in MSFS.

if you import the model into paint 3d, and it wraps the textures (not gonna use the paint or nothing, just import - export) if it would create a texture sheet upon export, would this be the best way to cut down on all the textures and combine them into one sheet, vs. hundreds of little textures? but the problem I see is that it creates a save file that SketchUp cant read. BUT...it can be imported into blender..im just not into using blender yet. anyone wanna comment on this idea? hope I'm not going too far off post here.

Interesting idea. :)

I'll also have to install / test Microsoft Paint3D for painting, then see what it can output. ...as a comparison with Sketchup PBR plugin. :scratchch


Finding an easier way to derive a texture sheet / atlas / 'composite texture sprite' is something we need for FS Development via Sketchup. :pushpin:

I wonder if ex: MCX' DrawCall Minimizer may be adapted for a 'output texture sheet / atlas' feature that vertically flips / converts to PNG ?

Having MCX Material Editor detect when mapped texture dimensions are not at least 8x8 / divisible by 4 is also now required for MSFS. :idea:


BTW: (More on-topic out of respect for art209's inquiry here): :rolleyes:

If we do not use minimum 8x8 pixel textures on Faces, does MSFS default to "White" MIA Material rendering mode for a 3D model ?

Info on the whys and wherefores as to use of "Powers of Two" in pixel dimensions of texture image materials in 3D modeling graphics: :idea:



https://gamedev.stackexchange.com/q...lways-square-powers-of-two-what-if-they-arent

https://docs.microsoft.com/en-us/wi...1-devices-downlevel-intro?redirectedfrom=MSDN

https://devblogs.microsoft.com/dire...edback-some-useful-once-hidden-data-unlocked/


BTW: I have yet to find where Asobo allegedly cited 'Powers of Four' in an early interview about MSFS-2020 development. :scratchch

Rather, we might best interpret that info as referring to a "Multiple of Four" rule

I can only refer to this recent updated statement in the MSFS-2020 SDK online docs:


"TEXTURES

This page is for general guidelines related to creating your own textures for add-ons that will be used in Microsoft Flight Simulator. In principle, the game supports all texture formats that can be loaded through the WIC (Windows Imaging Component) and also supports the DDS file format. For glTF models, as per the specification, *.JPG and *.PNG are supported.

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.


The closest I have found thus far, to an explanation of the "multiple of 4 pixels" reference is this discussion of DX-12 MIPMAPs:

https://devblogs.microsoft.com/dire...edback-some-useful-once-hidden-data-unlocked/

"Granularity

Feedback granularity is controlled through a mip region. The smallest possible mip region is 4×4, and they are powers of two. If you have a mip region of 4×4, then it’s as if “every texel in the feedback map corresponds to a 4×4 area in the texture it’s storing feedback for”.

If you use a small mip region, you get more fine-grained information but the feedback maps are a bit bigger. If you use a larger mip region, you get less-detailed sampler feedback information, but save a bit on memory."


One might wonder if DX-12 development underway for MSFS-2020 might be a basis for future-proofing all 3D content for optimal performance:



This may correlate with the general optimizations required for efficiently rendering MIPMAPs and LODs cited in the MSFS-2020 SDK Docs:



GaryGB

GaryGB
 
Last edited:
Messages
458
Country
us-ohio
@GaryGB
too bad as far as I can see, …that the gltf exporter from the SketchUp plug in doesn't produce a gltf with textures, and all the normal gltf files... (that could then be opened in mcx)... but it can be opened in a viewer, so SOMEWHERE the textures are stored. wonder if that information could be extracted somehow.
wonder if we could find one of these plug-in makers and see if they could create such a thing..
 
Messages
7,450
Country
us-illinois
@GaryGB
too bad as far as I can see, …that the gltf exporter from the SketchUp plug in doesn't produce a gltf with textures, and all the normal gltf files... (that could then be opened in mcx)... but it can be opened in a viewer, so SOMEWHERE the textures are stored. wonder if that information could be extracted somehow.
wonder if we could find one of these plug-in makers and see if they could create such a thing..

There are already other free glTF exporters available in addition to that by Sketchup PBR plugin author Samuel Tallet (aka "Samuel T" / "Centaur").

I'll test the ones I know of, to see which Sketchup exported glTF's can be read by the current Build of MCX, then I'll post my results.


Again, I would welcome having an admin move a few of the above latter posts to their own meritorious thread(s). ;)

GaryGB
 

=rk=

Resource contributor
Messages
4,475
Country
us-washington
with MSFS when you export textures from SketchUp->MCX->MSFS textures that are tiled come out as stretched and broken (crazy looking) in the sim.
so to combat that problem, I've been painstakingly going back over each model before I export it and making hundreds of "make unique" textures, this is - so far- the only way I know to create models in SketchUp with textures that look good in MSFS.
I believe this is a consequence of the MSFS developers using relaxed constraints for UV mapping and it only seems to affect Sketchup artists using the projection technique.

When you create a package for Microsoft Flight Simulator, models are processed by the package tool into compatible gLTF files that are optimised for use within the simulator. Part of this optimisation process involves storing the UV data as 2-byte floating point numbers, instead of regular floats, to save on memory usage. What this means is that UVs will have less precision, and if you have a UV that tiles too much, this lack of precision will become very noticeable.

Basically what seems to happen, is that Sketchup allows one to project an image, exactly as if it were placed in front of a slide projector. One could imagine that a very coarse outline, can immediately resemble a very detailed copy of an F-15 fighter plane using a properly projected image. The problems arise toward the "horizon" of the model, the angle is too flat and MSFS skews the render.

The solution of making unique textures, has the end effect of moving the projector directly over the polygon(s), by skewing the texture preemptively, thus leaving the render time mapping relatively simple. It seems like the number of created textures could be prohibitive and one should be able to use an editor, like Photoshop, to stitch all the unique textures together, with the idea that the completed texture could cleanly "wrap" the model, like an orange peel. Another solution would be to project a series of textures, instead of just one, so each projection remains relatively perpendicular to it's area of coverage.

Textures used as materials do not have this issue, because each instance is a direct rubber stamp of the original, only scaled. However, dirt and wear, like exhaust port stains and leading edge paint fading, is harder to represent.

They should have called it a download simulator, as we spend more time downloading than flying this way...
💯!
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,883
Country
netherlands
I believe this is a consequence of the MSFS developers using relaxed constraints for UV mapping and it only seems to affect Sketchup artists using the projection technique.
MSFS is storing the UV coordinates in an optimized (e.g. less memory usage) format after the package tool has processed the glTF files. But because a half precision floating point number is used, this also means that for UV values that are outside of hte normal 0 - 1 range, you very quickly start to see the effect of less precision. That is what is causing the distortion and jitter. The only way to solve this is to not tile a texture to many times, so that the UV coordinates keep small values. But SketchUp indeed makes it too easy to file a texture many times. It is something the developer will have to do different when making the model.
 

=rk=

Resource contributor
Messages
4,475
Country
us-washington
Something that does not jibe with me, is that I get these distortions, from using very large textures that do not tile. It seems sometimes arbitrary, some models do it and other, very similar ones, do not. The technique I use, used to work fine in previous sims and now I am struggling to compensate. This model would be fine in other versions and is unusable in MSFS.

kj500 clean.JPG
kj500 distorted.JPG


Tiling the main color and using "stencils," or polygon edges, to control transitions can work for some things, like roundels and lettering, but things like anchor chain stains and waterline smudges, soft transitions, are impossible to represent. If you look carefully, you can see the little 997 by the anchor.


luhua clean.JPG
luhua distort.JPG


It is extremely vexing, because some models of similar complexity and composition complete the process without distortion. Also, it is difficult to find comprehensive information about the UV offsets and how that relates to the Sketchup projection process. It seems as if there should be a way to apply the workaround of using negative values, perhaps with reversed images, or...something.
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,883
Country
netherlands
Hi,

Could it be that the parts that are distorted are not tiled, but that the uv mapping is still shifted from zero, so for example uv values between 3 and 4 instead of between 0 and 1? That would give the same issues.
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,883
Country
netherlands
OK, after another reboot of my system the MSFS update is now finally downloading. If I let the content download run overnight I might even have it finished by tomorrow :) (let's hope)

It's still downloading after almost a day. I got the sim updates, now all the content updates are downloading.
 

rhumbaflappy

Administrator
Staff member
Resource contributor
Messages
5,945
Country
us-wisconsin
It's still downloading after almost a day. I got the sim updates, now all the content updates are downloading.
Is the download looping... that is stalling and repeating on the same packet over and over?
 
Top