View Full Version : Tilting trains in trs2004?

June 28th, 2009, 09:48 AM
I was just wondering if in trs2004, when the trains go around a corner, do the trans tilt? Eg:the tgv etc

June 29th, 2009, 08:18 AM
The only programme I know at the moment is the one on offer from the UK website Railwaves, which has a tilting train system for the Virgin Super Voyager Class 221 PAYWARE version. I am hoping that Auran may come up with something similar in the future incorporated into one of their versions, it would be a great feature.....


Cheerz. ex-railwayman.

June 29th, 2009, 09:45 AM
All rolling stock can be made to tilt in a TRS2004 scenario using this API function: Vehicle.SetRollBasedOnTrack( multiplier )

The function must be applied to each individual vehicle in a train. In theory different multipliers could be specified for each vehicle but that would be highly unrealistic.

The resulting tilt angle is a function of the track curvature radius, the train's speed and the multiplier specified in the function. It also depends on the rolling stock, meaning that some experimentation is required to set the correct multiplier value.

Multiplier values above about 5 give excessive and highly unrealistic tilt angles.

Positive multiplier values cause the tops of vehicles to be further outside the curve, while negative values give the opposite effect. In the old Razorback Railway scenario SRR07 "The Love Boat", the user train tilts so that the tops of vehicles are further inside the curve, i.e. the multiplier is negative. Presumably this is prototypical.

I have tested a small number of rolling stock items, all of which react to this function. However, in every case the front bogey stays level and in contact with the track (which is correct), the body of the vehicle tilts (which is correct), but the rear bogey tilts so that the wheels on one side rise above the rail (which is not correct). This appears to be an inherent bug.

In TRS2004, all track is level in the transverse sense. In other words, track cannot be given a camber (or "cant" or "superelevation" as it is sometimes referred to).

Example of coding:

int i;
for ( i = 0; i <= playertrain.GetVehicles().size - 1; i = i + 1 )
playertrain.GetVehicles()[ i ].SetRollBasedOnTrack( -3 );

It might be possible to do something like that in a Rule (and somebody might have done it already), but coding Rules is beyond my level of knowledge.


June 29th, 2009, 11:00 AM
Interesting read actually, john259 :)

June 29th, 2009, 11:05 AM
Is there not already a consist banking script on the DLS?


June 29th, 2009, 06:11 PM

June 29th, 2009, 06:19 PM
If I recall from the old forums, someone was working on some superelevated track. I'm not sure if it was ever made public or completed.