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

removing double-sided faces

Hi James:

IIRC, all 'thomthom' plugin Ruby scripts are compatible with versions 8, 2016 and 2017.


After installing the above (3) plugin Ruby scripts, just exit and restart Sketchup; look under the Extensions Menu pull-down. ;)

Some such plugin Ruby scripts require a restart after installation, before they are visible from the Sketchup menu system.


In rare cases, much older (but still compatible) plugin Ruby scripts may also require manually being set "Enabled" via:

Sketchup Menu > Window > Extension Manager. :)


BTW: thomthom has (2) other plugin Ruby scripts to simplify installation of extensions:

Simple Plugin Installer​


https://sketchucation.com/pluginstore?pln=tt_simple_installer

https://community.sketchucation.com/topic/132403/plugin-simple-plugin-installer/2

DropZone Plugin Installer​

https://sketchucation.com/pluginstore?listtype=1&author=0&category=0&search=DropZone&submit=?

https://sketchucation.com/plugin/721-tt_dropzone


Some related info by thomthom on installing Sketchup plugins / extensions:

http://www.thomthom.net/thoughts/2012/01/installing-plugins-for-google-sketchup/


GaryGB
Gary,

Bingo. I see them now. I wasnt aware that RBZ files were zips. Once I changed the extension to .zip I was able to unpack. I now see the extensions just fine! Thank you.
 
Last edited:
Hi James:

Certainly after renaming a copy of a RBZ to ZIP, one can work with the contents like any other ZIP.

But the Sketchup plugin installer(s) are intended to do all the work, and they will put the required contents into the correct folder chains according to the Sketchup numeric version one is installing the plugin into. ;)


BTW: A Google KMZ is a ZIP of a Collada DAE with a folder of textures and a DOC file containing Geo-referencing info etc. :pushpin:

GaryGB
 
Hi Gary,

FYI, Collada also exports with a seperate textures folder.

I've tried exporting KMZ file types as you have directed but always find they yield larger results than the DAE's. And, as Arno outline elsewhere, they always export with double polys which im trying to avoid at all cost. Regarding the Geo referencing, I am currently too uninformed on what this even is. I assume it uses real world coordinates for easy and accurate placement into FS. Yes/no?

Actually I have found Wavefront OBJ export's process the best. For me, it yields the lowest face/poly counts. But for some reason, I cannot use this type as it somehow loses its scaling during export. I have post processed several OBJ's type in the past days in MCX generating BGL's that come into FS9 in gargantuan sizes as well as wrong orientation such as upside down, sideways, etc.

James
 
Last edited:
Hi Gary,

FYI, Collada also exports with a separate textures folder.

I've tried exporting KMZ file types as you have directed but always find they yield larger results than the DAE's. And, as Arno outline elsewhere, they always export with double polys which I'm trying to avoid at all cost.

Arno has previously confirmed the technicality of higher geometry complexity import yields in MCX with Sketchup KMZ exports:

https://www.fsdeveloper.com/forum/threads/dae-vs-kmz.261266/#post-441274


It is easy to place 3D models via MCX or other 3rd party utilities and/or hand-made BGLComp XML, so KMZ is not 'required' for 3D models which involve FS run time display of a manifold "shell" type 3D model of ex: a hangar; feel free to use DAE or OBJ.


But, your 3D model stairs are to be used in a hangar for FS9, which I assume is intended to be seen via the aircraft camera.

IIUC, that means you are likely going to have the hangar door open, or perhaps for some reason you will create a spawn point / RWY / Helipad 'Start' location for an FS aircraft inside the 'closed' hangar ...that allows seeing the stairs.

Otherwise, why create / place the 3D model of the stairs inside a 'closed' hangar where it will not be seen, but will still impact FS local rendering engine load ?


IIUC, if you do intend for the stairs to be seen from an aircraft camera either inside the 'closed'- or outside the 'open'- hangar, you intend to texture the inside Faces of the hangar 3D model, regardless of whether the stairs are directly combined with the hangar 3D model.

If you create the hangar 3D model as a double-sided "shell" to save on 3D model geometry complexity, you may need to use double-sided Faces.

Alternatively, if your hangar geometry utilizes walls with manifold 'thickness' rather than using a double-sided "shell", you could theoretically have all hangar Faces configured as 'single-sided' Faces.

Do you have a Hangar already modeled that you intend to use the stairs inside ? :rolleyes:

If so, please attach / link your Sketchup 3D model of that object here so we can determine whether your stair 3D model even requires a 3D balustrade, or if it can instead utilize a flat transparent panel proxy for the 3D balustrade you otherwise intended.

However, be aware that such a proxy for the 3D balustrade would be a "double-sided" non-rotating Sprite; this may- or may not-require setting Options in the exporter used to allow for "double-sided" Faces. :alert:

But the balustrade proxy would save dramatically on geometry complexity compared to fully 3D modeled balustrade(s). :stirthepo


And please do indicate how / where you intend for the stair 3D model to be seen from FS9 run time aircraft camera position(s).


Regarding the Geo referencing, I am currently too uninformed on what this even is. I assume it uses real world coordinates for easy and accurate placement into FS. Yes/no?

Geo-referencing is "Geo-location" in Sketchup; this ultimately is used to "place" the 3D model in the FS9 3D world at run time.

This info can be implemented external to the 3D model in the BGLComp XML 'placement' code.

MCX can read / utilize the "Geo-location" of a Sketchup KMZ file during import to create an object 'placement' code / BGL.

But one can work without the potential convenience of Sketchup KMZ "Geo-location" info in the imported 3D model.


Actually I have found Wavefront OBJ export's process the best. For me, it yields the lowest face/poly counts. But for some reason, I cannot use this type as it somehow loses its scaling during export. I have post processed several OBJ's type in the past days in MCX generating BGL's that come into FS9 in gargantuan sizes as well as wrong orientation such as upside down, sideways, etc.

James

By now you probably recognize that exporters and importers are the basis for what we have to deal with in FS 3D modeling.

There are 3rd party converters as well as importers / importers, both free and payware, which one can use with 3D models.

Since it is generally a "Best Practice" to create 3D models that are as efficient as possible, and devoid of problems which may impact rendering by the Windows DirectX infrastructure when rendered at run time in FS, we should first optimize in Sketchup with our 3D modeling methods, and by our choice of exporter and its associated settings.

Then, during and after import into MCX, further optimization can be implemented to allow the best local FS run time rendering.

I believe that as you conduct further comparative analysis of various 3D modeling techniques, importers / exporters, MCX Option settings etc., you will eventually conclude what is most important to your project goals.

I am compelled to repeat my observation that running FS9 on a modern computer makes most such concerns as you cite regarding geometry complexity as highly unlikely to have a perceptible impact on run time local FPS, stutters, pauses etc., and may prove to be an exercise in learning optimization methods that might be more important in newer versions of FS in the future.

Your results may vary with each 3D modeling technique and importer / exporter you try, and such permutations as one may incur in a contest of 3D modeling "one-ups-manship" may prove rather time consuming, so govern your endeavors accordingly. ;)


PS: You may wish to consider use of TIG's OBJ Exporter instead of any Sketchup built-in OBJ export feature: :idea:

https://community.sketchucation.com/topic/124848/plugin-objexporter-v3-0-20130131#p294844


NOTE: Beware of any "Triangulated" Face option which is often done to facilitate Material mapping in textured 3D models.

https://www.fsdeveloper.com/forum/threads/decrease-polygon-edges-lines.434139/page-2


GaryGB
 
Last edited:
Arno has previously confirmed the technicality of higher geometry complexity import yields in MCX with Sketchup KMZ exports:

https://www.fsdeveloper.com/forum/threads/dae-vs-kmz.261266/#post-441274


It is easy to place 3D models via MCX or other 3rd party utilities and/or hand-made BGLComp XML, so KMZ is not 'required' for 3D models which involve FS run time display of a manifold "shell" type 3D model of ex: a hangar; feel free to use DAE or OBJ.


But, your 3D model stairs are to be used in a hangar for FS9, which I assume is intended to be seen via the aircraft camera.

IIUC, that means you are likely going to have the hangar door open, or perhaps for some reason you will create a spawn point / RWY / Helipad 'Start' location for an FS aircraft inside the 'closed' hangar ...that allows seeing the stairs.

Otherwise, why create / place the 3D model of the stairs inside a 'closed' hangar where it will not be seen, but will still impact FS local rendering engine load ?


IIUC, if you do intend for the stairs to be seen from an aircraft camera either inside the 'closed'- or outside the 'open'- hangar, you intend to texture the inside Faces of the hangar 3D model, regardless of whether the stairs are directly combined with the hangar 3D model.

If you create the hangar 3D model as a double-sided "shell" to save on 3D model geometry complexity, you may need to use double-sided Faces.

Alternatively, if your hangar geometry utilizes walls with manifold 'thickness' rather than using a double-sided "shell", you could theoretically have all hangar Faces configured as 'single-sided' Faces.

Do you have a Hangar already modeled that you intend to use the stairs inside ? :rolleyes:

If so, please attach / link your Sketchup 3D model of that object here so we can determine whether your stair 3D model even requires a 3D balustrade, or if it can instead utilize a flat transparent panel proxy for the 3D balustrade you otherwise intended.

However, be aware that such a proxy for the 3D balustrade would be a "double-sided" non-rotating Sprite; this may- or may not-require setting Options in the exporter used to allow for "double-sided" Faces. :alert:

But the balustrade proxy would save dramatically on geometry complexity compared to fully 3D modeled balustrade(s). :stirthepo


And please do indicate how / where you intend for the stair 3D model to be seen from FS9 run time aircraft camera position(s).




Geo-referencing is "Geo-location" in Sketchup; this ultimately is used to "place" the 3D model in the FS9 3D world at run time.

This info can be implemented external to the 3D model in the BGLComp XML 'placement' code.

MCX can read / utilize the "Geo-location" of a Sketchup KMZ file during import to create an object 'placement' code / BGL.

But one can work without the potential convenience of Sketchup KMZ "Geo-location" info in the imported 3D model.




By now you probably recognize that exporters and importers are the basis for what we have to deal with in FS 3D modeling.

There are 3rd party converters as well as importers / importers, both free and payware, which one can use with 3D models.

Since it is generally a "Best Practice" to create 3D models that are as efficient as possible, and devoid of problems which may impact rendering by the Windows DirectX infrastructure when rendered at run time in FS, we should first optimize in Sketchup with our 3D modeling methods, and by our choice of exporter and its associated settings.

Then, during and after import into MCX, further optimization can be implemented to allow the best local FS run time rendering.

I believe that as you conduct further comparative analysis of various 3D modeling techniques, importers / exporters, MCX Option settings etc., you will eventually conclude what is most important to your project goals.

I am compelled to repeat my observation that running FS9 on a modern computer makes most such concerns as you cite regarding geometry complexity as highly unlikely to have a perceptible impact on run time local FPS, stutters, pauses etc., and may prove to be an exercise in learning optimization methods that might be more important in newer versions of FS in the future.

Your results may vary with each 3D modeling technique and importer / importer you try, and such permutations as one may incur in a contest of 3D modeling "one-ups-manship" may prove rather time consuming, so govern your endeavors accordingly. ;)


PS: You may wish to consider use of TIG's OBJ Exporter instead of any Sketchup built-in OBJ export feature: :idea:

https://community.sketchucation.com/topic/124848/plugin-objexporter-v3-0-20130131#p294844


NOTE: Beware of any "Triangulated" Face option which is often done to facilitate Material mapping in textured 3D models.

https://www.fsdeveloper.com/forum/threads/decrease-polygon-edges-lines.434139/page-2


GaryGB

Hi Gary,

Couple of notes:

>>ex: a hangar; feel free to use DAE or OBJ.<< Did you read what I said about my findings using OBJ files. You made no mention about the scaling or orientation issues I'm experiencing . So I'm not sure why you are recommending OBJ files. 🤔

>>But, your 3D model stairs are to be used in a hangar for FS9, which I assume is intended to be seen via the aircraft camera. IIUC, that means you are likely going to have the hangar door open, or perhaps for some reason you will create a spawn point / RWY / Helipad 'Start' location for an FS aircraft inside the 'closed' hangar ...that allows seeing the stairs. Otherwise, why create / place the 3D model of the stairs inside a 'closed' hangar where it will not be seen, but will still impact FS local rendering engine load?<< Ok, there seems to be some confusion here. I'm not sure where you got the idea that I am putting stairs inside a building or hangar. These were meant to be simple stairs that lead up to a second floor door of a cargo building. Remember me advising I intionally left the backside of the stair set untextured as it wouldn't be seen? See screenshot I took of the stairs placed in FS9.
Image13.jpg


>>PS: You may wish to consider use of TIG's OBJ Exporter instead of any Sketchup built-in OBJ export feature:<< If I can figure how to get OBJ files to work I will certainly check out this Exporter. Better yet I may try to see if it addresses the issues I mentioned above as it relates to OBJ files.

As always, thank you very much Gary.

James
 
Hi James:

I appreciate that you may intend clarity by quoting me within a 'direct context' of your own reply, but I am going to assert both my personal preference and principles of forum etiquette, that you only use the forum user interface 'Reply' feature to quote me.

You can then exercise your option to post a reply below my quote; please refer to my example replies to your quotes above.

If you require any explanation on how to do this using the [ ] icon bar toggle that reveals forum BBcodes and misc. formatting codes, please feel free to inquire further as to how one can do this in the XenForo forum software used here at FSDev.


Additionally, although it is seen in other forums on the web, it is best not to quote the 'entirety' of a discussion participants prior post ...within ones own reply post.

Again, I believe it is best to use the "Reply" feature, then toggle the forum text mode using the [ ] icon bar BBCode feature to edit a Reply into sub-sections, and to insert one's own posted reply content below the pertinent required quote sections above for the other discussion participant.

I do anticipate posting a reply after you have edited your post above; however I may reply either on Friday, over the weekend, or later.


PS: IIUC, Your stair object is placed as a BGLComp XML type scenery library object ...separate from the building ?

IMHO, it looks quite good as a fully 3D modeled object (without a flat planar balustrade) ...rendered at run time in FS9. :)

GaryGB
 
Last edited:
Hi James:

I appreciate that you may intend clarity by quoting me within a 'direct context' of your own reply, but I am going to assert both my personal preference and principles of forum etiquette, that you only use the forum user interface 'Reply' feature to quote me.

You can then exercise your option to post a reply below my quote; please refer to my example replies to your quotes above.

If you require any explanation on how to do this using the [ ] icon bar toggle that reveals forum BBcodes and misc. formatting codes, please feel free to inquire further as to how one can do this in the XenForo forum software used here at FSDev.


Additionally, although it is seen in other forums on the web, it is best not to quote the 'entirety' of a discussion participants prior post ...within ones own reply post.

Again, I believe it is best to use the "Reply" feature, then toggle the using the [ ] icon bar BBCode feature to edit a Reply into sub-sections, and to insert one's own posted reply content below the pertinent required quote sections above for the other discussion participant.

I do anticipate posting a reply after you have edited your post above; however I may reply either on Friday or over the weekend.


PS: IIUC, Your stair object is placed as a BGLComp XML type scenery library object ...separate from the building ?

IMHO, it looks quite good as a fully 3D modeled object (without a flat planar balustrade) ...rendered at run time in FS9. :)

GaryGB

Gary,

With all due respect, learning the various methods of "forum etiquette" is better left to another topic. Perhaps I will someday add this to my things to learn list. I felt it necessary to do it this way as you tended to stray and failed to address individual issues which I was seeking help or clarification on. KMZ and OBJ extentions for example. You kept referencing them and steering me to use them despite my repeated efforts to explain the problems I'm having. Another example is the fact I informed you to the fact where I had read Arno mentioning (in a seperate thread) that KMZ files export with double faces which is exactly what I'm trying to avoid. Instead of addressing this you simply responded (I won't quote you :p) agreeing with me and posting a link to Arno's comment which I was informing you of in the first place. :banghead: So my inquiry went unanswered again.

I'm honestly sorry if I offended you in any way. You have been very helpful to me in other ways such as linking to Ruby scripts that have panned out to be useful. Likewise, you have always been kind.

I only wish you would address specifically asked questions with proven answers and refrain from responding with vague references and links to "things to experiment with". If you do not know, simply say that. It's totally ok to say "I don't know".

Gary, I may not know forum etiquette as you say but I always address folks with respect. Again, I'm sorry if I offended you in any way, shape, or form. 🥰

James
 
Last edited:
Hi James:

As I resume reviewing the latter posts in this thread, I shall reply further as my time permits to address some outstanding issues.

In the mean time, today I took another look at your 3D model in the context of a quick-&-dirty Sketchup render of a Google Earth scene at (2) Buildings SE of "307 Betaflix Fuel AR/VR Demo - Car wash", 945 Davis Ave, Barksdale AFB, LA 71110.

This may prove to be a good setting to test FS9 run time performance rendering your stair 3D model within an actual FS scenery context.


Barksdale AFB_Davis_GE-1.jpg



Here your stair fits closely, (with a few extra steps left over), and a fraction of an inch difference in stair step sizes compared to IRL.

Barksdale AFB_Davis-1.jpg


Perhaps with your FSDev forum moniker- and your co-developer having invested in Lightwave- you may be familiar with this location ? ;)


IIUC, 'AR/VR' alludes to "Augmented Reality / Virtual Reality", that notoriously ends up needing dumbed-down 3D models to maintain FPS.


FYI: MSFS 2020 is ported to allow display through VR; but FS9 may yield better performance via less complex geometry / texture burden.

It might be interesting to have use of such powerful systems to render newer versions of FS with very highly complex geometry.

I'll bet a 'car wash' might be refreshing after a long day of 'slaving over a hot workstation' at a location like this.

Notice that Google Earth shows the "cooling units", probably for high-perf CPUs / GPUs in a small nearby building just to the NW.

I'm not so sure a 'mechanic' modeling fuel pumps and flow physics necessarily would require this type of expensive hardware, though. :laughing:


Barksdale AFB_Davis_GE-2.jpg



More to come... after a bit more 'straying'. :cool:

I hope you have taken the initiative to "experiment" with the options I linked to above, as I believe that will help you ...to help ...yourself. :)

But, I must underscore the importance of using Arno's MCX icon toolbar "Object Information" dialog for accurate imported 3D model stats.:pushpin:

GaryGB
 
Last edited:
ModelConverterX can remove the double-sided option in the materials editor, I believe.

Dick

Hi Dick:

I went back and looked for a MCX feature to remove double-sided Faces, and could only find this reference to "double-sided" in MCX' PDF manual / Options:

"8.10 Replace double sided material by triangles
This function duplicates the triangles for all materials that have the double sided option enabled. It can be useful to have the double sided as geometry, if the system you are exporting to does not support this material attribute. Another advantage of creating them as geometry is that the lighting of the triangles improves."

I also reviewed these apparently related threads which involve that topic, and associated issues of how to reduce geometry complexity for import of 3D model content to MCX via ex: KMZ files- (since MCX still does not import SKP)- and since KMZ's by default are always "double-sided" when exported by Sketchup:

https://www.fsdeveloper.com/forum/threads/dae-vs-kmz.261266/

https://www.fsdeveloper.com/forum/threads/triangles-vertices-and-drawcalls.434086/


IIUC, MCX does not incorporate an interior Face in imported KMZ 3D models if they do not have a UV-mapped Color or texture image Material, so AFAIK, MCX does this internally and automatically ?

[EDIT] Sept.11, 2024:

Although I have not yet found a feature in MCX' Options or Manual intended to remove double-sided Faces (even if UVW-mapped ?), I did find in the MCX Aug 27, 2024 developer release version manual something that "may" be what you alluded to, regarding a feature to 'remove double-sided Faces' ...but only as this obscure description in the Material Editor section for the [Properties] tab:

"6.5.1 Properties tab
The properties tab, see Figure 6.12, gives you a list of all materials in the object and allows you
to modify the properties of each of them. On the left side of the tab you see the list of materials,
while on the right side you see the properties of the selected material(s).
43

{ image not copied from PDF }
Figure 6.12: Material editor properties tab

If you have the Highlight selected checkbox checked, the material that you have currently selected
in the material editor will be highlighted in red in the preview of the object.
You can select multiple materials at once using the Control key, so that you can give a property
the same value quickly. With the Select All and Select None buttons in the toolbar you can
quickly select all materials or none.

With the Remove button you can remove the selected materials from the object. Removing the
material will also remove the geometry that uses this material from the object.


PS: You may be aware that default behavior in Sketchup to create double-sided Faces is also a default behavior in Blender: :alert:

https://www.katsbits.com/codex/double-sided-materials/

"Double-sided Meshes

As briefly mentioned above Blender 2.8+ renders surfaces double-sided by default. It typically does this by duplicating the (often) outward facing surfaces of an object and flipping or inverting them inwards (or vice versa). Aside from their orientation this means both sides are identical, they use the same base materials, the same properties, the same UV mapping etc., with changes to any one aspect being immediately and simultaneously shown on both sides.


Design note: although the ‘viewport’ double-sided effect is ‘on’ by default it can be disabled a number of ways depending on which Viewport Shading mode is active. For more on this see Backface Culling.

Ordinarily to work around this problem objects would need to be hard or physically duplicated and set up to use their own unique properties, materials and UV’s before being inverted (Mesh » Normals » Flip) to produce a model comprising two meshes, one with surfaces pointing outwards, the other with surfaces pointing inwards."


Many of us would prefer to use MCX to perform final processing of our 3D models prior to export to any version of FS.

One might wonder how MCX may process 3D files imported from Blender, and whether Blender exporters can disable 2-sided (sur-)Faces.


As a related consideration, one may wonder if the Blender MSFS exporter(s) perform discretionary back-face culling to reduce complexity ?

https://www.katsbits.com/codex/backface-culling/

"Important: back-face culling is typically the default state surfaces are process(-ed) and rendered (in), thus two-sided surfaces, surfaces appearing solid front and back, are essentially a post-processed effect – a given original (and culled) surface and associated properties are duplicated and flipped to produce the two-sided (simple) effect. In this context neither side acts independently of the other, so they can appear incorrectly shaded or shadowed (the back-side of a leaf should be shaded but is often drawn fully lit per the front-side). This latter problem can be addressed using a double-sided mesh."

https://www.katsbits.com/site/double-sided-faces-different-materials/


[END_EDIT]

Perhaps Arno might comment on exactly what MCX does- and does not- do, as it is not apparently documented in the MCX PDF Manual ?


IIUC, if MCX Material Editor shows a "Material", but no mapped 'Texture' after 3D model import, it implies that Sketchup workspace display of visual cues of Faces having a White exterior and Blue interior are unique to Sketchup itself.

So, Sketchup achieves a 'color' workspace display on Faces without true 3D model UV Material mapping of a color or image texture ? :scratchch


Yet, "un-textured" Collada DAE Sketchup exports imported by MCX ...show mapped Material in Material Editor / T-Verts in 'Object Info'. :yikes:

GaryGB
 
Last edited:
Back
Top