BVEStation Forums

BVE => Other Projects => Topic started by: GG_Train on May 30, 2017, 11:29:51 pm

Title: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on May 30, 2017, 11:29:51 pm
Hi,

I have known of OpenBVE for some time and did some minimal work to get familiar with the product.  About 2 years ago I detailed a comprehensive fictional subway plan for Staten Island.  The details are here http://www.nyctransitforums.com/forums/topic/47689-staten-island-fantasy-system-useful-for-future-bve/ (http://www.nyctransitforums.com/forums/topic/47689-staten-island-fantasy-system-useful-for-future-bve/).  One of the lines takes the existing 2nd Avenue plan and extends it to Staten Island via Governers Island and the Red Hook Tunnel to St. George, Staten Island using Brooklyn as an anchor.  The existing SIR route would be modified to handle subways with signals, new structures and expanding the right of way.

I would like to build my objects as detailed as possible, so I wrote a program to create vertices and faces using primitive objects (rectangle, circles, polygons, etc.).  Although I had success it was equivalent to blindly building objects.  I needed something visual.  Enter Sketchup.  I have become quite experienced in using this product over the last year and wanted to find a way to export from .skp files to .csv files recognizable by OpenBVE.  My success was limited until I found a plugin that extracted meshes, faces, and vertices.  This plugin generated an XML file and had a trial version conversion program that converted the XML format to B3D format.  Sadly there is no longer any support for this so I wrote my own conversion program to generate .csv object files.  The results were fantastic, but there are downsides where the triangulation of the polygons generate quite a lot of faces as well as some problems with reverse faces that can be corrected building the Sketchup model.

I have somewhat coded up the Tottenville yard, rendering it size-wise as closely as possible aided by Google Maps satellite view.  I have built custom signals and am investigating how to integrate them with the Signal namespace if at all possible.  For signal identifiers I will use the chaining for the current 2nd Avenue line.  One problem is that the distance markers go negative based on the current use of the IND zero point where a current signal at 72nd Street is marked as 1168.  So when the identifier goes negative, I will precede the number with an "M" for minus.

Other issues concern FPS which is not to high, barely cracking 20 with a CPU running full throttle and my laptop fan running at full steam.  I am using a nearly 5 year old Sony VAIO 2.2 GHz Quad Core i7 running under 64-bit Windows 7 Home Premium with 8GB of RAM.  My graphics card is the NVIDIA GeForce GT 540M with 4GB of memory.  Not sure if this is a problem.

Anyway here are some screen captures.

1. Regional Plan using Scribble Maps

(https://farm5.staticflickr.com/4288/35878563036_dc72f20309_b.jpg)


2. Forward View showing signals, bumpers, and crossovers.

(https://farm5.staticflickr.com/4302/35134615224_6fc1e0722a_h.jpg)

(https://farm5.staticflickr.com/4296/35974504545_a65554f52c_h.jpg)

(https://farm5.staticflickr.com/4326/35974504815_fd0b39dd0e_h.jpg)




Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: TrainKidKris on May 31, 2017, 11:43:59 am
Good job
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on June 07, 2017, 01:13:45 am
Ok, here is an update.  I had to update the configuration of the switches and yard leads given the curve extends some 125 meters past the point where the curve originally ended.  Also I have reduced the polygon count for the signals by 80 percent.  This was an FPS killer.

This is my first rendition of the station frame.  I will be modifying the beams slightly for better definition, add the station name, subway maps, and other signs.  There will be an exit to the fictitious Perth Amboy ferry.  The Jersey Coast line is less than a mile from the Tottenville station.

(https://farm5.staticflickr.com/4324/35803775202_84bf4e7ca0_h.jpg)


Aerial View Showing Tottenville Beach and approach to yard and station.  For scenery I am using Structure.Ground to define a scene every 25 meters.  Images for Ground need not be just ground.  It is possible to place objects above the y-axis, so trees, buildings, and other landscaping can be place there.  Can experienced users validate this technique for me?  I viewed the OpenBVE source code and there seems to be no limitations for the number of objects for Ground, Dike, etc.  Memory is your limiting factor.

(https://farm5.staticflickr.com/4308/35974505795_6557365475_h.jpg)


Here is Tottenville Beach with the station visible behind the trees.  This may be overkill, but I enjoy that detail.

(https://farm5.staticflickr.com/4302/35974505665_e68d4474b4_h.jpg)


On the platform viewing southbound with the Arthur Kill visible behind the trees.  The Tottenville station is 6 feet above sea level.

(https://farm5.staticflickr.com/4328/35974505865_72560a8c29_h.jpg)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: coneyislandDFNQ on June 07, 2017, 10:36:20 am
I am very impressed keep up the great work, I will definitely be looking at how this project progresses
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: BVERailer on June 07, 2017, 09:54:43 pm
Looking nice! Keep up the great work!
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on June 16, 2017, 11:52:48 pm
Hi, here are some more images.  These will be my last images until I finish a one station route video showing an R1 running from Tottenville to Arthur Kill Road. I will be on vacation for a while, plus I will be working on my O-Gauge hobby also.  I have expanded my Sketchup to CSV conversion program to eliminate the triangulation of faces in most cases.  This program removes common edges for a face but the rendering fails for concave polygons which is correct by design given the limitations of OpenGL.  It is easy however to add line segments to make convex polygons in those cases.

Anyway here are the images:

Look at the route sign for the T train.  It goes to "Downtown" Staten Island (the St. George area) via Staten Island's South Shore, then uses the Red Hook Tunnel to get to Manhattan.  The bullet is colored turquoise.

(https://farm5.staticflickr.com/4328/35974505985_eb32338457_h.jpg)


Here are several lighted yard signals.

(https://farm5.staticflickr.com/4303/35974506055_ee5982aff6_h.jpg)


And here are the new lighted interlocking signals for the switches in the view.

(https://farm5.staticflickr.com/4321/35974506745_da57969563_h.jpg)


(https://farm5.staticflickr.com/4294/35974506775_d2cba16784_h.jpg)

Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: TJay1724 on June 18, 2017, 08:26:30 pm
This looks absolutely amazing!!!
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: Fan Railer on June 20, 2017, 04:48:04 am
I'm really digging those new signals!
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on July 17, 2017, 01:21:38 pm
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.

(https://farm5.staticflickr.com/4301/35134618414_7e94a5b369_h.jpg)


2. Entrance on Ellis Street to mezzanine.

(https://farm5.staticflickr.com/4306/35134618534_8ab463e644_h.jpg)


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

(https://farm5.staticflickr.com/4320/35974506905_422da0550f_h.jpg)


4. Bentley Street station house.

(https://farm5.staticflickr.com/4310/35974506965_cde9d2eab3_h.jpg)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: WizDaGamer on July 18, 2017, 12:16:28 am
Awesome!
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: MtaR160 on August 19, 2017, 09:57:56 am
Please Can You Teach Me How To Do This,This Failed Everytime, Can You Give Me Your Conversion Program So I Can Convert, I'm A Newbie But I Was To Be A Developer, Please Give It To me
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on October 06, 2017, 01:29:04 am
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!!!

(https://farm5.staticflickr.com/4513/36815542174_321d0e65a2_h.jpg) (https://flic.kr/p/Y6gh49)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on October 07, 2017, 11:17:14 am
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.

http://www.mediafire.com/file/b9tu2ucq8f2qu7q/NYCT_T_Line_OpenBVE.zip (http://www.mediafire.com/file/b9tu2ucq8f2qu7q/NYCT_T_Line_OpenBVE.zip)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on October 12, 2017, 12:52:36 pm
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.

(https://farm5.staticflickr.com/4449/37657438181_fcf85e5885_h.jpg) (https://flic.kr/p/ZnEdpx)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on November 02, 2017, 11:30:09 pm
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.

(https://farm5.staticflickr.com/4473/38074217976_b14b74d2f5_h.jpg) (https://flic.kr/p/211ujw5)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on November 08, 2017, 11:49:52 am
Having some issue with FPS and loading times.  I need to assess some of my work, so I am revamping the route.  Stay tuned.
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: coneyislandDFNQ on November 08, 2017, 04:33:27 pm
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.

(https://farm5.staticflickr.com/4473/38074217976_b14b74d2f5_h.jpg) (https://flic.kr/p/211ujw5)

Excellent work. Very good when it comes to scenery and track layout. Just make sure that most people can run the game. Your route wont gain much support if members are unable to play it. But very good work.
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on November 10, 2017, 10:45:27 am
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.
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on February 23, 2018, 02:06:25 pm
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:


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.

(https://farm5.staticflickr.com/4631/25571789507_e0cdb4d79f_h.jpg)

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.

(https://farm5.staticflickr.com/4709/39546585325_d0b17e2f06_h.jpg)

Station entrance at other end.

(https://farm5.staticflickr.com/4669/40398977032_71fd830cb2_h.jpg)

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

(https://farm5.staticflickr.com/4753/39546585715_a7a67c368e_h.jpg)

Reverse view showing end of the line and yard ends.

(https://farm5.staticflickr.com/4744/25571789807_331b9f7d31_h.jpg)

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

(https://farm5.staticflickr.com/4650/39546585895_039f5fbaaa_h.jpg)




Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on March 17, 2018, 12:21:11 am
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.
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on March 17, 2018, 01:03:42 am
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):

(https://farm5.staticflickr.com/4513/36815542174_321d0e65a2_h.jpg)

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

(https://farm1.staticflickr.com/813/39042683400_9747c5e841_h.jpg)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: BadriveR142A on March 17, 2018, 04:26:20 am
Wow just WOW
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on June 26, 2018, 05:47:57 pm
Hi everyone.  Its been a while, but I am still building. I am nearly at the Arthur Kill Station and decided to deviate a little.  The T train must have a subway yard.  The area bounded by Richmond Valley Road, Page Avenue, an the old Nassau facility is called Mill Creek.  It is flat and an ideal location for a yard and maintenance facility.  What I did was model a yard based on the Corona Yard.  It will need to be broken up in slices to render properly.

(https://farm2.staticflickr.com/1769/41220016670_4727251de9_h.jpg)

(https://farm1.staticflickr.com/846/29158139778_2c012ad7a1_h.jpg)

(https://farm1.staticflickr.com/841/41220016820_9f63806315_h.jpg)

(https://farm2.staticflickr.com/1825/29158139988_5e0b0cca69_h.jpg)

Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on June 26, 2018, 05:56:45 pm
The yard is also home to the T train which uses the new technology trains R160 and R179.  For testing purposes I drive using the R1.  I wanted to build a train.  This is my first attempt.  Trains are configured as ABBBA, 10 car units.  Car numbers 8525-8529 and 8692-8696 have destination MAIN ST TOTTENVILLE.  Car numbers 8703-8707 and 8804-8808 have destination 125 ST BROADWAY.  Each individual unit has approximately 250 faces.  Shown here is a TOTTENVILLE train.

(https://farm2.staticflickr.com/1782/42124759885_62e76c3ba3_h.jpg)

(https://farm2.staticflickr.com/1799/42124759895_bbc071d22d_h.jpg)

(https://farm2.staticflickr.com/1788/42308069364_91c6511f8d_h.jpg)




Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on June 26, 2018, 06:07:16 pm
Initially I attempted to build a yard using RAIL commands.  That was nearly impossible.  It was therefore built as an individual object which will be sliced up at 25 meter intervals.  I have a dynamic signal generator which is a text file and uses include files to set parameters via the $Sub command.  That text file is included in the loaded CSV file to run the game.  I will use the signal generator to add signals to the yard.  Furthermore I may build a train placement generator based on car identifier.
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: NyC646 on June 26, 2018, 06:38:15 pm
Looking great, can't wait for the finished route.  8)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on June 27, 2018, 11:52:56 pm
Trains in the Tottenville station and the small layup yard.

(https://farm1.staticflickr.com/915/42153533045_8346d35c2d_h.jpg)

(https://farm2.staticflickr.com/1790/42153532965_ca022d04f3_h.jpg)
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: Shawn1995 on July 25, 2018, 12:03:43 am
Amazing!
Title: Re: NYCTA (T) Line Tottenville (SIR) to 125 St. Broadway via 2nd Ave using Sketchup
Post by: GG_Train on August 04, 2019, 07:26:00 pm
Hello. I am back. Working on a solution to remedy stuttering.