*Note: I created the most of the tutorials using the Roboblitz and Gears of War editors. Based on the engine, and the version, some properties specified may be in slightly different locations than what is displayed in the screenshots.

If you need to learn how to create a basic map I would reccomend:
For UT99, UT2K3 & UT2K4: the Unreal Wiki.
For UT3: Waylon's Tutorials.



Interactive Events - Trigger Touch



I have set up a simple test map consisting of a slab of BSP, a skylight, a playerstart, a skydome, and a directional light.

I will only be using default editor assets which can be found in the EditorMeshes and EditorMaterials packages.

I added a trigger to the map. The touch event generally does not work on StaticMeshes, Interpactors, KActors, etc... I suspect it has something to do with the pivotpoint/origin of the mesh and not being able to touch it when it's inside the mesh. However, using triggers is the most common application so it's best just to use them anyways.

*Note: Triggers and trigger volumes have the same functionality. One generally uses a volume rather than a trigger for two reasons: The first is when a standard circular radius is not the shape of the collision area needed. The second is when, for example, you would need to fire the same event from two different locations - two seperate doors. If they rest on the same plane, then instead of using two triggers and two events, you could stretch one trigger volume from one door all the way to the other. The only caveat is to embedd the volume inside the geometry between them so the player cannot trigger it by walking into the geometry.

SetUp: Select the Trigger (or a trigger volume) in a viewport, and open Kismet. Right-Click anywhere and select 'New Event Using Trigger/TriggerVolume' -> Touch, as in the screenshot below:




Now we have our Touch event. It will fire the 'Touch' when the something enters the collision radius of the trigger. It will fir ethe 'Untouch' when that same thing leaves the collision radius. Let's look at some of the properties...




• bAllowDeadPawns will allow dead pawns to fire off the touch event. Unchecked by default.

• bClientSideOnly will determine whether the touch event will fire over the network. Unchecked by default, this allows the event to fire across the network.

• bEnabled allows you to control if the event is active by default, or turned on later using a toggle. Checked by default.

• ForceOverlapping will allow triggers to overlap and therefore you can assign priorities to multiple touch events based off overlapping triggers to fire at the same time. The priority field below controls their order.

• bPlayerOnly will control if the touch originates only from the player, or from anyone/thing in the level, for example bots/NPCs.

• bUseInstigator. Instigators are somewhat difficult to explain, but can be used to control exactly what/who is interacting with the trigger. If there's a bot/NPC, for example, with a specific object reference, and you want only that bot/NPC to set off the event, then you can use an instigator attached to the bottom of the event, and check this box off to tie it together. This could also be used to control classes of actors that can set off the event.

• ClassProximityTypes. By clicking on the grey area, and then on the green ball to add a line, you can specify exactly what actor classes are allowed to set off the event. The double brackets will clear the fields.

• MaxTriggerCount controls the maximum amount of times the event is allowed to fire. Remember, if you want 1 touch and 1 untouch, then you'll need to set this to 2. 0 is infinite.

• Priority controls the sequence of event firings if there are overlapping triggers.

• ReTriggerDelay controls how quickly the event can be fired again. Generally .1 is the lowest you'll want to set it. 0 would be faster, but could also cause Kismet spam and should be avoided.

Uses: There are practically infinite uses for trigger touches. To open a door, or activate a lift, to turn on or off a light or a particle, or determine if a player is inside or outside an area, to stream in or out or load or unload a sublevel, to spawn or destroy enemies, to set off a trap. Your imagination is the limit.