Blog Post | Enhanced Traffic Signal Light Functionality

In our Blog post from last year (, we discussed how to create 2-D traffic signal symbols in your simulation environment. At the bottom of that post, we also discussed how to add semaphore objects (3D traffic signal lights) in your environment. The semaphore object has undergone significant improvements in Virtual CRASH 4 which have been made available in the October 10, 2017 update. 

The following improvements have been made to the semaphore object in Virtual CRASH 4:
•    Install an arbitrary number of signals.
•    Signal types include ball lights, left arrow, right arrow, up arrow, down arrow, walk, and don’t walk. 
•    Signal color choice are now red, green, amber, white, and blue.
•    Define an arbitrary number of signal phases, which can be made to loop. 
•    The light assembly can be arranged vertically or horizontally. 
•    The light housing color can be modified. 

Let’s suppose we have a t-bone crash case involving a lane intrusion event. In the example below, we’ve laid out animation paths for our two vehicles and turned on the simulation at the moment of impact. 

An animation of this can be seen below.

Now that we have our scenario laid out, we want to add traffic signal lights to enhance our exhibits. Our traffic signal lights are arranged as shown below for both eastbound and westbound traffic. 

At this intersection, when the eastbound and westbound through lanes have green ball lights, the left turn lanes have flashing yellow lights. 

Here we use cone objects for the tapered poles and cylinders for the support wires. We place our signal lights in front of the support wires.

To place a signal light into the scene, simply use the drop-down menu, and left-click on Semaphore.

Next, left-click in the scene to place the light into the environment. 

You’ll see the semaphore object created with a standard three-light vertical arrangement. This is easily customized. 

We want to resize our light to increase its visibility in our animation. To resize the light, left-click on the light, then go to the misc menu in the left-side control panel. Here you will find the size attribute. Below we resized our light and cloned it three times for all through lanes.

Next, we clone our light and position it for one of the left turn lanes. In the “lights” menu in the left-side control panel, left-clicking on “add light” will add another light to the bottom of the assembly. 

Left-clicking the “symbol” drop-down menu reveals the different signal types that are available. Here we select “arrow left”. 

The color can be specified using the “color” drop down menu. Here the bottom-most light is green. 

The initial on/off state of the particular light can be specified using the toggle (red box). 

Here we change the rest of the lights to left-turn arrows of the proper colors.

Add Signal Phasing

Next, we want to make our yellow turn arrow flash. Left-click on the empty box next to “state” to access the state drop-down menu. 

Our options are:

(1) “constant” - constant state, either on or off
(2) “rectangular pulse” - simple repeated two-period rectangular pulse (light on for duration A and light off for duration B) 
(3) “phases” – an arbitrary number of rectangular pulses each of which can have its own on/off durations and can be made to repeat loop. 

Here we can simply use the “phases” option. In this case, a witness stated that the yellow left-turn arrows flashed up until the moment of impact, then all eastbound and westbound lights changed to red. For our left-turn arrow, we make 16 state changes (count = 16). The first 15 we make with a 0.5 second duration, flashing on and flashing off. The final change is off (at time = 7.5 seconds), which persists past the end of the animation. Note, the length of the states can be modified by using the “length” entries and your keyboard, or by left-clicking on the white dots in the interactive graph and dragging the dots by hand. 

Next, we want our sold yellow arrow to turn on for 1.5 seconds starting at 7.5 seconds. We’ll do this by using the phases option with only 2 state changes. Note, to start with an off state, simply toggle the “initial state” button. 

We then want our sold red left arrow to turn on at time = 9 seconds. Here we can simply use the rectangular pulse option since there’s only one off state for 9 seconds followed by an on state for the rest of the animation. Note, to start in the off state, simply change amplitude to -0.5.

Next, using ctrl+left-click, we select both lights for the through-lanes. Again, we use the rectangular pulse option to go from the initial green ball on state to the off state at time = 7.5 seconds.

We use the phases option to set the yellow phase for the through lanes.

Finally, rectangular pulse option is used for the red phase.

Here we see an animation of the resulting signalization. 


Note, semaphore objects are easily configured to horizontal by pressing the "horizontal" check box.

Additionally, the "remove light" button can be used to create one-lamp or two-lamp configurations.