Object Rotator for MSTS Route Editor
Version 2
freeware by Michael Vone


Version 2 adds several new functions. Version 2 is independent of my Step by Step Guide to Route Building (version 1 was bundled with that Guide), and can be downloaded from the Avsim.com and Train-Sim.com libraries.

Object Rotator is an Excel spreadsheet that allows the precise alignment of bridges and platforms along tracks or roads, the accurate orientation of objects, the precise lining up of rows of objects, along a straight or curved line, the accurate aiming of tracks or roads between distant points, shaping S-curves, making tracks deviate around a platform, joining non-parallel tracks, shaping steep and smooth rollercoaster tracks.

The Route Editor by itself does not allow the precise orientation of objects: Object Rotator, which is aimed at advanced users of the Route Editor, does this by recalculating an object's QDirection and/or Position in world tile files (*.w).

The enlarged documentation of version 2 explains the not very obvious way in which QDirection expresses heading, slope and bank angles for tracks, roads and other objects.

Object Rotator requires Microsoft Excel (it will not function with an Excel viewer).

This page illustrates some typical options offered by Object Rotator.

Orienting a bridge parallel to track

The first and simplest task is to make one object lie exactly parallel to another, for example a railway bridge over which a track passes.

The next screenshot of the MSTS Route Editor shows straight sloping track that should pass over a bridge section, placed at left in its default orientation: the challenge is to rotate this bridge section exactly parallel to the track. It is very difficult to do this manually and visually with the MSTS Route Editor.

To do this with Object Rotator, the route builder must first find the track section's precise orientation: it can then be copied over the bridge's default orientation. This must be done inside the "world tile file" that lists the details of both the track and the bridge. The next screenshot shows how the tile and Position of the track within that tile are identified.


With this information, the builder can find the exact track orientation and copy it over the bridge's orientation. The result, after reloading the route, is shown next: now the bridge is precisely parallel to the track, including its slope (if the track were banked, the bridge would also be banked). It remains to shift the bridge into position under the track: this is easily done manually and visually in the Route Editor while maintaining the bridge orientation accurate (you can see the result at bottom right of the following picture).


Laying objects across

A similar challenge is to turn an object so it lies exactly across a track or road.

The next view shows several examples: the two large bridge sections are turned across the same sloping track as before, but are kept non-banked for a horizontal road to pass overhead (Object Rotator also allows banking an object so it fits the slope of the track). But the small bridge section and the fence had to be turned 90 degrees before they would align properly with the sloping track: they then had to be banked to fit the slope; all those details are calculated by Object Rotator. (The small bridge should still be moved under the track.)


Lining up strings of objects

In the Route Editor it is almost impossible to correctly line up long bridges and platforms. Object Rotator makes all the necessary calculations.

For example, the next view shows two long platforms on both sides of sloping track. On one side, the platform lies "parallel" to the track, while on the other side it lies with opposite direction, "antiparallel" to the track.


Curved rows of objects

Hopelessly complex to do manually in the Route Editor is placing objects precisely along curved tracks. For instance, bridges and platforms are very difficult to place precisely in a curve, especially with a slope.

The next view shows the result of placing several types of objects along a sloping curved track, using Object Rotator: a bridge, a platform (or wall), gantries, fences, and lamps.


Track shapes

Also difficult in the Route Editor can be the shaping of tracks.

One challenge is joining tracks, as shown in the next view. Object Rotator will calculate how to join the end points G1 and G2 of the gap between existing tracks, after you specify a desired radius R, so you can easily shape dynamic tracks sections that will fill the gap.



Another task solved by Object Rotator is aiming a curve so it points directly at another point, as shown next in two cases. Knowing the START point and the orientation of the existing track there, and knowing the target END point as well as your desired radius, Object Rotator will calculate the needed turn angle.



As one more example, Object Rotator will calculate for you the turn angle A needed to make dual track split up around a platform, as shown next. All you need to provide is the platform width D and the desired turn radius R.


Rollercoasters

It turns out that tracks can be sloped and banked very steeply: this allows forming rollercoasters, as shown below, although with some limitations.

Such rollercoaster tracks are created with Object Rotator to give dynamic track sections the required steep slopes and banks through their QDirection data.

As is visible, the trains stay upright (unbanked) on the tracks, and in fact never run upside down in MSTS, even when the tracks are turned upside down. Also, if you use dynamic tracks, the rails and the trackbed (transparent here) stay "level", without a bank (without superelevation).

The scene below is from my MegaCoaster route.