6.0 Level Properties

6.1 Overview

There are a number of properties associated with the entire level which must be set. They can be found under the View menu by navigating to “View -> Level Properties -> Level Summary”. The various properties are described in Table 8 and illustrated in Figure 35.

Table 8 Level Properties

Property Name             Description
-------------             -----------
Title                     The title of the environment.  This value is shown in the user’s HUD whenever they are in an area which does not have a valid location name set.
Welcome Sound             The welcome sound played when a user first arrives in the environment.
PawnShadowDirection       The avatar shadow direction for this level (see section 6.2)
PawnPitchUpLimit          Default restricted vertical view up limit for this level (See section 4.7 for more details on the restricted vertical view feature)
PawnPitchDownLimit        Default restricted vertical view down limit for this level (See section 4.7 for more details on the restricted vertical view feature)
MiniMapTexture            The 128x128 texture to use for the Minimap.  (See section 6.3)
MiniMapRotationalOffset   Minimap Rotational Offset.  Usually set to (Pitch=0, Yaw=18000, Roll=0).
WorldXMin                 The minimum reachable X axis position in the world where a player can stand.  Used to render accurate pawn positions on the minimap. (See section 6.3)
WorldXMax                 The maximum reachable X axis position in the world where a player can stand.  Used to render accurate pawn positions on the minimap. (See section 6.3)
WorldYMin                 The minimum reachable Y axis position in the world where a player can stand.  Used to render accurate pawn positions on the minimap. (See section 6.3)
WorldYMax                 The maximum reachable Y axis position in the world where a player can stand.  Used to render accurate pawn positions on the minimap. (See section 6.3)

6.2 Avatar Shadow Configuration

Avatar shadows add to the user’s experience and make virtual environments appear more real. Shadows are only projected onto lit surfaces so it is important that you set the “bUnlit” display property to false on any static meshes you want a shadow to be projected upon. The level property “PawnShadowDirection” is used to indicate the direction of the light source producing the shadow. To configure avatar shadows perform the following steps:

1. Deteremine the main light source for your environment. Typically, the main light source is the sun, a window, or a light fixture. Figure 36 shows an example of an avatar facing a main light source.

2. Launch web.alive Editor and determine the direction of the main light source in the environment according to the main axes by facing the main light source in your environment. Figure 37 highlights the orientation axes in an example where we’re facing the same main light source as in Figure 36.

3. Once you know the position of the light source relative to the level orientation, set the “PawnShadowDirection” level property to a vector which represents the direction of the main light source for the level. For example, a vector of (X=1.0, Y=0.0, Z=3.0) would give the direction of the light source shown in Figure 37.

4. Visit all the main static meshes in your environment and be sure their display property “bUnlit” is set appropriately based on whether your want shadows to be projected on the surface or not.

6.3 Minimap Configuration

The minimap is used by users to get a general idea of the map layout as well as where other users are located in relation to themselves. To configure the minimap for your level perform the following steps:

1. Make a backup of your map file before proceeding.

2. Open your map in the web.alive Editor. View the map in a “Dynamic Light” view. Adjust the view so that you are looking down upon the map with the x/y orientation matching the default axes as shown in Figure 38. That is, the “x” axis should be horizontal pointing to the right and the “Y” axis should be vertical pointing down.

3. In Figure 38, you’ll notice a number of editor artifacts which wouldn’t be desirable in a minimap graphic. These are graphical renderings of things such as blocking volumes, triggers, player starts, and other hidden actors. Create a group called “hide_for_minimap” and add everything you don’t want to appear in your minimap graphic to this newly created group. You may have to zoom in and out multiple times in order to identify all the undesirable artifacts and add them to the newly created group. Use this new grouping to easily hide everything you don’t want to appear in your minimap graphic.

4. Confirm that your dynamic view is properly positioned above your map with the correct orientation along the axes. Figure 39 shows an example of a dynamic light view with a great deal of the editor artifacts hidden.

5. Take a screenshot of the dynamic light view and import it into the photo editing program of your choice (i.e. Adobe Photoshop). Close the web.alive Editor being careful to not overwrite your source map file.

6. Crop the image to the smallest square you can and resize it to 128x128.
7. Do any necessary clean up of the image using your photo editing program.
8. Create an alpha channel so only the visible areas of the minimap are shown.
9. Save the resulting image and import it as a texture (with alpha) into the web.alive Editor. Figure 40 shows an example of what a minimap texture might look like. Keep in mind that the white border area should be transparent using an alpha channel.

10. Open your map file and set the Level Property “MiniMapTexture” to the newly created minimap texture.
11. Now launch your map with the web.alive client.
12. At the console type in “showdebug”. A variety of debug information will be shown on the HUD. This debug information includes your avatar’s current location in unreal world coordinates as shown in Figure 41.

13. Navigate to the various extreme locations along the X and Y axes and note their coordinates. Figure 42 indicates the extreme locations using red bars on our example minimap.

14. Enter the values collected into the WorldXMin, WorldXMax, WorldYMin, and WorldYMax properties under the Level Properties dialog.
15. Save your map and re-launch the client to try out the minimap. You’ll likely notice that the avatar markers are still not being positioned correctly on the minimap. This is because the coordinate remapping algorithm assumes that the entire 128x128 minimap texture is representing the map area. At this point simple trial and error is needed to fine tune the WorldXMin, WorldXMax, WorldYMin, and WorldYMax property values so that the avatar positions stay on the useful area of your minimap.