• 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 What to do in MCX to prepare model textures for further process?

Messages
173
Country
norway
Hello. I decided to create seperate posts regarding specific issues I am having with a current project of mine: https://www.fsdeveloper.com/forum/threads/ensx-stavanger-ems-helicopter.459356/.

I have made a model of ENSX, Stavanger hospital EMHS base in Sketchup 2017 which I would like to import into MSFS2020. Currently the model itself is as I want it inside the sim, but the textures are only pink, so I need some help troubleshooting the issue.

I have downloaded MCX and and tried to follow a couple of guides, but each guide i read are not "specific" enough for my issue, or is contradictory to eachother. I am a total noob in making MSFS2020 scenery so the misconception is all on me... .

I am looking for help in a sort of "checklist"/step-by-step format, since I don't quite understand the different terms and meaning of all inputs and values - I need to be spoon fed the info since I am kind of learning as we go...🤦‍♂️.

I have made a Sketchup model and textured it with the sketchup materials as well as texture files from CC0. I have not edited them. The model have been exported as a .gltf file.
Please see the attached files here: https://www.dropbox.com/scl/fo/2z9h...2KmB5pAs?rlkey=wg6gjosib3yxln8jpxbzy6h3k&dl=0

Now I need help in continuing with what i need to do, and should do in MCX.
 
Dropbox link updated with the MSFS project after editing texture files in MCX as mentioned in this video:
.
Still get only pink textures. File imported to MCX as a Colluda file and exported to the msfs project as a .gltf. Got no errors in msfs SDK when importing the model.
 

Attachments

  • Pink textures.png
    Pink textures.png
    1.8 MB · Views: 38
File imported to MCX as a Colluda file and exported to the msfs project as a .gltf.

Got no errors in msfs SDK when importing the model.

IIUC, you are saying that the MSFS DevMode compiler Console window reported no errors when it created the Package.


Were you able to load and display that MCX-specific ENSX Project, and did it still show up with "Pink Checkerboard" Materials ? :scratchch


PS: Somewhere I have a transcript in legible English, of the audio for that video by FSDEV member "Risuali45"; I will post it later.

FYI: Risuali45 originally posted this video shortly after MSFS20 RTM was released; your linked video above is newer, and represents the conclusion Risuali45 reached that the new Sketchup workflow was quicker and easier to use than the one shown in his original video from 2020.


CAVEAT: One should use the MCX Material Editor first before use of the Draw Call Minimizer.

That way, one can convert one's mapped textures into the PNG files required to be later processed by the MSFS Package compiler, and can take advantage of Arno's further analysis and semi-automatic correction of texture image pixel array configuration, to further reduce likelihood of errors in Package source content processing by MSFS Package compiler, and subsequent failure to display texture Material originally mapped within Sketchup (aka "Pink Checkerboard" Materials).


NOTE: In the workflow used by Risuali45 via MCX, he completes his processing by MCX by utilizing the "Drawcall Minimizer" feature to process the mapped textures onto a minimum of Texture sheets (aka "Texture Atlas"), before he exports it from MCX.

This may irreversibly alter ones 3D model, and one may not be able load that exported 3D model into Sketchup later on, so one must be careful to keep the source files from Sketchup, and perform any necessary edits on those source files if the output from MCX itself cannot be further edited after compilation and inspection of actual rendered appearance of a 3D model within MSFS.

This results in further processing of textures and re-assignment of their "UVW mapping" coordinates from that composite sheet, and the resulting info ('URI' coding) written internally within the 3D model is better recognized by MSFS' compiler & rendering engine.

IIUC, this usually results in successful display of mapped texture Materials (without "Pink Checkerboard") at run time in MSFS.

GaryGB
 
Last edited:
Thank again for your input Gary! You are a real lifesaver here :) (and yes, it's Vetle)

IIUC, you are saying that the MSFS DevMode compiler Console window reported no errors when it created the Package.
Correct. No errors.

Were you able to load and display that MCX-specific ENSX Project, and did it still show up with "Pink Checkerboard" Materials ? :scratchch
I was able to load and display the MCX-edited model in the MSFS project editor, but with pink squares. I am thinking some xml is not showing the right path to the textures? Also, I asked Chatgpt about this issue as well and it highlights the importance of keeping the texture name structure within a MSFS SDK standard? Might that be a thing? :
  • MaterialName_ALBEDO.DDS
  • MaterialName_METALLIC.DDS
  • MaterialName_NORMAL.DDS

    Also note that my textures were saved as .png, not .dds as per the video above. I have not converted any texture files to .dds at all with my last tries.
PS: Somewhere I have a transcript in legible English, of the audio for that video by FSDEV member "Risuali45"; I will post it later.

FYI: Risuali45 originally posted this video shortly after MSFS20 RTM was released; your linked video above is newer, and represents the conclusion Risuali45 reached that the new Sketchup workflow was quicker and easier to use than the one shown in his original video from 2020.

NOTE: In the workflow used by Risuali45 via MCX, he completes his processing by MCX by utilizing the "Drawcall Minimizer" feature to process the mapped textures onto a minimum of Texture sheets (aka "Texture Atlas"), before he exports it from MCX.
I did this as shown in the video above, using the "Drawcall minimizer". Unsure what actual effect it had.
Note as well that, by using the MCX Material Editor to convert one's mapped textures into the PNG files required (to be later processed by the MSFS Package compiler), one can take advantage of Arno's further analysis and semi-automatic correction of texture image pixel array configuration, to further reduce likelihood of errors in Package source content processing by MSFS Package compiler, and subsequent failure to display texture Material originally mapped within Sketchup.
I am a bit unsure what this mean. Is this a function specific within MCX and something i need/should do?
 
What this means is, when we import a 3D model to MCX and immediately scroll through the Event Log, we look for errors / alerts.


FYI: To remedy the Event Log error message:

"11:47 AM ObjectRenderer Warning The size of tmp7.jpg is not a multiple of 4, this is required by MSFS"

...open MCX Material Editor (7th icon from the Left on the MCX Icon Toolbar); we now see a multi-tabbed dialog.


On the [Textures] tab, we select all textures listed by clicking the top item, press/hold <Shift> key, then clicking the bottom item.

Then we assign required info via the Material Editor pull-down menu columns and fill in:

* Output texture folder path (...the \Texture folder for the MSFS Project in "Package Sources" sub-folder).

* PNG (...as preferred source texture file format; will later be converted to a newer DDS file format exclusively by MSFS compiler)

* Under [Save Textures] button pull-down menu, 'check' both of these (requires 2 different clicks to select them both into place):

[X] Ensure Size Multiple of 4

[X] Overwrite existing Textures

After all that assigned info has been configured, click the [Save Textures] button itself.

IIRC, Arno has previously assured us that he had implemented / was going to implement 'soon', internally, the additional check / correction to make all mapped texture pixel arrays at least 8x8 in size per the MSFS SDK requirement (although I have not yet seen that specific task listed in his status list of programmers mods done on MCX since this post was active):

https://www.fsdeveloper.com/forum/threads/mcx-crash-on-resize-all-to-multiple-of-4.455625/


Now one can proceed onto the MCX [Drawcall Minimizer] Tab.

More later, pending your reply here. :)

GaryGB
 
Last edited:
What this means is, when we import a 3D model to MCX and immediately scroll through the Event Log, we look for errors / alerts.


FYI: To remedy the Event Log error message:

"11:47 AM ObjectRenderer Warning The size of tmp7.jpg is not a multiple of 4, this is required by MSFS"

...open MCX Material Editor (7th icon from the Left on the MCX Icon Toolbar); we now see a multi-tabbed dialog.
I see I get two errors importing a .gltf file to MCX:
-ModelConverterX Warning Error while loading modeldef.xml file
-ObjectRenderer Warning The size of tmp5.jpg is not a power of 2, this is required by FSX

I do not get a warning about MSFS "multiple by 4" indicator.

On the [Textures] tab, we select all textures listed by clicking the top item, press/hold <Shift> key, then clicking the bottom item.

Then we assign required info via the Material Editor pull-down menu columns and fill in:

* Output texture folder path (...the \Texture folder for the MSFS Project in "Package Sources" sub-folder.

* PNG (...as preferred source texture file format; will later be converted to a newer DDS file format exclusively by MSFS compiler)

* Under [Save Textures] button pull-down menu, 'check' both of these (requires 2 different clicks to select them both into place):

[X] Ensure Size Multiple of 4

[X] Overwrite existing Textures

After all that assigned info has been configured, click the [Save Textures] button itself.
Done, and new texture files generated.
 
Just had a free moment to reply.

In MCX Options, explore the settings, and set MSFS as the default output FS version of MCX, so that it will trigger Arno's internal checks for MSFS SDK requirements, and errors / alerts for MSFS ...rather than FSX.

Note that in the MCX installed folder, there is a PDF manual which can be viewed by any web browser, and searched for the key query phrase "MSFS".

GaryGB
 
Last edited:
Just had a free moment to reply.

In MCX Options, explore the settings, and set MSFS as the default output version of MCX, so that it will trigger Arno's internal checks for MSFS SDK requirements, and errors / alerts for MSFS rather than FSX.

Note that in the MCX installed folder, there is a PDF manual which can be viewed by any web browser, and searched for the key query phrase "MSFS".

GaryGB
Thanks, again...! :) You are really helpful with this!

I will check out the pdf, thanks for informing me.

I set the standard to MSFS and gone through the conversion you mentioned above, again.
 
I am getting warnings when building the package. No errors, only warnings but they are texture-relevant. If I open the ENSX.gtlf file I can see that it refers to the original texture names, but when they are converted they are named tmp 1, 2, 3 and so on which is what it seems msfs is looking for? Maybe a clue?

Error in MCX "Error loading modeldef.xml file" topic here: https://www.fsdeveloper.com/forum/threads/error-loading-modeldef-xml.459393/
 

Attachments

Last edited:
Hi Vetle:

IIUC, the "Warnings.txt" attached above is derived from the Console log of the MSFS20 compiler ? :scratchch


My initial action would be to check if, in your Package Sources sub-folder for your MSFS Project (not 'yet' a compiled Package), there is a local paired \Texture sub-folder containing all mapped textures for the glTF, especially those cited in glTFLister errors.

MCX requires entering the target output \Texture folder in Package Sources by the texture conversion step in MCX Material Editor.

Thus you must 'browse' to that folder and enter it within the text field in that section of MCX Material Editor before executing the intended conversion via the [Save Textures] button; be aware that this is only a conversion, and not an incremental MSFS compile.

BTW: Note that the Package Sources glTF can / will end up inside a BGL ModelLib after compilation into the Packages sub-folder.


PS: I just found this thread in the 'Official' MSFS forum on a Google query:

https://forums.flightsimulator.com/t/pink-textures-on-newly-created-buildings/475434

GaryGB
 
Last edited:
Hi Vetle:

IIUC, the "Warnings.txt" attached above is derived from the Console log of the MSFS20 compiler ? :scratchch


My initial action would be to check if, in your Package Sources sub-folder for your MSFS Project (not 'yet' a compiled Package), there is a local paired \Texture sub-folder containing all mapped textures for the glTF, especially those cited in glTFLister errors.

MCX requires entering the target output \Texture folder in Package Sources by the texture conversion step in MCX Material Editor.

Thus you must 'browse' to that folder and enter it within the text field in that section of MCX Material Editor before executing the intended conversion via the [Save Textures] button; be aware that this is only a conversion, and not an incremental MSFS compile.

BTW: Note that the Package Sources glTF can / will end up inside a BGL ModelLib after compilation into the Packages sub-folder.


PS: I just found this thread in the 'Official' MSFS forum on a Google query:

https://forums.flightsimulator.com/t/pink-textures-on-newly-created-buildings/475434

GaryGB
Thanks, Gary! :)

the Warnings.txt are from the console log within the msfs2020 compiler, yes.

My current file structure where the textures are: C:\Users\vetle\Documents\MSFS Projects\Active MSFS Projects\Sim project\ENSX\PackageSources\Scenery\airport-ensx-stavanger-universitetssykehus\texture.

I did manually put the texture files at said location, and did not make MCX send them there. Maybe thats a point. I'll investigate and report back :)

Thanks for the link. I saw it earlier but it's hard to understand - from a noobs perspective - what that actually means.
 
okay...it seems like we have a small fraction of progress, but still not to a satisfactory level, to say the least...🤦‍♂️

First: Actually reading the paths and such in the errors and warnings is a great hint, apparently 🤦‍♂️

As of now, some of the textures have been imported to the model, however only some of the "standard" colors. When I look at the list of textures in the material editor in MCX I see that the textures which are actually drawn inside msfs do not have a definition inside the "Albedo texture" value. The ones that do, do not show.

Also, I got no errors in the sdk console when building the assets.
 

Attachments

  • Screenshot 2024-11-25 111302.png
    Screenshot 2024-11-25 111302.png
    3.8 MB · Views: 40
  • Screenshot 2024-11-25 112159.png
    Screenshot 2024-11-25 112159.png
    496.4 KB · Views: 39
  • Screenshot 2024-11-25 112245.png
    Screenshot 2024-11-25 112245.png
    441.5 KB · Views: 41
Success! The error was the location of the texture folder. My understanding was that the texture folder was supposed to be inside this directory:
ENSX\PackageSources\Scenery\airport-ensx-stavanger-universitetssykehus\texture, while instead the folder needed to be inside the modellib folder: ENSX\PackageSources\Scenery\airport-ensx-stavanger-universitetssykehus\ENSX_modellib\texture:

Screenshot 2024-11-25 123914.png


So now it looks like this in the SDK:
Screenshot 2024-11-25 124024.png


🥳
 
Back
Top