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

Make a Mirror Image of a Model

Presently doing a scenery remake of KFAY with accurate buildings renditions and have need to mirror (not flip) a concourse building. I'm using Instant Object Studio. Mirror is not provided within that program.
Does anyone know of a method to export the model bgl to accomplish this? Thanks.
Zeb Gardner
 
Hi Zeb:

You may find an answer in this thread at the Flight1 'simforums' support forum for Instant Object Studio (aka "IOS"): :pushpin:

http://www.simforums.com/forums/instant-object-studio-export_topic45229.html



You may wish to de-compile the existing BGL output by IOS using Scruffyduck's "BGL2XML" v1.50:

http://www.fsdeveloper.com/forum/attachments/bgl2xml_150-zip.30012/


In Windows Explorer:

1.) Browse to the BGL2XML v1.50 install folder

2.) Right-click BGL2XML_GUI.exe < context pop-up menu appears >

3.) In the right-click context pop-up menu, choose "Run as administrator" < BGL2XML_GUI launches >

4.) In the BGL2XML GUI:

a.) 'check" "Save Models" check-box

b.) Input BGL: Browse and 'select' your {original IOS BGL} file to be de-compiled

c.) Click [Go] button


The resulting de-compiled MDL can be imported into ModelConverterX (aka "MCX").

That 3D model can then exported by MCX into a 3D file format that Sketchup can import.


NOTE: We do not (...yet :banghead: ) have the ability to export a Collada DAE (or KMZ) format from MCX.


So, once a 3D model imported into MCX from a MDL (extracted from a de-compiled BGL) is then exported from MCX as a ex: *.3DS or *.OBJ file format, when we import it into Sketchup, we are likely to have to do a lot of clean-up to remove un-wanted triangulation of faces that lend themselves to an easier work-flow when such faces are mostly "quads".


CAVEAT: The *.3DS file format reportedly does not support 32-bit long file names, so a legacy format "8.3" file name format must be used for 3D models created / saved / exported / converted to *.3DS files.

AFAIK, this means that no more than 8 characters can be used for the filename, and only ".3DS" can be used for the file extension ...regardless of whether such an output file is to be opened in 3DSMAX, GMAX, or Sketchup.


IIUC, it may also mean that the textures mapped onto the 3D model may also need to be in "8.3" file name format.


Based on all the P.I.T.A. and extra work required if utilizing 3DS files, it may be easier to simply export a *.OBJ file from MCX when converting this particular 3D model to a file format that Sketchup can import. :teacher:


FYI: There are some free, and newer plugin Ruby script extensions for Sketchup which may help with simplifying the task of removing / hiding triangulation of coplanar face segments from view during the 3D modeling process (to achieve a more "normal' object face appearance such as we might already have when working in Sketchup and/or other 3D modeling applications). :idea:


If you would add a copy of the original 3D model BGL object (with all of its mapped textures ...as output by IOS) to a ZIP file attached to this thread, perhaps we may explore how the conversion process cited above might work to make the mirrored object in Sketchup, then put it back into a BGL format via MCX. :scratchch

I'm not certain whether it would be possible to re-open the BGL in IOS, but as you know, one may implement most needed features for a 3D model (other than animations) in Sketchup, so it is unlikely that particular 3D model should need to be re-opened in IOS anyway. ;)

GaryGB
 
Last edited:
Thank you, GaryGB, for the extended answer.

Nothing is ever simple is it?

Based on your solution it would be about the same time and effort to just make the mirrored model in IOS.

I looked at Sketchup and found this:
https://grabcad.com/questions/how-to-mirror-in-sketchup

Hi again, Zeb:

IMHO, this task would be "simple" if / when Arno adds the ability to export a Collada DAE (or KMZ) format from MCX. :wizard:


FYI: MCX is unable to fully render the KFAY - Concourse1.bgl as we shall also need the mapped textures ...to save more work:

12:43 PM BGLXReader Information Starting reading of file D:\Downloads\KFAY\KFAY - Concourse1.bgl
12:43 PM BGLXReader Information Starting reading of object 1
12:43 PM BGLXReader Information Finished reading of object 1
12:43 PM BGLXReader Information Finished reading objects
12:43 PM ObjectRenderer Information Starting generating OpenGL arrays...
12:43 PM ObjectRenderer Information Finished generating OpenGL arrays
12:43 PM ObjectRenderer Warning Failed to load texture: aluminum.bmp
12:43 PM ObjectRenderer Warning Failed to load texture: bronze_glass2.bmp
12:43 PM ObjectRenderer Warning Failed to load texture: dr3070flush.dds
12:43 PM ObjectRenderer Warning Failed to load texture: dr6070flush.dds
12:43 PM ObjectRenderer Warning Failed to load texture: KFAY_metal_dark.dds
12:43 PM ObjectRenderer Warning Failed to load texture: KFAY_metal_red.dds
12:43 PM ObjectRenderer Warning Failed to load texture: OHD_8x10.dds
12:43 PM ObjectRenderer Warning Failed to load texture: taxi_concrete.dds
12:43 PM ObjectRenderer Warning Failed to load texture: wall_concrete_white.dds



Could you re-post the ZIP, this time with all the textures 'mapped' onto that 3D model ...included within the (same) ZIP file ? ;)


Additionally, please state in which direction you want to "flip" the model. :scratchch


BTW
: That link you posted above, to the 'mirroring' options is some good troubleshooting research; keep up the nice work ! :)


Also, rather than using Sketchup, do you know if 3DS Max will do a mirror action?

MCX to 3DS

Thanks a heap.
Zeb
Although I personally do not use 3DSMAX and GMAX, I'm confident that 3DSMAX and GMAX are likely to both have a default "mirror" feature that can be used to "flip" such a 3D model with all UVW-mapped textures maintained intact.

If necessary, one may also be able to find a plugin for 3DSMAX and/or GMAX to perform the necessary type of 'mirror' or "flip" procedure; however, AFAIK, it is sometime more difficult to find "free" rather than 'payware' plugins ...as compared to Sketchup.


GaryGB
 
Last edited:
Hi Zeb:

Is the orientation of the 'grouped', duplicated and 'mirrored' 3D model in the attached 'ZIP' of a Sketchup version-8 *.SKP file ...what you wanted ? :scratchch


Because a particular "Cleanup" utility was used on this 3D model, some texture mappings may require adjustment / replacement.


FYI: After the OBJ was imported into Sketchup, sub-groups were grouped into 1-piece, then the default "Flip" function was used (on the Red axis).


< ...Dare I say that Lane Street and Tom Gibson 'might' be proud this was achieved with a default Sketchup function instead of a plugin ? :p >



BTW: Zeb, feel free to do as you wish with the attached 3D model; it was derived from your original, and IMHO, is entirely yours. ;)


Hope this helps ! :)

GaryGB
 

Attachments

Last edited:
Gary,
Thanks for your efforts to make a mirror.
I did not have sketchup loaded and had to download the program to see your file. i have used Sketchup previously.
I deleted the original building leaving the mirrored building. File is attached.
The texture dae file created by Sketchup also had errors and exception.
I then went through the procedure to load as dae file into MCX. Had errors and exceptions with mass texture editor.
Saved mdl and created library and compiled as bgl. Got error on compile as bgl and instead used export to FSX.
Using instant scenery 3 to place in FSX the model came in as black . No textures.
It was also a smaller scale which needed to be scaled up to 3X.
Looks like its a texture problem.
 

Attachments

Hi Zeb:

Yes, I did recall that you were a Sketchup user, and that is why I supplied the above file in a Sketchup SKP file, since I knew it would need some editing by you after the 'rough ride' it had during conversion and cleanup by 3rd party utilities.

BTW: The OBJ import utility in Sketchup required me to declare what the 3D model 'units' were; I guessed that you would likely be modeling in Feet ...rather than in Meters, thus your need to re-scale by "3X".

Or perhaps IOS internally always assigns "Meters" as 3D model 'units' within the BGL ? :scratchch


FYI: By default, Sketchup SKP files 'internally' store textures as JPG format, so when one imports a Sketchup 3D model into MCX, one must manually verify that textures are converted from JPG textures to ex: DDS.

Otherwise the JPGs in the 3D model can not be processed and mapped onto the MDL by MCX during export, and in FS at run time, the 3D model will appear "Black" because the FS rendering engine does not render JPGs, so it treats them the same as it does with "missing" textures.


I'll take look at the SKP file you attached to see if I might offer some additional troubleshooting suggestions. :)

GaryGB
 
Thanks for citing that CAVEAT Tom. :)

I recall reading reports by Bill Leaming and Bill Ortiz in the past, about the initial 'results' they got when the wrong one of those 2 features were accidentally "tested" in projects ! :pushpin:

GaryGB
 
GaryGB,
I want to thank you for your detailed instructions. I believe you must have been an teacher sometime during your past.
Those who need experience must be very appreciative of your post.
Regarding the mirrored building, I was not able to make the file you sent work. It was definite that textures were not included with sketchup converted file. I have since received the mirrored building from Sidney which placed very well with Instant Scenery. He may be able to tell you how he got it to work.
Much abliged for your assistance.
Zeb
 
Hi Zeb:

Glad to see you have a working model now via Sidneys kind consideration. ;-)

I am typing this from a "smart phone" (that has a rather 'low IQ') as I am traveling today, so my available time was too limited to research this more thoroughly ...and on a prompt basis.

I shall still take another look at your original BGL to see if I can establish a work-flow for conversion of MDLs from MCX to a 3D file format that Sketchup can import, using free software that is less complex ...and more successful.

Happy modeling ! :)

GaryGB
 
I've had quick go at doing this with MCX. It's a shame you can't rescale by -1, but;

Import your mdl into MCX, rescale your desired axis by 2 say, export as a .X file.
Open the .X file in notepad, find something like this;

Frame frm_part1 {
FrameTransformMatrix {
2.000000, 0.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000,
0.000000, 0.000000, 0.000000, 1.000000;
}

Change the 2 to -1, save.

Open adjusted .X file in MCX, it should now be a mirror image.
For my test mdl I had to then 'Flip all triangles', also the attached objects weren't mirrored.
 
Top