This tutorial will show you how to make flashing lights in the Unreal 3 editor. They can be used for lightning, disco lights, explosions etc
Start off by opening Unreal 3 Editor. Open your scene that you wish to add the light(s) to. I'm going to use a simple box room for this tutorial.
So here's my scene. You cannot use the standard point light to make lights that flash. We have to use a ‘PointLightToggleable'. You can find this in the Actor Classes browser. Click on the generic browser icon (), then select the Actor Classes tab. The light we need can be found under - Light - PointLight - PointLightToggleable.
With the PointLightToggleable selected, right click in your scene and select ‘add PointLight Toggleable Here'. Move it to the desired position.
So now we have our light, we can start to change its properties to make it flash. With the light selected, open Kismet (). Right click in the Kismet window and select ‘New Matinee'.
Double click the matinee box and an ‘UnrealMatinee' window should open. Right click in the grey box to the left and select ‘new empty group'. Name the group appropriately. Your group should now appear in the grey box. The group is now known as a track (for the timeline).
Next you need to right click on the track and select ‘Add NewFloatProperty Track'. Click on the drop down bar and you should get properties relating to the pointlight (if these are not available, you may have forgotten to select the light before you created the matinee). Select ‘PointLightComponent0.Brightness'.
You should now have a ‘Brightness' track on the timeline. If you select the track and press enter, a key should appear on the timeline. Right click this key and it will give you the option to change its value.
Set the value to whatever you want (1 = 100% brightness, 0 = light off). I'm going to start off with it off and then flash the light twice (both at 1 second intervals).
I need to select the point in the timeline where I want the light to flash (1.00). So I must drag the timeline scroller (the black bar) and place it at that time. Next, I must select the brightness track and hit enter. A new key should appear.
I want the light to flash at this point. If I change the value of this key to 1, there will be a gradual increase of brightness from key 1 to key 2. Therefore, another key needs to be set shortly after key 2 (by selecting the brightness track and hitting enter after the timebar has moved). This key should have a value of 1. Now if you slide the time bar, you should be able to see the start of the flashing sequence.
To make the light turn off again you must add more keys and change the value to your desired effect. You'll probably have to adjust the keys at some point. You can easily move them by holding down control and clicking + dragging the key across the timeline.
Here are the keys I needed to create an effect like the video below.
If you were creating lightning, you could add a sound track to the matinee sequence (right click the light track - ‘Add New Sound Track'). You could then time the flashes with the volume of thunder in the sound (tweaking will probably be required). Also, if you want the flashes to loop, make sure you tick the ‘bLooping' box in the properties section of the matinee box.
Before you test out your light(s), remember to:
· Save your map!
· Rebuild Geometry/Lighting
· Activate the light using Kismet.
For this tutorial I want the light to start flashing on level startup. So go back to Kismet - right click - new event - level startup. Link the startup to the play channel of the matinee box.
That should be all you need to do to get a basic flashing light working. You don't have to play it from level startup, the matinee could be started through a trigger/event. Here's a video of the light from this tutorial and also a look at lightning in the wine cellar from GhostWriter.
Thanks for checking out this tutorial!
I have simply posted this tutorial to share my knowledge of the Unreal Editor and so that the modding community have a resource in this certain area. There may be a million different ways of carrying out the task but this is the way I do it, and it works!