Tutorial 1

Use an Invisible Level Crossing and Crossing Controller
to synchronise road traffic with the SD3DVM Gated Level Crossing

1. Start by placing a level crossing on the baseboard.

Place a level crossing

The yellow marker indicates the centre of the crossing, to assist with the subsequent lining up of the invisible crossing and the crossing boards. The other markers indicate the nodes to which track can be attached as follows:

2. Place an invisible level crossing nearby (behind and to the right of the visible level crossing in the following picture).

Place an invisible level crossing

3. Place a level crossing controller on the map (visible in the distance behind the invisible crossing in the following picture).

Place a level crossing controller

The invisible level crossing has been moved to make a little more space to work in. Note as well that the arrow on top of the level crossing controller should point towards the invisible level crossing.

4. A close-up view of the level crossing controller.

Close-up of level crossing controller

5. Use invisible track (such as the SM3DVM "Invisitrack") to link the end of the level crossing controller with the red marker to the invisible level crossing. Include at least intermediate node to allow a junction to be formed in the next step. (I've only included one node here. As it turned out, it would have been better to include two nodes, which would have made moving the level crossing controller easier in later stages.)

Connect the controller to the invisible crossing

6. Add another length of invisible track to the left of the level crossing controller, and form a junction with the previously laid track linking the controller to the invisible crossing. If there are two or more nodes between the crossing controller and the invisible crossing, make the junction at the node nearer, or nearest, the invisible crossing. Trainz will normally add a junction lever automatically.

Add more invisible track

7. The lever automatically added by Trainz will be visible in Driver sessions, so delete it and and replace it with an invisible junction lever. The invisible level crossing can be moved out of the way if more space is needed to connect tracks and roads.

Making more room

8. Give the level crossing a name. This can be anything you like (within reason - Trainz does have limits on the name length and the characters that can be used). For this tutorial, we'll give the crossing the name Crossing Name.

Name the visible crossing

You can attach roads to the invisible level crossing at this point, if you want to. Otherwise, you can leave this job until later

9. Give the invisible junction lever a name. The SD3DVM level crossing is scripted to operate a junction lever whose name is formed by appending a space and "(Control)" to the end of the crossing's own name - so, in this example, the invisible junction lever is named Crossing Name (Control).

Name the junction lever

10. Attach roads to the invisible crossing (if you haven't done so already). There's no need to put them into their final alignment just yet.

Attach Roads

11. Attach rails to the visible crossing. As with the roads you just attached to the invisible crossing, there's no need to put in their final alignment just yet.

Attach rails

12. Move the invisible level crossing into position on the visible crossing, using the yellow markers at the centre of each to ensure the correct alignment

Move invisible crossing

13. Place level crossing boards near the visible crossing.

Add level crossing boards

14. Move the crossing boards on top of the level crossing itself, using use the yellow marker pillars to ensure correct alignment.

Move level crossing boards

15. Finally, straighten out the road and rail splines to complete the scenic effect..

Straighten roads and rails

How it Works

The "invisible" components (the grey objects to the right of the track in the pictures above will disappear in a Driver session. Provided that everything is set up correctly, the sequence of events as a train approaches and crosses the level crossing will be:

Scripted Assets

Both the visible level crossing and the level crossing controller are scripted (the invisible level crossing and the invisible junction lever aren't, the only thing special about those components is that they, along with the level crossing controller and the invisible track, disappear in a Driver session).

The visible level crossing script animates the level crossing gates and also switches the lamps on top of each gate off when the gate starts to move and back on when the gate has opened or closed fully. I haven't found a way of keeping the lamps shining as the gates move, or at least I haven't found a way of doing this elegantly and without making the computer do a lot of work that doesn't add that much to the visual effect. The script also switches a junction lever, which it locates by matching its own name with the junction lever name, to make it appear to the the invisible level crossing that a train is on its way.


I said before "provided that everything is set up correctly". That was because a few rules have to be adhered to if the scripts are to recognise and associate the components that need to work together. Things can go wrong. For example:

Valid HTML 4.01 Transitional
Valid CSS!
Maintenance of way in progress.
All visitors are advised to wear GO/RT 3279 compliant high-visibilty clothing

This page was last updated 25 April 2010