Procedural track or lack thereof

justinroth

Active member
I've been contemplating making some procedural track. I'm wondering why there isn't much out there? Is there a problem with it that I'm missing or what?
 
I've never used it, because I like to use different types of track for mainline/branchline/sidings. Unless something has changed, different types of procedural tracks don't seem to visually connect together correctly. The points are reversed. If you try to merge a rusty track into a silver track, you'll see what I mean. I'd love for this to get sorted out. I have always wanted to get proper turnouts with animation on the route. I know nothing of scripting or content creation, so I'm not much help.
 
Part of the problem is that there is no separate content type for "Track, procedural" so you have to rely on the creators using a meaningful name for their procedural track.

There actually is a growing range of procedural tracks available on the DLS if you know how to look for them.

The following works for me.

Procedural-CMFilter.png


There is a guide to using Procedural track on the Trainz Wiki at https://online.ts2009.com/mediaWiki/index.php/How_to_Use_Procedural_Track

 
May I make some recommendations?

Track by SAM if you don't mind the screw bolts instead of the spikes. There's a ton here with various kinds of ballast ranging from the brown-green to grey and brown. There's also grassy, rusty, old and new varieties as well as ruined.

Track by trainboi1. This is really well made SG and narrow gauge track that works well, meaning it doesn't kink up funny and the ties are the wider ones not the thinner spaced UK and Australian equivalents. These form decent junctions and can be mix and matched with the usual caveat of points being rusty but the rest of the track not in switches.

With so many of them to choose from, ranging from 70 lb. up to 136 lb. track, I'll say look on the DLS it's easier than listing them out.

Zec Murphy just made some really, really nice BG and SG track. This is of the lighter Australian version, but his track is so well made it'll work all over especially for our lighter lines. Look under his id S301 and his track is found on the DLS.

Hope this helps. These are only a few of the latest content creators producing really nice track.
 
I was going to comment that if you do search in CM filtered by category "track", min built "4.2" and name "procedural" you get some 79 items and some are the bits and pieces that are used to make up the procedural track and not the actual track asset you lay down as track on the route. Filter with "pro" instead of "procedural" and I get 502 items.

But I think there's more procedural track without "pro" in the name than with it. Drop the "pro" filter and I get almost 6000 items. Some might not be procedural track but most are or at least are pieces of pro track. Right now though there is no way I see to filter out the bit and pieces - mostly child splines that are attached to the track kind "ballast" part - the asset that you actually lay down on the route. I can't search on that in CM. Is there anyway to filter out all the extra stuff that is returned with the category track search?

I don't think any of the procedural track by the authors cited in the above post by John have "pro" in the name and there are a number of other examples. There is no standard and no
separate category to identify it as pointed out by pware in post #2

Bob Pearson
 
Last edited:
May I make some recommendations?

Track by SAM if you don't mind the screw bolts instead of the spikes. There's a ton here with various kinds of ballast ranging from the brown-green to grey and brown. There's also grassy, rusty, old and new varieties as well as ruined.

Track by trainboi1. This is really well made SG and narrow gauge track that works well, meaning it doesn't kink up funny and the ties are the wider ones not the thinner spaced UK and Australian equivalents. These form decent junctions and can be mix and matched with the usual caveat of points being rusty but the rest of the track not in switches.

With so many of them to choose from, ranging from 70 lb. up to 136 lb. track, I'll say look on the DLS it's easier than listing them out.

Zec Murphy just made some really, really nice BG and SG track. This is of the lighter Australian version, but his track is so well made it'll work all over especially for our lighter lines. Look under his id S301 and his track is found on the DLS.

Hope this helps. These are only a few of the latest content creators producing really nice track.

Don't forget Pencil42 if you're looking for procedural track that's appropriate for shortlines or branchlines in the first half of the 20th century.
 
Don't forget Pencil42 if you're looking for procedural track that's appropriate for shortlines or branchlines in the first half of the 20th century.

That's right. Curtis' 60lb. track is great for the olden days and also for very lightly used branch lines and even transit lines.
 
I am working on NG24 and 600mm procedural track that will be available in the next few days/weeks.

Nothing is straight in this DHR track on purpose.

The guy that put the track pins in has been moved to another job now. :hehe:

The 600mm will be 'proper' track with neatly spaced sleepers and track fixings :D

My-Trainz-Screenshot-Image.jpg


cheers,

Graham
 
There is a variety of track prefixed ASCE which is procedural, different gauges and rail size too. The only snag I found is that the ballast is a bit bright.

Where Protrack is a bit lacking is for Russian wide gauge. We only seem to have the one TSM which is actually standard gauge, none of the other great types have been touched. I assume the Russians etc. like to use their fixed track points, but while okay in simple situations these can quickly become time consuming doing a complex junction, station or yard.

I agree that clean to rust transition at points and switches can look odd, you get a slight overlap of the clear track onto the switch blade and the adjoining rail, where these would be rusty as well. Presumably a core algorithm which N3V need to address.
 
Thanks you all. I found a whole bunch more but unfortunately I keep running into the issue of PBR ballast. I use one type of embankment and multiple ballast texture splines in my routes all sharing the same ballast type (JR dkgry). I was trying to avoid updating all of these assets and it seems there aren't many pro tracks that aren't PBR. I finally found a whole bunch by ILIOSIN (TSW PTS) the ballast matches perfectly and even though it is PBR it doesn't produce the odd shadow and "ripping" effect where the mesh meets a non-PBR texture but come to find out they are a slightly wider gauge than what I need for U.S. trackage. I was totally bummed.
 
...
I finally found a whole bunch by ILIOSIN (TSW PTS) the ballast matches perfectly and even though it is PBR it doesn't produce the odd shadow and "ripping" effect where the mesh meets a non-PBR texture but come to find out they are a slightly wider gauge than what I need for U.S. trackage. I was totally bummed.
Don't dispair at least if it's for a route you won't be distributing. One good thing about procedural track is that it is made up of a number of pieces that you can play with. The following pic shows the result of cloning and changing just a couple of config tag values and the original broad gauge now matches with standard gauge track - and looks pretty good. In this case the gauges differed by only 3 3/8" so an easy fix - only track guage, check gauge and lateral offsets for rails and chairs have to be changed. My one complaint if used on US routes is the checkrails use different profile but it's hard to see.

My-Trainz-Screenshot-Image.jpg


License says "Public sharing this content or its modifications is prohibited without permission by the authors", so contact authors ILIOS, Nemo if you envision any use beyond your own route.

Bob Pearson
 
Last edited:
Don't dispair at least if it's for a route you won't be distributing. One good thing about procedural track is that it is made up of a number of pieces that you can play with. The following pic shows the result of cloning and changing just a couple of config tag values and the original broad gauge now matches with standard gauge track - and looks pretty good. In this case the gauges differed by only 3 3/8" so an easy fix - only track guage, check gauge and lateral offsets for rails and chairs have to be changed. My one complaint if used on US routes is the checkrails use different profile but it's hard to see.

My-Trainz-Screenshot-Image.jpg


License says "Public sharing this content or its modifications is prohibited without permission by the authors", so contact authors ILIOS, Nemo if you envision any use beyond your own route.

Bob Pearson

You're able to change position of the rail? That's awesome! Did you do it with position x,y,z in the config?
 
Possible good find with the TSW PTS, if it is to Russian gauge.

Edit: Yes confirmed it is a lovely selection of 5' track types, procedural. Definitely could lead to dusting off some projects that were mothballed owing to CBA to faff about with fixed points.
 
Last edited:
You can change the ballast texture too if you want. I did that with the old LRW track to create some dirt instead of ballast for some rusty track and also to change the bright-white ballast to the JR US ballast I was using at that time as well.

You need to locate the texture library and modify the textures appropriately. In my case, I changed that texture to JRs Dirt texture which matches very closely to their rusty siding track. I took the LRW rusty track with flat bottom and converted that and also removed rails on one and created a tie spline.

Here's the grey ballast I used by JR on the LRW track.

attachment.php
 

Attachments

  • 2018-05-18 130429.jpg
    2018-05-18 130429.jpg
    102.3 KB · Views: 120
You're able to change position of the rail? That's awesome! Did you do it with position x,y,z in the config?
No, it's changing the lateral-offset tags in the attached-splines container. Plus the track-gauge and check-gauge tags have to be changed.

Track-gauge is standard definition - inside face of rail head to inside face of rail head on the running rails. That's 56.5 inches for standard gauge.

Check-gauge per N3V is the distance between the inside face of one running rail, and the outside face of the check rail positioned next to the other running rail. In other words the track gauge minus the clearance distance between the inside face of the running rail and the outside face of the adjacent check rail.

The input is in meters and N3V use 1.436m and 1.395m respectively for their std gauge track. The clearance width they used is just the difference between the two so 0.041 m. For the mods though I used the clearance I calculated from the track I modified (in above pic) which is 0.035m. As I noted the profile used for the check rail in that track doesn't appear to be the same as the running rail. I think the assumption that the same profile is used for both is built into N3V's definition. But that value is strictly visual in Trainz and if you think it's too close you can be adjust it to suit.

The width of the rail head you have to get from the right/left rail assets actually modeled for this track. They're referenced in the attached-spline container and the width's provided as the "rail-width" tag value in the right/left-rail asset config.txt.

The lateral offsets for rails and chairs is from centerline of track to the local origin of the asset so it's just one half the sum of the track gauge and the width of 1 rail head. I get the width of the rail used from rail-width tag in it's config file which is 0.0836m. So lateral offset is (1.436+0.0836)/2 = 0.7600m. Use +0.76 offset on the right side and -0.76 on the left. This assumes the track is centered about the mesh origin and the rails and chairs are also symmetrical about their local origins which is probably true for the vast majority of the track out there.

Here's before and after numbers:

original:
Code:
track-gauge                             1.52
check-gauge                             1.485

attached-splines
{
  rail_left
  {
    lateral-offset                      -0.813
    ...
  }
  
  rail_right
  {
    lateral-offset                      0.813
    ...
  }
    
  chairs_left
  {
    lateral-offset                      -0.813
    ...
  }
  
  chairs_right
  {
    lateral-offset                      0.813
    ...
  }
}
No change to sleepers - they stay on the centerline.

modified:
Code:
track-gauge                             1.436
check-gauge                             1.401

attached-splines
{
  rail_left
  {
    lateral-offset                      -0.76
    ...
  }
  
  rail_right
  {
    lateral-offset                      0.76
    ...
  }
  
  
  chairs_left
  {
    lateral-offset                      -0.76
    ...
  }
  
  chairs_right
  {
    lateral-offset                      0.76
    ...
  }
}
Good luck and read the license on all you clone and modify to verify it's at least permitted for personal use. For non personal use you must get permission from the author(s) if it's not explicitly given in the license.

Bob Pearson
 
Last edited:
No, it's changing the lateral-offset tags in the attached-splines container. Plus the track-gauge and check-gauge tags have to be changed.

Track-gauge is standard definition - inside face of rail head to inside face of rail head on the running rails. That's 56.5 inches for standard gauge.

Check-gauge per N3V is the distance between the inside face of one running rail, and the outside face of the check rail positioned next to the other running rail. In other words the track gauge minus the clearance distance between the inside face of the running rail and the outside face of the adjacent check rail.

The input is in meters and N3V use 1.436m and 1.395m respectively for their std gauge track. The clearance width they used is just the difference between the two so 0.041 m. For the mods though I used the clearance I calculated from the track I modified (in above pic) which is 0.035m. As I noted the profile used for the check rail in that track doesn't appear to be the same as the running rail. I think the assumption that the same profile is used for both is built into N3V's definition. But that value is strictly visual in Trainz and if you think it's too close you can be adjust it to suit.

The width of the rail head you have to get from the right/left rail assets actually modeled for this track. They're referenced in the attached-spline container and the width's provided as the "rail-width" tag value in the right/left-rail asset config.txt.

The lateral offsets for rails and chairs is from centerline of track to the local origin of the asset so it's just one half the sum of the track gauge and the width of 1 rail head. I get the width of the rail used from rail-width tag in it's config file which is 0.0836m. So lateral offset is (1.436+0.0836)/2 = 0.7600m. Use +0.76 offset on the right side and -0.76 on the left. This assumes the track is centered about the mesh origin and the rails and chairs are also symmetrical about their local origins which is probably true for the vast majority of the track out there.

Here's before and after numbers:

original:
Code:
track-gauge                             1.52
check-gauge                             1.485

attached-splines
{
  rail_left
  {
    lateral-offset                      -0.813
    ...
  }
  
  rail_right
  {
    lateral-offset                      0.813
    ...
  }
    
  chairs_left
  {
    lateral-offset                      -0.813
    ...
  }
  
  chairs_right
  {
    lateral-offset                      0.813
    ...
  }
}
No change to sleepers - they stay on the centerline.

modified:
Code:
track-gauge                             1.436
check-gauge                             1.401

attached-splines
{
  rail_left
  {
    lateral-offset                      -0.76
    ...
  }
  
  rail_right
  {
    lateral-offset                      0.76
    ...
  }
  
  
  chairs_left
  {
    lateral-offset                      -0.76
    ...
  }
  
  chairs_right
  {
    lateral-offset                      0.76
    ...
  }
}
Good luck and read the license on all you clone and modify to verify it's at least permitted for personal use. For non personal use you must get permission from the author(s) if it's not explicitly given in the license.

Bob Pearson


thank you! I crunched the numbers and came up with some slightly different and was kinda stumped.
 
I was just wondering about instances where I have invisible track at a junction with pro track. The spline is flashing white and red, does this matter?
 
I was just wondering about instances where I have invisible track at a junction with pro track. The spline is flashing white and red, does this matter?

The flashing indicates that the junction isn't formed perfectly usually due to the radius being too tight. What I have found is this also occurs if you use invisible track plus the procedural track, or the older non-procedural track with procedural track. If the junction is still flashing, it'll work okay, but won't have the point formed. For the procedural track, you want to fix that, but with the other you'll never get the points so it's nothing to worry about. What you need to worry about, though is if you have a solid red spline point. This means the junction is completely malformed and won't work at all.
 
The flashing indicates that the junction isn't formed perfectly usually due to the radius being too tight. What I have found is this also occurs if you use invisible track plus the procedural track, or the older non-procedural track with procedural track. If the junction is still flashing, it'll work okay, but won't have the point formed. For the procedural track, you want to fix that, but with the other you'll never get the points so it's nothing to worry about. What you need to worry about, though is if you have a solid red spline point. This means the junction is completely malformed and won't work at all.

I made it through a decent part of my route and encountered a few flashing splines, remedied by get height/apply height but I'm the instances of invisible track used for derails that's good to know that the junction is valid. Thanks and good to see you around!
 
Back
Top