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

texture behind transparency issue

Messages
310
Country
us-washington
Hi folks,
I thought I would take one more stab at the texture behind a transparency issue. Maybe this was solved and I missed it. Attached are a couple of clips of a test of my now-time-for-fun project (after the last bigger one) done as usual with Sketchup. Notice that the wood panels on the inside of the water taxi do not display consistently. In one clip, you can see half the panel through the entryway, the other half through the window, but the panel adjacent to it does not display. In the other clip, one panel shows through the forward windows, the rest do not. This suggests a drawing order problem I think, but I can't remember if there is a solution.

Any thoughts?
 

Attachments

  • 11.JPG
    11.JPG
    165.2 KB · Views: 543
  • 2.JPG
    2.JPG
    158.8 KB · Views: 511
Hi,

Are these polygons using the same material or a different one?
 
Hi Arno
The wood panels are all the same texture, or I should say they all use the same part of the texture sheet. If it makes a difference, all the textures, including the transparencies (windows, flag, deck fittings, etc) are on one sheet saved as .png for export from Sketchup.

Thanks for looking into this! I'ts been something I've noticed for a long time and I finally decided to see if there is a solution.
 
My suggestion would be to delete all the windows, then draw a diagonal line from opposite corners to replace the polygons. Make sure the poly's are all the same default color, white or light blue; then place the photo texture on both sides of each window. Export, render and see if that get's it. If not, you know it will work with transparent color, which is adding one draw call.

I think that the action of turning a transparent .png into a format FSX can read while at the same time preserving the transparencies is a pretty sophisticated automated process and these discrepancies we experience are a consequence. Another circumstance where this transparency conversion gets interrupted is when the model is merged with an FSDS animation. Once you have merged the model, it will not be transparent in places where the .png was transparent, even if you export two copies of the model and try to use the textures from the non animated one.
 
Thanks Rick

I'm not sure I follow your logic but I should add that the what I posted are just a couple of illustrative clips. As I move the viewpoint in a circle around the boat, different polys that make up the backs of the seats display or disappear depending on the viewing angle. If I were to move the viewing angle a little from that in the clips, different polys would disappear, but so far I've not been able to recognize any pattern to it. In Sketchup while working with .psd images, I've discovered that parallel and perhaps orthogonal surfaces cause transparency problems, and making even a minute change so planes are not precisely parallel or orthogonal solves it. But in this case, the model in FSX, I've not been able to see a relationship between the angles between the two planes, the viewing angle and whether the surface behind the transparency shows. (Would it help to get some data, record some angles?)

I guess I should also add that with this model there is no (major) problem of seeing through both port and starboard windows to what's in the distance. Only the opaque seat backs. Odd.

I've also wondered if painting both sides of a poly or only painting one side makes a difference for transparencies. Have you come to a conclusion?

The problem is that if I make a mistake, or change my mind, I often have to paint both sides. So far I've not found a way to remove the 'paint', that is to revert to the pale blue surface. White yes, pale blue (no material assigned) no.
 
Last edited:
My logic, in terms of the windows, is that polygons have a front and a back (the white and light blue) and while we rarely see any consequences for ignoring the face orientation, I think it may matter in subtle ways; regardless, it is best to establish a baseline from which to work toward a solution, imo. If matching and then painting both sides was not optimal, I would then do the same but paint only one side, test; then the opposite, test, etc.

In terms of painting both sides, I am still exploring the outcome. I can offer that FSX and MCX ignore default textures so there is apparent advantage in leaving one face blank, if for no other reason than to halve the number of rendered poly's for all transparent surfaces. However, this in my caveat, we have both encountered SU's reluctance to paint "default." There are several workarounds, but I currently prefer to texture all visible surfaces because I have seen SU assign random textures on many occasions, so I'm just more comfortable texturing everything. If we discover default textured surfaces are required for proper transparencies, I will adjust my technique.

The work around for removing color or texture and making a surface "untextured" is to follow one of two solutions. The best way is to choose a unique color, preferably bright, like pink or orange and paint all non visible or interior surfaces with it. Fredo makes some excellent SU plug-in's, like "Thru Paint" that process entire surfaces, through the grouped layers, which makes the task easier. Once all those poly's are painted, go to the materials window and delete that color from the current model. Sometimes the model is too complex and the context pop-up to delete a material does not work, at least in my computer. On these occasions, I will use MCX to remove the color. I prefer white as I never use pure white and I recognize all the various terms for it (RGB, HTML). Just go to either Material Editor or Hierarchy Viewer and remove that instance of color and the surfaces disappear.
 
There is an easy way to remove the texture from a painted surface in SU. Right click the surface(polygon) that you want to unpaint or return to default color. Choose entity info from the popup box. Click on the painted surface icon and click on the default texture in the upper left corner of the choose paint popup box and click ok. Your surface is now untextured.
 
Thanks for the tip, but you apparently have not yet experienced SU's reluctance to apply default surfaces - or remove texture/color from them. I just tried the procedure and a selected/highlighted polygon remained textured. I have encountered this, as well as the random texture reassignments, when the model gets more complex. This particular one is pushing 25k polygons and that is in SU math, so it will likely be twice that in MCX. Another issue is lost undo's, when SU reverts two or three step's instead to the last operation.
Additionally, I'm not sure how I see that a face-by-face context click adjustment of poly properties is going to be easier than the "global" solution of painting entire surfaces (un-check View> hidden geometry) and then deleting the color in either the Material window or the Material Editor, but whatever works..
 
Thanks for this, that's a great trick. I'm trying it out right now.

It appears to me that SU always remembers what the face orientation of a poly is when it is created unless you use the 'reverse faces' command.

This is what I think happens:

Paint a default white poly with texture a, default blue with texture b. Now say I want to get rid of texture b and return to default b, ie no material; follow the Entry Info method, change texture b to the default, and it's done, success.

Now I make another poly, but the default blue ends up facing out. I've been lazy and not reversed these faces although I think SU recommends it. I paint the outside surface ( default light blue) with texture a, and the inside surface (default white) with texture b. I decide to get rid of texture b and I want to end up with default light blue (so that it will be transparent), so I again use the Edit Info method. But now my inside surface is default white, not default blue.

I could paint the outside surface (originally default blue) default white using the Edit Info method and then 'reverse faces', but now I've lost the position of the texture that I spent so long getting just right.

So if I've got this right, if as you build the model you accidentally leave a default light blue texture on the outside of the object and then position a material on it, there is no way to end up with light blue on the inside surface without in effect starting over with that poly. It could be easy however if you are using the project method.
 
It is easier for me to think of the default polygons as being "shaded." White is definitely a color which FSX will render, however the default white polygon will render clear (from that face) as will an untextured light blue polygon. If the same polygon has each a white and a lt. blue default face, it will be invisible in MCX and virtually (literally?) nonexistent in FSX. The poly's can be reversed, but the colors can not. You can not have two default white faces or two default lt blue ones. They designate front and back and I think the distinction is most important in regards to shading or ambient occlusion. The very term "ambient" implies local or surrounding and one could easily imagine how the back side of a face might shade or shine differently from a front face.

You write about losing a texture's applied UV. There are two work around's to preserve or record such things: the Windows clip board copy/paste works between SU documents. You can open another instance of SU, copy a component from your master model and work on it independent of the undo cycle. I have not yet found a limit to the size and have copy/pasted very complex models and components this way. You can also use the eyedropper trick to transfer the edited UV to an adjacent polygon so you can work on the poly in question and then retrieve the UV. Just check Hidden Geometry in the View menu, then unselect everything, eyedropper the poly you want to keep and then paint that onto the next poly over. A nice trick is to take that single poly copy, then un-check hidden geometry. Now when you paint the surface, every poly will have the same UV as the one you copied. Then re-check hidden geometry, select your original polygon and do whatever with it, you know you'll get your UV alignment back..
 
One of the faults of SU that I have encountered with a large polygon model is additional face or faces being added over the same polygon. I have frequently deleted extra faces. This may be why you are having trouble untexturing a polygon. On a lower polygon model I have never had a problem untexturing using the entity info method. I do this frequently in order to make changes.
 
Thanks Rick,

I did not realize that the default texture, even the 'white' side would not show in MCX or FSX. I guess I never tried it.
To get back to the transparency issue, take a railing; maybe easier to visualize. If I make a poly and paint it with my railing texture, I see it from the far side too, both in SU, and MCX. That's what I want. In theory maybe I'm saving drawcalls.

My idea was to easily get back to this 'virgin' condition after I have painted both sides, perhaps so they look the same from both sides, just to see what happens in MCX -- if it affects the transparency issue in any way. If I use the Edit Info method to return one side to the default texture, I no longer see through the poly; it's opaque in SU, I no longer see the railing. Based on what I got from what you mention, this default texture will be treated as if it is not there in MCX and FSX, and if I'm right, I will not see the railing from that side in MCX. So I'm not really back to the' paint transparency on one side only' condition, right?

And yeah, the duplicate face can be a pain. Sometimes they flicker, but more typically, if I try to paint such a duplicate surface, nothing happens. To me that's a sure tipoff that there is a duplicated poly. If I have any suspicion at all I just delete the surface and if that creates a void, it's alt-backspace.

I don't know if TomTom's Cleanup will catch this stuff, but I'm amazed at what it does find. Like as many as 4 or 5 thousand (!) items under 'hidden geometry' after I rough out a very large and complicated model. Whether this makes a difference to MCX, I don't know. I figure it's like chicken soup, can't hurt. It will merge co-planar surfaces if desired, but I don't use that option.
 
I have frequently deleted extra faces. This may be why you are having trouble untexturing a polygon. On a lower polygon model I have never had a problem untexturing using the entity info method. I do this frequently in order to make changes.
For me, the problem is severe and persistent when it occurs. A favorite trick of SU, when it is feeling naughty, is to assign whatever color is most commonly used when I try to to "paint" default. While it is always possible I miss a duplicated face, I assure you that SU on my computer is quirky when it comes to returning a polygon to default color/texture.

Additionally, I constantly cycle my models through CleanUp, perhaps you might consider using it if you too have issues with things like duplicated faces. The "erase duplicate faces" function takes prohibitively long to discover geometrically co-located faces, but there is also a merge coplanar faces function that can be strengthened by removing requirements for matched normals (faces), material and UV; which is very effective. Granted that much of what CleanUp removes is already ignored by FSX, like lines that do not form polygons; it still however reduces complexity, removes unused components and textures and (for me only maybe) makes the model less demanding on SU and my systems resources and less likely to become quirky.
 
Thanks Rick,

I did not realize that the default texture, even the 'white' side would not show in MCX or FSX. I guess I never tried it.
To get back to the transparency issue, take a railing; maybe easier to visualize. If I make a poly and paint it with my railing texture, I see it from the far side too, both in SU, and MCX. That's what I want. In theory maybe I'm saving drawcalls.
I had forgotten to address this issue. Yes indeed, I remember now encountering this situation. While there may be a draw call savings by leaving a visible surface blank, it will not display whatever transparency is assigned to the opposite side, it will display invisible.
 
Thanks Rick,

Because you can see both sides of a railing material painted only one default side in SU, I've assumed the same thing would happen in FSX, but by the time I finish a model and have repainted and repositioned such things a dozen times, I never would have noticed. But it's a good general lesson to remember.

I'm wondering if the way to make progress on the transparency issue might be to make a simple test case with some sort of logic to it. Maybe two 24 side cylinders one inside the other painted in a known but not sequential order, and a copy re-painted, a copy squished about one axis etc, then carefully observe what shows up when in MCX. Would that help?
 
Any sort of correlated data would be invaluable. As a test case I would think something like your ferry would be perfect. It has enough windows that you could apply various techniques and it also has an open doorway to compare those to an unobstructed view. I would think as long as we get a practical pattern or solution for texturing common hollow objects, like houses and cockpits, it would be an immense benefit and from there we could explore more complex models like glass houses and crystal pyramids.
To break it down; you basically have 3 combinations: texture on one side of the target window plus texture on other side, texture on one side of the target window and default opposite and the reverse. If you are willing to incur draw calls in the model, I would recommend you add a pass using transparent color on one or both sides of a window.
Additionally, your window panes appear to be un-tinted. While you would lose specular effects, would that not be a minimal consequence of leaving the inside face of the pane default/transparent?
 
Hello:

I haven't read all the fine details in this thread yet, but here's a couple of tips which might be helpful for part of the concerns expressed:


To quickly remove all textures from a face, one can use the convenient freeware Ruby plugin script "RemoveMaterials":

http://www.smustard.com/script/RemoveMaterials


To minimize extra geometry from vertices and faces / "polygons" in ones model when such a Sketchup model (by default) contains 2-sided faces, and to eliminate any hidden incidental / accidental texture mappings that are not wanted on the inside of one's model such as genuine Solid objects, when exporting from Sketchup :

1.) Sketchup Menu > File > Export > 3D Model > Browse dialog for the export destination and file name

a.) File name: [your model name].DAE

b.) Export type: COLLADA file (*.dae)

c.) Click on [Options] button; UN-check: "Export Two-Sided Faces"

Hope this helps ! :)

GaryGB
 
Last edited:
Any input is almost always helpful, of course. I am curious as to the potential savings however, because I and I am sure others employ the expediency of using single polygons to represent both the inside and outside of textured models. As in the example above, the inside and outside of the wall panels and the window panes, we would have to construct reverse polygons for each of those circumstances...still, for large curved surfaces like ships and solid objects without windows, one could come very close to halving the polygon count.
Do you know if the software generates or discards a face it happens to find textured on what it considers the back side (face orientation being paramount, no doubt)?
 
I would have to test this to be sure, but I suspect that by default, Sketchup (and MCX) keeps any textures which end up on the inside of a solid on the reverse side of a face when exported unless special procedural options are utilized during export.


With "Crash Detection" disabled in MSFS, one can slew 'inside' an exported / compiled / placed scenery object to see if any surface is visible; if it visible, it is textured

And, if it is textured, a "Reverse Face" was added to the 3D model geometry in order for the material to be applied. :idea:


IIUC, when a face on the inside of a object seems to "disappear" because the nearby scene is normally visible as though the object is not there, then the inner face(s) of the object in the line of sight of the aircraft camera viewpoint is not textured (and/or has a maximum transparency attribute set for in the MDL file).


BTW: I have not yet figured out why Sketchup sometimes automatically applies a texture to faces which were not manually painted with a texture on the reverse face.

It is apparent that the same process may occur in other 3D modeling programs used for 3D scenery objects in FS, as I have seen textures from what appears to have been other locations on the same texture sheet ending up (randomly) mapped onto reverse sides of faces in isolated areas of a model (because I slewed 'inside' scenery objects during a flight).

In some cases I have seen every face on the inside of a model formed from a solid primitive ...end up mapped with a texture ! :banghead:


AFAIK, in Sketchup the only way to prevent this is to manually "RemoveMaterials" from faces which are not to be textured in non-solids, and export solids via the COLLADA file (*.dae) > [Options] button > UN-check: "Export Two-Sided Faces" described above.


FYI: I have previously discussed some convenient Ruby script plugins for Sketchup which can help with fixing reversed faces and a number of other issues in a series of threads entitled "Ruby Tuesday" within the FSDeveloper Sketchup forum:

http://www.fsdeveloper.com/forum/forums/sketchup.112/


PS: Indeed, it is advantageous to eliminate internal / reverse sides when not needed, but eliminating texture mapping when not needed is even more important, as Arno has stated elsewhere that the texture vertices count is a multiple of the vertices count for the base 3D geometry ...which can add up considerably with a complex model. ;)

Hope this helps ! :)

GaryGB
 
Last edited:
We tend to ignore vertex totals because they are not subject to the same hard limit that polygons are
BTW: I have not yet figured out why Sketchup sometimes automatically applies a texture to faces which were not manually painted with a texture on the reverse face.

It is apparent that the same process may occur in other 3D modeling programs used for 3D scenery objects in FS, as I have seen textures from what appears to have been other locations on the same texture sheet ending up (randomly) mapped onto reverse sides of faces in isolated areas of a model (because I slewed 'inside' scenery objects during a flight).
GaryGB
I have a technique where I use transparent color for windows and paint the inside surfaces with a texture color that will be replaced by a somewhat brighter color as a LM or night map. One of SU's favorite tricks is to replace default with that texture. Every new square, circle and polygon is pre-textured and with an undesirable color at that. Further, SU splatters this texture around random places, the back of a platform, an edge of a mast. I don't notice it in SU because the texture is intended to blend during daylight. Then I import into MCX and see all these weird glowy facets and streaks - it looks like my ship has slime lights.

This usually occurs in complex models, especially models that have been converted from formats like .obj. A very effective solution for me is to paint white, FFOOOO, to every surface that should be untextured. In MCX all those poly's can be disposed of with a quick delete from the material editor.

In terms of Ruby scripting, can't you script utilization of the ACES tool set?
 
Back
Top