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

MCX - Some parts invisible behind transparent glass. (Solved)

Rotornut44

Resource contributor
Messages
635
Country
us-florida
Good evening,
I have been working on a static Super Cub model for one of my sceneries. The model itself is a low poly model that I purchased from CG Trader. The person who created the base model only made it with one seat and an open internal fuselage, so I took it upon myself to add a second seat and a back wall behind the seat. Instead of reworking the original model in Blender, I decided to create a second model containing just the seat and wall, as I know I can merge the two in MCX.

(I believe) The merging process went fine, however I have ran into a small issue. For some reason I cannot see my new seat and wall when I am looking through the model's transparent glass. When I move my view to the inside, I can see both the seat and back wall. To me, it almost seems like a material setting is misconfigured, however I have yet to find the culprit. Any ideas?
 

Attachments

  • PA18_Ext.JPG
    PA18_Ext.JPG
    210.8 KB · Views: 415
  • PA18_Int.JPG
    PA18_Int.JPG
    136.5 KB · Views: 410

=rk=

Resource contributor
Messages
4,450
Country
us-washington
I am guessing the situation is that both sides of the cockpit glass are textured and that it would compile as expected otherwise. I have not tried Henk's solution. I am absolutely certain that if you isolate the glass and compile it after applying the "set default transparent" material attribute; then isolate the remainder of the model including your seat and wall and apply the "set default opaque" attribute and then combine the two, the problem will be gone. It may be sufficient to simply set default opaque attribute to your sub model and go from there.
 

Rotornut44

Resource contributor
Messages
635
Country
us-florida
I am guessing the situation is that both sides of the cockpit glass are textured and that it would compile as expected otherwise. I have not tried Henk's solution. I am absolutely certain that if you isolate the glass and compile it after applying the "set default transparent" material attribute; then isolate the remainder of the model including your seat and wall and apply the "set default opaque" attribute and then combine the two, the problem will be gone. It may be sufficient to simply set default opaque attribute to your sub model and go from there.

How does one edit/view a sub model in MCX? When I did the merge, I merged the new model into my highest LOD.

[EDIT]
Upon loading the model in P3D, the seat and wall do appear, but for some reason they are slightly transparent..

Photo attached.
[/EDIT]
 

Attachments

  • 2017-12-2_10-23-37-494.jpg
    2017-12-2_10-23-37-494.jpg
    136.4 KB · Views: 266
Last edited:

=rk=

Resource contributor
Messages
4,450
Country
us-washington
Use the hierarchy editor to locate the window part to isolate and export it. Not sure about the translucency, did you apply the set default opaque material attribute?
 

Rotornut44

Resource contributor
Messages
635
Country
us-florida
Use the hierarchy editor to locate the window part to isolate and export it. Not sure about the translucency, did you apply the set default opaque material attribute?
The windows are actually built into the model. They are not a separate piece. I use the diffuse Alpha channel to control their transparency.
 

=rk=

Resource contributor
Messages
4,450
Country
us-washington
Polygons are defined in the hierarchy editor by geometry and color/texture assignment and in a model of this origin, again I am only guessing here, but it seems very likely the "glass" is defined by a unique polygon color, regardless, this only won't work if the entire model uses a single mapped texture. Here you can see I have used the hierarchy editor to select the glass in the default Piper Cub:

6eJmcKL.jpg


In this example it appears reflective, probably because of a specific specular texture, selected glass usually looks pink. Here you can see I have isolated the glass part of teh model, I have also unticked "highlight selected" and I am free to adjust material attributes and export for saving or further edit in the 3d graphics program.

VTNXJae.jpg


I use .DDS textures and do not use a diffuse alpha channel. This technique will work on a single texture model, granted the distinct material attributes demand their own draw calls, but the transparency is controlled directly in the .DDS and model attributes.
 

Rotornut44

Resource contributor
Messages
635
Country
us-florida
Hi Rick.
My model consists of a few LODs. Each LOD has been automatically isolated somewhere down the path, so I do not have the option to adjust the glass as it's own. However, I don't think my problem is a transparency issue, but more or less an issue with how the merge is handled.

I say this because..
If I open my Super Cub model, merge in the seat and wall, (Into the Super Cub's active LOD) and then use the Material Editor's Optimize tab to assign the Super Cub's material settings to the seat and wall, you get the results posted above. However, If I first open the Seat and Wall model in MCX, set up the LODs for the model, import the Super Cub into the seat's LODs, use the Material Editor's Optimize tab, (Again changing the settings to match that of the Cub) then import the remaining Super Cub LODs, (Not containing the seat and wall) the result is flawless..

2017-12-3_12-51-27-452.jpg


As I stated above, the exact same material settings were used during the import process. The only difference is that I have reversed the process and imported the Super Cub into the seat model instead of the seat into the Super Cub. It's a bit more work this way as you have to export all of your individual Cub LODs, but it shows up flawlessly in MCX and there is no weird transparency in the sim.
 

=rk=

Resource contributor
Messages
4,450
Country
us-washington
Chris, if you take just a few moments to read through the choices in the optimize window, you will see that those exactly match various settings available in the material attributes drop down, including those controlling transparency, indeed the optimize window optimizes material attributes. If I could explain, let's say you have a model with one texture and all the attributes are identical, you will have one draw call. Now if you want some polygons to be transparent, that will be a unique attribute and the render engine will have to "re-tool" to display it, no problem, it happens in the blink of an eye, but it will cost a draw call. Too many draw calls and the blink becomes a pause.
So what purpose serves the optimize pane? Well it intends to reduce draw calls. I know that when I model in Sketchup and I animate in FSDesignStudio, I end up with base models that have wildly different material attributes; but I do not use the optimize pane. I do not know the selection algorithm, but it seems to be "majority rule." which semms completely arbitrary to me. The green side is the material attribute that most polygons have and the pink side is the minority. I think you can see that if you have the minority assigned transparent, you'd want to keep it that way and suck up the second draw call, but let's take another example. With my SU models, my specular bloom floor is 1. If I make a ship and animate the antenna, that radar model will come back from FSDS with a specular bloom floor of .9999998742 or something like that. Probably supposed to be very close to 1 and derived by a different procedure than the MCX/XtoMdl one. Because most of the polygons are not part of the animated sub model, the optimize pane would "recommend" specular bloom floor of 1 and I'd have that draw call nailed down; but what if I am doing a vehicle? Then the majority of parts may very well be .9999998742, so, which is right? Does this not seem a bit arbitrary?
Your answer is indeed in those settings, but you don't need a macros like the optimize pane, you would want to compare them, attribute for attribute to see which affects the transparency.

Also I do not understand the concept of LOD models being automatically isolated. You can use the LOD editor to find, isolate, edit and re-combine each individual LOD model and I don't think you'd need to add the extra seat to each one. How many polygons is the base model anyway? This is a static scenery model and it's role is as you've said, to complement one of your sceneries. Using MCX you can export the highest LOD model and add the seat to it, export the next highest LOD, maybe, add the seat to it; replace both models into the master model and you've made your addition, so long as you have the transparency worked out.

Finally, models do not support LOD implementation and draw call minimization. By this I mean the process where all textures and polygon colors are mapped onto a single file and if this is done the render engine will ignore any other LOD models. It is a very rigid restriction and even if you minimize draw calls for three distinct models and then combine those into a larger model, thus trying to avoid draw call minimization as a component of the compilation of that model, the render engine will still ignore those other LOD's.
 
Top