Working with Maps and Levels(3)

Working with Maps and Levels(3)

Sphere Triggers

You define sphere triggers (see Figure 17.1) by a set of coordinates and a radius.
Sphere triggers have two unique benefits:

■ Spheres are perfect for defining large areas of a map as a trigger, only using
the center coordinates and a radius to define the location of the sphere.

■ The sphere trigger is one of the fastest ways to check for character-to-trigger
collisions in the map trigger engine.

Working with Maps and Levels(3)_第1张图片

Box Triggers

A box trigger uses bounding boxes to work its magic. Box triggers are the fastest triggers
to process when looking for character-to-trigger collisions, but on the downside,
box triggers can exist only parallel to the world’s axis (the boxes can’t be rotated to
fit your needs). You define box triggers by the coordinates of its opposing corners, as
illustrated in Figure 17.2.

Working with Maps and Levels(3)_第2张图片

 

Cylinder Triggers

Cylinder triggers are much like sphere triggers, except that with a cylinder trigger,
you can limit the height of the covered area (unlike a sphere trigger, which extends
higher as the radius increases). Cylinder triggers are most effective when used for circular
areas in which you want to keep the height of the trigger from extending into
higher or lower levels. Check out an illustration of cylinder triggers in Figure 17.3.

Working with Maps and Levels(3)_第3张图片

 

Triangle Triggers

A triangle trigger is similar to a polygon in that both are defined by three points; however,
a triangle trigger’s three points are defined only by their X- and Z-coordinates.
This makes the triangle two-dimensional. To make the triangle work in a 3-D world,
you must assign a single Y-coordinate at which all three points of the triangle are
placed, as well as the height in which the triangular area extends upward. It helps to
think of a triangle trigger as a three-sided box, as shown in Figure 17.4.

Working with Maps and Levels(3)_第4张图片

 

Triggering a Trigger

After you place the trigger shapes on the map, it’s a simple matter to determine
which trigger is touched by a character. Each trigger has its special way of determining
these character-to-trigger collisions. A sphere uses distance checks, a box
uses bounding box calculations, and a cylinder uses bounding and distance
checks—although the triangle trigger uses bounding checks and also makes sure
that the point in question is contained within the triangle.

When you determine that a trigger has sprung, what do you do? Because each trigger
is assigned an identification number, you can use that number to determine
which action to perform. You can execute a matching script or perform
another hard-coded function. In fact, in the later section “Using Triggers,” you
find out how useful it is to use triggers.

你可能感兴趣的:(Working with Maps and Levels(3))