Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - GG_Train

Pages: [1] 2
Other Projects / Re: [RELEASED] (WIP) 1970s Routes
« on: March 17, 2018, 03:32:53 pm »
Hi ... what I mean as contemporary is the time we have spent on this earth and where we call home.  I find it very interesting.  Have you ever been to New York?

Other Projects / Re: [RELEASED] (WIP) 1970s Routes
« on: March 17, 2018, 11:30:52 am »
Do you use SketchUp, photoshop, or some other cad application to create your images,csv,b3d files. Also looking at your profile how is it that you have an interest in NYC subways given that time period you are modeling? I thought you were my contemporary (look at my profile).

My work now consists of images from Google Earth and Google Maps Street View to give more realistic surroundings and buildings. Also the reduction of detail from 500 feet to 250 feet on either side of track 0 delivers better performance.  There is no need to add detail that will most likely never be used. The use of TRACK.GROUND builds the surroundings and not much use of TRACK.FREEOBJ. I would like some feedback on this. This route mixes fact with fiction and starts from Tottenville on the current SI Railway line.  Currently the fiction is the reconfiguration of this route to subway standards such as signaling and longer stations.  Additionally fictional apartment buildings and commercial buildings will be placed at strategic points, most likely in sparse areas to give a more urban look to Staten Island, as it would have been had the subway been extended there.  The current aerial illustration has one fictional apartment house in the distance.  Further along the route there are expanses of empty land between the stations of Arthur Kill Road, Richmond Valley Road, and Pleasant Plains.  This area will be filled with high rise apartment houses and an overpass for Shore Front Drive, the proposed highway that would have cut across this area.  It is not out of the question that this fictional landscape would be a possibility had subways made it to Staten Island.

Check out the comparisons of the aerial views.

Old Aerial Shot (500 feet on either side of track 0, free hand drawing with some canned objects):

New Aerial Shot (250 feet on either side of track 0, Google Maps, street view, canned objects - has 75% to 90% less faces):

More than halfway to Arthur Kill Road and performance is good. How is it possible that FPS is 100? Also most of the surrounding scenery and objects are placed in ground objects built in SketchUp.  When I get to Arthur Kill Road I will try reversing the route using these ground objects.  Curves are tricky, but I have a method in mind to fractionally reduce or expand the size of the group in SketchUp containing the ground object depending upon the direction of the curve.

Other Projects / Re: [RELEASED] (WIP) 1970s Routes
« on: February 24, 2018, 09:00:23 am »
Reduce those signs to 256x64 or 256x128. You will not know the difference from far away.  Keep them in PNG format to reduce the size of the file.

Other Projects / Re: [RELEASED] (WIP) 1970s Routes
« on: February 23, 2018, 06:05:32 pm »
Hi ... are you using PNG files or JPG files for your images.  Also what are the dimesions of your images?  Looks real good ... and yes these things take a lot of time and effort. 

It looks like you do like to pay attention to detail like myself.  Because I am designing an outside line that will eventually go into a subway, I am using the GROUND command for surfaces, buildings, street lights, etc.  Also for fencing not rendered by the DIKE command.  What are your thoughts about this?

Hi, have a lot going on including my route update.  I have decided to take a new approach.  Building a route is tedious work, and depending on the complexity, development time could be very long.  As with most of my hobbies, and even in daily life I tend to want to make things complex.  My first iteration of this route was a learning process, and while my results were good there was room for improvement.  My objects had too many faces, some objects used alpha channels, and I tended to scratch build objects instead of using image files.  When I did use image files they were not sized using the power of 2 rule. Performance suffered.

This iteration has incorporated the following:

  • Use of PNG files for rendering objects such as stations, entrances, buildings, tracks, and signals.  Using image files in combination with transparency drastically reduced the number of faces required by 90 to 95 percent.

    Image files are all power of 2 sized.

    Elimination of all alpha channels. Use of color matching for transparency.

    Over 500 signal combinations that are dynamically defined when needed using the preprocessor. Signals have two styles, round or shaped.  The round combinations are finished.  The shaped ones are only done for horizontal signals.

    Use of Google Earth to accurately pinpoint route location, surfaces, and buildings.

    Reduction in scenery from 500 feet on either side of track 0 to 250 feet.

So far the results and rendering times have met or exceeded expectations.  I will be absolutely sure when the route is done from station to station (to Arthur Kill Road).

Here are some sample images:

View from front cab waiting to leave Main Street - Tottenville.  Yard signals to the right. All signals use round lens casings.

Same view further back, perhaps from a shorter train.  The current station overpass at Main Street needs to overlap the longer station required for subway trains.  The curve also starts before the station ends.  Google Maps was used to iron out these details.

Station entrance at other end.

Station entrance from another angle.  Tottenville now has a new apartment building.  Staten Island is much more urban because of the subway.

Reverse view showing end of the line and yard ends.

Reverse view further down the track with station in view and yard entrance.

Yes. That is why I am looking at it more closely.  Sometimes a simple revamp of a .csv file used as a repeated image to reduce the amount of faces will be enough to render images quickly to make the game acceptable. It's long and tedious work.

Having some issue with FPS and loading times.  I need to assess some of my work, so I am revamping the route.  Stay tuned.

Updates are slow, but work is being done. In order to get quicker rendering, the number of faces must be reduced.  This image is of Girard Street in Tottenville looking towards the tracks.  Originally this view which is is 25 meter section had 12000 faces. It now has only 2000 with better detail because the textures are image files rather than vectors. An automobile that once had 500 faces now has 25. A bus with 1200 faces now has 55. More textures have to be loaded, so I am not sure if there is a downside to that.

Another street scene on Ellis Street which runs adjacent to the tracks with fictitious bus route.  More updates for downloads to follow. Buses and cars will be included.

OK. Here you go.  A zip file containing all the files of my work done so far.  Included are all the SketchUp files also.  See my tutorial on how to convert SketchUp files to CSV format.

Hi,  I would like to share with you the process of converting SketchUp files to CSV format.  This has been successful in thousands of conversions with the exception of ONE single failure due to hidden geometry causing null faces.  There are 2 versions of this conversion: the first will convert each SketchUp image to have triangular faces only; the second or enhanced version eliminates common sides of the triangles to create a many sided polygon.  The limitation here is that concave polygons will not render correctly in most cases.  This limitation is by design in OpenGL, so the best way to eliminate the concave polygons is to do it manually in SketchUp rather than via an external conversion program which would be very complicated to design and build for 100% accuracy.  It is much easier to add a few lines in SketchUp.

The results are never distorted and are on the proper axis.

STEP 1 contains the executable files SketchUPXML2CSV.exe and SketchUPXML2CSVEnhanced.exe.  Place them in a directory of your choice.

STEP 2 contains the Ruby Script files to act as Plugins for SketchUp 2017.  These files are bve_export.rb, bve_export_enhance.rb, and b3d_config.rb.  You edit and must substitute the directory name including drive letter of the location of the executable files in bve_export.rb and bve_export_enhance.rb.  All 3 files should be placed in the following directory "C:\Users\%USERNAME%\AppData\Roaming\SketchUp\SketchUp 2017\SketchUp\Plugins".


Close SketchUp if it is already opened.  Open up SketchUp again and you will notice the following added under Tools

Enhanced Export to BVE
Enhanced  Export Selected to BVE
Enhanced Export to BVE 2 Sides
Enhanced  Export Selected to BVE 2 Sides
Export to BVE
Export Selected to BVE
Export to BVE 2 Sides
Export Selected to BVE 2 Sides

As stated before the enhanced tools create polygons from common sided triangles while the standard version just uses the triangles. The Selected versions only convert the currently selected faces in SketchUp. 2 Sides outputs 2 sides of the face.  Trees and fire hydrants use 2 dimensional images that cross each other at right angles.  SketchUp files using images such as these require the 2 sides to be drawn.


The conversion process works as follows:  SKP ==> XML ==> CSV

The Ruby Script files convert SKP files to XML format using SketchUp's internal objects to cycle through the faces organized by material.  The executable files SketchUPXML2CSV.exe or SketchUPXML2CSVEnhanced.exe convert XML files to CSV format.  These executable files are created via Visual Studio 2017 C# solutions.  I have attached zip files and  Each contain the C# solution and source code for the appropriate conversion program.  Other solutions could be built for formats other than CSV.  The XML files can be deleted manually as they are never needed after the conversion is successful.  I could have put some code in place to perform that task automatically.  I may do so in the future.

If the conversion programs find a material name in SketchUp preceded by a #, it will also set an emissive color. This is useful for lighting.  For example, a material name of #Green which contains an RGB value of (0,255,0) will set an emissive color using the same RGB values.  When applied to a signal it would show a lighted green color.

NEVER use "<" or ">" characters in material names.  The XML loader will fail.  I may add code to substitute those characters with "[" and "]" respectively.

Textures using files have no prefixed directory.  The assumption is that the texture files reside in the same directory as the CSV file.

An example of a generation of concave polygons would be a ring or border. For the enhanced conversion to work correctly, rectangular borders must have their edges connected by a diagonal line to eliminate the concave polygon.  Rings have two circles whose edges must be connected by a line.  Also concave polygons can be eliminated by using the Fredo Tools Curviloft plugin in SketchUp.  I would use this plugin for subway door window borders.

The zip files are located here:,r2c6z6p3ulx87ip,8y7gaww777p2quw/shared

Ok, I have not posted in a while. I was away on vacation a lot over the summer and now I am working on my O-Gauge subway layout in addition to this.  I have the tracks down from Tottenville to Richmond Valley Road.  No new signals have been added yet and I am working on scenery which is about 400 meters away from the Arthur Kill Road station.  Here is a shot of beautiful Tottenville USA.  I have one fictional apartment house and may add another mid-rise.  After all, Staten Island will have some Queens influence as it now has a subway.

Regarding the conversion program from SketchUp.  I will share this in detail.  The conversion has only failed ONCE because of strange hidden geometry that I was able to remove.  That is one time for thousands of conversions.  The enhanced conversion combines triangles to reduce the number of faces.  Concave polygons behave erratically.  This is a limitation of OpenGL.  The conversion program first creates an XML file via a plugin and then runs an executable written in C# to convert the XML file to CSV format.  It is sophisticated enough to minimize the number of polygons and use a material naming convention to light up faces which is useful for signals.

Tottenville USA!!!

Hi everyone.  The status of this project is that I completed the track from Tottenville to Richmond Valley Road.  This includes curves and pitch, but no signals.  The Main Street - Tottenville station houses and mezzanine is complete with signage.  Miscellaneous markers for train lengths and other station artifacts (subway maps, station seats, garbage pails, stairs from tracks to platform, etc.) will soon be added.  Details on both sides of the tracks go out about 500 feet on each side complete with streets and pavement.  This detail will make building a reverse direction easier.

Here are a few more images:

1. Exit at end of platform to Bentley Street, Tottenville Beach, and the Perth Amboy Ferry.

2. Entrance on Ellis Street to mezzanine.

3. Exit at start of platform to Main Street and Ellis Street.

4. Bentley Street station house.

Pages: [1] 2