Dusk Tutorial

From AAManual

Jump to: navigation, search
TABLE OF CONTENTS

Introduction

This tutorial will walk you through the basic steps and skills you need to create a map like Dusk. The important first step is to browse through three important sections of the Unreal game editor information on the Epic game site. It is important to point out here that all functions to import and export assets besides game maps have been disabled and removed. However, there is a multitude of pre-made game assets and art that will enable you to build rich new maps.

http://udn.epicgames.com/Two/IntroToUnrealEd
http://udn.epicgames.com/Two/UnrealEdInterface
http://udn.epicgames.com/Two/UnGlossary

These three sections give detailed information on the general game editor functionality. Functionality that is specific to the Mission Editor will be pointed out and reference to further details will be given.

Game Design

Start with a top down drawing of the level layout you want to build. The level layout will vary depending on the game type for which you are designing, but the goal here is to work out your basic game and movement flow in the level.

This drawing is a top down view of the completed map but it gives you an example of what you should try to imagine and will expect your play area to be. The gray areas are where the main game play will take place.

Creating the World Shell

Initially, subtract out the size of your level environment (outside levels especially).

The first thing you need to know about the Unreal world is that it is solid. Think of a world you make as being a giant block of wood, it is solid and your first step is to carve out a hollow space inside to create your world. This is called Subtracting Space. This gives you a starting area with firm, solid boundaries that are nicely defined for the game engine. The basic world area that has been carved out for the Dusk map is approximately 12,000 units long by 12,000 units wide by 2,500 units tall.

Open UnrealEd.exe and find the tools called Builder Brushes

Right-click the Cube brush, which is located on the left side of the editor. This will bring up a properties window to set the beginning world subtract area size. Set height to 2500, width to 12000 and breadth to 12000. Then click on build. This will set the Builder Brush to that size. Notice that the Cube Builder window will not close, this is normal. At this point you can close the Cube Builder window by clicking the close button. The editor will retain the settings you entered for the next step, which is true for many of the pop-up selection and browser windows. Select the Cube Builder Brush with your mouse and click the Subtract Brush button located on the left side of the editor to subtract out the space. This will create the interior of your world.

Note : The subtract button is the upper right button

Save your map at this point. It is important to save your work often and have a couple of different copies of your map. That way if you make changes that you do not like, you can go back to an earlier version. If you rebuild the map at this point, you may get a map warning. This is normal and the map check warning can be closed.

Create the terrain for the world

Typically start with 128x128 or 256x256 terrain height map for a level floor.

From the View menu select Show Actor Class Browser. Find the Info class open it and then open ZoneInfo. Inside the ZoneInfo drop-down list, select AGP_ZoneInfo. Once again, you can close the Actor Classes window and the editor will retain your last selection for the next step.

Then in your top down view, the upper left window, right-click inside your subtracted world space and select “Add AGP_ZoneInfo Here”. Double-click the AGP_ZoneInfo actor to bring up its properties box.

Under the ZoneInfo section set bTerrainZone to true. Under the ZoneLight section set your AmbientBrightness to 32 for temporary lighting. Remember this setting, you will want to change it later. The AGP_ZoneInfo properties window can be closed at this point to allow a better view of the editor panes. Remember to save your work often.

Right-click on the map near the bottom of your world and select Add AGP_Player Start. This is a temporary player start that will allow you to spawn in the world to test it.

Click on the Build All button to build your map.

Then click on the Play in Editor button to run the map.

When the map is up for play, hit the ~ key to bring up the console and type:

playerlock 0

and hit Enter. This will allow you to move around the world.


Now we will add our first piece of terrain. Select the Terrain Editor button on the left side of the editor to bring up the Terrain Editing Window.

Click on the New Terrain Button in the lower left corner.

This will bring up the new terrain window. Fill it out as shown and hit OK.

From the View Menu at the top of the Editor select Show Texture Browser. In the Texture Browser window, choose File Open and find the T_AA2_Terrain file and open it. Under the Edit menu in the Texture Browser window select Load Entire Package. Find the TER_GRASS_CRACK texture and highlight it. To narrow the search for the texture, select the “grass” group from the drop-down menu next to the “All” button in the Textures Browser. Then use the scroll bar to find the designated texture. This method will work with other browsers too.

Now return to the Terrain Editing window, select the Layers Tab, select the first “undefined” slot and then select New.

Fill out the New Layer Info as follows. Make certain to set AlphaFill to white for the base layer of terrain or your terrain will be invisible. AlphaHeight and AlphaWidth must be the same as your terrain X and Y size. Hit OK.

Then you will see:

Select the Camera Movement button to exit the Terrain Editing mode.

And click on the Build All button to build the level and show your terrain.

This has created an initial flat ground area to work with. Notice that the walls, ceiling and floor have the same texture as your level terrain. This is normal and will be changed later in the tutorial. The level terrain that you created is not visible if the viewpoint is lower than the terrain. Move your viewpoint higher than the level terrain you created and the texture will be visible. Notice that the terrain level is the same as the Terrain Info node (Icon with mountain peaks picture). You can move your terrain around the world by selecting the Terrain Info node
and positioning it where you like by raising it in either the side or front view.

Actor icons can be resized to make them easier to find. This is especially helpful when working with a map this large and the icons are hard to locate. To demonstrate, double-click the Terrain Info node again and expand the Display properties. Scroll down the list and find the Drawscale property, which is set to a default of 1.000000. Change the setting to 4, as indicated below, and notice that the icon is larger and easier to find. You can use this technique with other icons as needed.

Now select terrain editing mode again and create another terrain layer. Start by selecting the next undefined layer and click New. Open the texture browser if it is not already open.


Notice that the texture browser is still set to the same texture file and you just need to locate the desired texture. Make sure you select the “dirt” group to reduce the number of possible selections or select the all button to see all the textures. Use the TER2_DIRT_GRAVEL1_GREY1A texture and create the layer with the same steps as previously used except this time ensure AlphaFill is set to black Set the layer properties as shown below.

Setting the AlphaFill to black makes this new texture transparent. This allows you to paint the texture over your base texture. Now with two layers in the terrain editor you may paint different areas on your terrain mesh. This gravel layer could represent a road or parking lot. In the terrain editing window select the gravel layer and the painting option.

Set the Inner radius and the outer radius to approx 203. This affects the transition from layer to layer. If you have a larger outer radius there will be more blending from layer to layer, a smaller radius makes a more distinct transition. You will see a drawing circle on the terrain, when you hold down CTRL and Left mouse you will paint the new layer on the terrain. Use this layer to paint in a road system and some larger open areas. These will form the basis of streets and courtyards similar to the areas in Dusk.

Click on the Build All button to build your map.

Then click on the Play in Editor button to run the map.

When the map is up for play, hit the ~ key to bring up the console and type:

playerlock 0

and hit Enter.

BSP Primitives

Add basic BSP primitive shapes to represent buildings and structures that will later be replaced with static meshes or a combination of BSP and static meshes. Most buildings end up being a combination of simple BSP and static meshes for trim (like awnings, rain gutters, windows and doors). In Dusk long views are kept to a minimum to support stealthy game play.

The building pictured here is a good example of a BSP building placed to define game play areas. It is easy to construct and can be embellished later with any number of static meshes or props. This building is four BSP brushes stacked on top of each other and textured. Later, static meshes are added for detail.

We can create a similar building. First select the Builder Brush cube and right-click to change its dimensions. For the base of the building set the values as follows:

Then place the builder brush in the location where you would like to place the building. Now we need to choose a basic texture for our building base. In the Texture Browser, open the T_AA2_Brick package. Select the BRK2_FCDE_OLDGREY1A_BOTTOM texture in the Wall group.

Select the Add button to create a new brush.

Add is the upper left button.

This will create a brush block that is textured and already looks like the base of our building.

Now create a roof for the building. Right click on the Cube Builder Brush again and set it as follows:

Move the builder brush so it is on top of and centered on the building base. This will be a simple flat roof with a slight overhang.

In the Trim group of the texture browser, select the BRK2_ TRIM_ROCKY3A texture, select the Builder Brush and then click on the Add button to create the BSP roof. In the perspective view, right-click on the side surfaces of the roof piece, select alignment and choose Face. This will map the texture nicely to the sides.

The sides of this roof piece will look good with this texture on it but the top and bottom surface of the roof will not look right. In the Skins group of the texture browser, find the BRK2_SKINS_RUBBLE_B texture and select it. In the perspective view window click and select the top surface of the roof and click on the BRK2_SKINS_RUBBLE_B texture to apply the texture to the surface. Then select the bottom surface of the roof and click on the BRK2_SKINS_RUBBLE_B texture again to apply the texture to the surface. Save your work and be careful with surface selection and textures. It is easy to accidentally apply a texture to a surface by leaving it selected. If a surface is selected, you can click and/or ctrl-click on the surface again to de-select it. This is a simple BSP building. You can create numerous versions, sizes and shapes of buildings by using the same method. Place them in your world to simply block out your Dusk-like city or copy buildings from different maps to build your city.

Read here for more info on BSP brushes:

http://udn.epicgames.com/Two/BspBrushesTutorial

Terrain Detail

Once the desired layout (game play arena) is determined it is time to start landscaping the terrain and terrain textures to achieve a more natural appearance.

Additional terrain layers can be created to make the areas that you would like for your maps. This lets you paint in different looks and feels for each area. You can adjust your terrain to have slopes and cliffs, ditches and craters. The sides of the cliffs or slopes may have different terrain layers painted on to them to make them appear more natural.

Dusk has 4 basic terrain layers. Grassy ground, dirt, pebbles, street and cobblestone walkway. Now that you have your buildings blocked out and your playable areas, adjust the terrain to give your map some variation and color in height and appearance. The idea is to paint the areas with the appropriate layers.

To edit the heightmap (elevation) of the terrain switch to Terrain Editing mode, select the terrains tab under the Tools window and then highlight the heightmap info of your terrain layer on the left. If you do not highlight the heightmap no changes will take effect. Select the Painting tool and adjust the Inner and Outer radius, and the Strength to the values above. It is best to start with a low strength until you get used to how fast the terrain changes when you are painting. A high strength of 100% will dramatically raise or lower the terrain when you are painting. You will see a drawing circle appear on your terrain, that is a circle inside a circle. The inner circle is the inner radius; it will raise or lower the terrain with the full value of strength that you have set. The strength value will decrease out to the outer radius. CTRL and Left Mouse will raise terrain. CTRL and Right Mouse will lower terrain. Try it out and be sure to save your work when you are satisfied. If you go too far with a piece of terrain, try the Smoothing and Flatten functions and see their effects.

Read here for more info on the terrain tools:

http://udn.epicgames.com/Two/TerrainTutorial

Static Meshes and Details

After the terrain is roughly looking the way you want it is time to start adding the decorative meshes, (building decoration, trees, telephone poles, street lamps and cars). Keep in mind more cover items the better.

You can freely copy static meshes from various levels to your level or use the Static mesh browser to find the static mesh decorations that fit your level best. You will also use static meshes to make buildings look better or add entire static mesh buildings. Static meshes are one of the fastest drawing primitives in the game engine. They draw faster than BSP so if you can use a static mesh instead of a BSP, do so. Remember though, you have to balance your look with the framerate of the level. Always ensure your level runs at 30 fps or higher in multiplayer mode.

The car, well, palm trees, power poles and power lines are all static meshes in this scene.

The building awning and shutters are static meshes. To place a mesh, find the mesh you like in the Static Mesh Browser, such as the well, and select it.

Then in your perspective view, right click in the approximate location where you want the new mesh to be placed and select Add Static Mesh’arch2_well’ here.

The mesh will be placed in the world and will be highlighted in green. If you like the position you can leave it, otherwise adjust its location and height by selecting it and using CTRL and Left mouse to move in the various views so that it looks natural. You may also select it and rotate it using CTRL and Right mouse if you are in the Top, Front or Side views. Explore through all the static mesh packages for objects that fit into your environment. Place them in areas that make sense and enhance the game play. After placing them run through your level and make sure that they do not block areas that you expect to traverse.

Static mesh enhancements to buildings can be things like windows and shutters, doorways and doors, arches, antenna, power lines, etc. To create doorways and window holes in you BSP building, create a builder brush that is the correct size for your doorway ( 128 units high, 64 units wide, and 16 units deep ) or matches the size of the window frame or shutters if you are attaching those. This next example will show how to add a window frame with wood shutters.

Open the Static Mesh Browser, open the M_AA2_Architectural package, in the Windows group select arch2_windows_mudbrick_windowframe_b.

Then in your perspective view right-click and add it next to your building. You will need to use all 3 views to place it in the right position. It will probably be necessary to rotate it using CTRL and Right mouse in the Top, Front or Side views.

Once it is positioned properly, we will add wooden slats as shutters to the window. Choose arch2_windows_shutter_a in the static mesh browser and add it to the world near your window. Use all 3 views again to position each shutter so it is encased in the frame of the window and in front of the building wall. The quickest way to add multiple copies of shutters, and meshes in general, is to right-click a selected mesh and then click on Duplicate. The duplicated mesh will appear close to the original and can placed in position like the first. Duplicate the shutter mesh in this manner to quickly fill the window. Try using the rotate feature to match-up the hinge locations.

You can add many different types of building detail meshes to your buildings using similar steps.

For more information on static meshes check:

http://udn.epicgames.com/Two/StaticMeshesTutorial

Fog and Skybox

At this stage we will add a skybox and determine the time of day, direction of the sun light and fog level. Determine the most flattering angle of light and shadows first and adjust the skybox accordingly. Before going any further, rebuild and save your map.

For reference look at the Dusk.aao map after saving your map. This map holds the elements we will use to make the skybox for your map. There are many different skyboxes in the various maps that you can study or use for your maps. The skybox has several main pieces: a subtract that holds everything, a SkyZoneInfo node, 3 static meshes, 3 particle systems for lightning and an AGP_Sun object.

First, create a new build box cube that is 384x768x768 that is outside of your map’s subtract boundary.

Place the build box in a similar position as the position of the skybox in Dusk, which is in the upper right corner.

Subtract out the space, move the Builder Brush out of the way, right-click on the new skybox and choose Align Cameras. This will put the camera view at the skybox and will be looking at the inside of the box. Select all 6 surfaces by right-clicking on one surface, select “Select Surfaces” and then select “Matching Brush”. Then in the texture browser open the T_AA2_Sky package.

Select the _UsedInLevel_ group and select the SKY_SKY_TUBE_BLUE01 texture. This will texture all surfaces with the blue texture. Left click on a surface of the skybox interior and hit F5, this will bring up its properties. Under the Flags tab select Unlit. Do this for all 6 interior surfaces of the skybox. Save your work.

Back in our main map area, we will do the same for the intial subtract. Remember, this is the giant brush we created to contain our map area, so move the camera viewpoint back into your main world. Select its 6 surfaces in the same way you selected the 6 surfaces of the skybox and apply the SKY2_SKY_DESERTDAY_HAZE texture from the Sky group in the T_AA2_Sky package to all 6 surfaces.

Then individually set the properties of all 6 surfaces as follows (you will have to go below the terrain to select the bottom surface)

Save your work. Now we will add the SkyZoneInfo node to the skybox. In the Actor Browser select a SkyZoneInfo object.

Place it in the center of the skybox subtract box in the top view and adjust its vertical position to be within the skybox subtract area and lower down in the front or side view of the skybox.

Now we will add the static meshes that place geometry in the skybox and give us an interesting scene on the horizon. Open the StaticMesh browser and open the M_AA2_Sky file. Select the sky_tube_skydome01g mesh in the tube group of the StaticMesh browser.

Place it in the center of the skybox in the top view, then adjust its height in the front view so that the SkyZoneInfo node is slightly above the bottom of the dome.

The height of the SkyZoneInfo node affects the level of the horizon in your view. Double-click on the skydome mesh to set its Display properties. Set bUnlit to be True.

Select Skins, click on Add, and set Skin[0] to Texture’T_AA2_Sky.sky.sky2_sky_sand’. The easiest method to do this is to select the sky2_sky_sand texture in the texture browser first. Then select skins in the Display list shown above and then click add. In the first drop-down slot, click the use button and the texture that is selected in the texture browser will be filled in for you on that line.

Save your level, click on the Rebuild All button and select the Perspective view. Hit ‘K’ to turn on Skybox drawing. You will now see a cloudy sky. Save your level. Open the Dusk_.aao map, select and copy the remaining two static mesh rings from the Skybox. Then open up your map and paste these two rings into your skybox. Adjust their height in the front or side view.

You may find that one or both of the mesh rings from the Dusk map seems locked in place. If so, double-click the locked mesh and expand the Advanced section of the StaticMeshActor properties window. If the mesh is locked, you’ll find that the bLockLocation selection will be set to true. Set bLockLocation to false as shown below and you will be able to move the mesh to the desired location.

Rebuild your map, save it and turn on Skybox drawing if needed. Now you will see a sky and some buildings in the distance.

Now copy the AGP_Sun object from the Dusk_skybox and paste it into your skybox. This sets up a sunobject with associated lens flares in your level. Position it in the proper place so that it appears on the lighter side of the sky. Adjust the height and position inside the skydome so that it looks best to you when playing your level.

For our final touch in the sky box, copy the 3 particle system objects from the Dusk_Skybox map and paste them into your skybox. These are lighting flashes, put them on the side opposite the AGP_Sun object and adjust their height and position to look best.

Build your map and try it out with the Play button.

Save your work.

Fog is set in the AGP_ZoneInfo node. It is possible to have multiple zones in your map with different fog values. For our map we have one zone and try setting the fog values to the following.

DistanceFogColor should be a color that matches the predominant color in your Skybox so that the fog blends in nicely with the distant skybox objects. RGB values of 135 are a good start for this skybox, but should be adjusted to match as best you can. Placement of the sun and level lighting will affect what your final fog value will be. DistanceFogStart and DistanceFogEnd will be affected by the mood and final makeup of your level. Start with 1000 and 5000 respectively and adjust the values to achieve the look and feel you desire. Start is where the fog will start to appear and end is the distance at which the fog will be full strength.

Distance fog will not be observed on your map unless you set the bDistanceFog property in the ZoneInfo section to true as shown below.

Save your work. Now build your map again and try it out with the Play button.

Lighting and Projectors

This stage involves placing dramatic point lights and projected decals for detail. This helps give it the lived in look

Lighting is a very subjective process, and can greatly enhance the artistic quality of your level. First, read through the basic lighting topic.

http://udn.epicgames.com/Two/LightingBasics

This contains links to numerous lighting information that should really be the basis for how to use lights in the Unreal engine.

Now we will experiment with placing different types of lights and meshes like lamps to give the lights a reason to be in your world.

In the Static Mesh browser open package M_AA2_Lights. In the exterior group find the mesh lights2_exterior_wall and select it.

Near one of the BSP buildings you made earlier, add the light by right-clicking and selecting Add Static Mesh’ M_AA2_Lights.exterior. lights2_exterior_wall’. This will place it near the building wall, look at your views and adjust its position so it is on the wall next do your window. When it is in the position you like, select it, hit CTRL-W to make a duplicate and then position that light on the opposite side of the window.

Notice, the light meshes are there, but there is no light coming from them. They need a light object to project light. Select the right light mesh, right-click on it and select Add Light. This will create a Light object that looks like a lightbulb. Position the light object so that it is just outside the light mesh. Now right-click on the title bar of the Perspective window, choose actors and then choose radii view. Now, when you have an actor with a radius property you will see a radius circle that surrounds it. Double-click on the light actor and we will set some properties.

It is a small light so set its radius to 4. Light Type is set to LT_Steady, but there are different types for effect. LT_Flicker would make a light that flickers off and on. Notice bDynamicLight is set to False. There may be times when you want a dynamic light that can affect other objects at run time, but these lights are much more expensive and should be used carefully.

Now change the light color in the LightColor section. Notice that when you select one of the LightColor properties, two buttons appear: Pick and Color. Ignore Pick for now and click the Color button. The window below will appear making it easy to automatically select a brightness, hue, and saturation.

Enter in the RGB values or choose a color and set the brightness on the right. Click OK when done. You can make further adjustments in the LightColor properties section as needed to get the desired effect.

You can see how different the light is from the one on the left, it emits light and seems much more natural. Go ahead and add a light to your other light fixture. Look at the way lights are used in Dusk, look at the different types of lights, radius lights, spotlights, flicker lights. When working with lights, you will want to click the Build Lighting button after making changes to see the full effect in the perspective view. You may not see the correct shadowing and other effects unless you build the lights after making changes.

You can also add details with projectors. A projector adds a detail map to an area. It could be a shadow, some dirt or other special effect. We will add cracks to our building wall. This lets you change the appearance of a building so you can copy a few buildings you make and yet have them be distinct in appearance.

In the Actor Browser select projector and add one near your building. Set its properties as follows:

Set the ProjTexture to Texture'T_AA2_FX.Projector.fx2_proj_cracks' (Remember, find the file in the texture browser, select the texture and click “use”), set the FOV to 48 and the MaxTraceDistance to 256. Ensure that the other settings match the picture above. Most importantly we want bProjectOnParallelBSP to be true, because we are modifying the appearance of our BSP building.

Under the display section in the projector properties set DrawScale to 0.100.

Before we shine the projector on the wall, it looks like this:

Align the projector up with the wall location as shown below.

Enlarge

And now it looks like this:

Level optimization, antiportals and zone portals

After the geometry of your level is in place optimize the level by setting the cull distance on static meshes, adding antiportals in solid structures and using zone portals for all interior spaces.

The cull distance is the distance away from the player’s view that the static mesh will stop drawing. This will depend on the fog values you set and the sight lines of your map. If you have an area of your map that you know cannot be seen from the rest of the map when you are 2500 units away, then you can set the cull distance on the meshes in that area to be 2500 units and they will not draw, which will speed up your framerate. Cull distance that is set to greater than the fog distance should help hide when the objects stop drawing, they should be completely fogged out when greater than the max fog distance. If your max fog is 5000 then a good starting cull distance would be 5500.

Cull distance is set in a static mesh actor’s properties in the Display section.

When you are playing your level, look for Static Mesh actors that pop in and out when you move around your world. If you can see the popping then increase the cull distance so the mesh does not stop drawing when you can see it.

An antiportal is a BSP brush that the engine uses to keep objects from drawing. This increases your framerate and helps your level to draw faster. These brushes should be placed inside large objects that you would expect to block the player’s view, for example a solid BSP building that the player cannot go inside. When the player is moving around this building, objects on the other side of the portal from the player will not render. It is important to be sure that the object you place the antiportal in really does block the player’s view or the player will see holes or objects popping in and out.

Read this link now:

http://udn.epicgames.com/Two/LevelOptimization

We will place an antiportal in our BSP building since it is solid and should block the player’s view when he is near it. Set the size of your cube Builder Brush.

Position the Builder Brush so it is inside of the building near the center in the top down view, sticks out from the top just a few units and extends down through the bottom of the world. Click the Add Antiportal button on the left side of the browser (ADD ICON HERE). Rebuild the map and save your work.

Run the level with the play button. Use the console to unlock the character and type ghost, this will allow you to move through buildings and terrain. Move through your building and the terrain and see how polygons and objects behind the antiportals do not draw. Notice that as you pass through the antiportal that objects are suddenly drawn in your view. Look at the Dusk map for creative examples of antiportal use.

Zone portals are another way to distinguish map areas from each other. In Dusk many interior rooms have a Zone portal, this separates the area from other portals, and allows you to set a different ambient light level and optimize your level. A Zone lets the engine know you are in a defined space. Any other Zone that does not have a line of sight to that Zone will not have to render. This will speed up your level. Open the Dusk map and see how the areas are Zoned. In the Perspective view click on the Portal rendering mode.

This will color all the Zones in the view. You can tell which objects belong to which Zones. This can help you decide how to cut your world up into Zones.

To create a Zone you use a Sheet brush to separate an area from your main Zone.

Create a walled and roofed building with an exterior doorway or look for one in the Dusk map. Set the size of your Sheet brush and rotate it as necessary so that it blocks the entry way to your new Zone area, the doorway into the interior building space. In the Texture Browser open the T_AA2_ Editor package, the Generic group and select the ED_GEN_ZONEPORTAL texture.

Then, with the sheet selected, click on the Add Special brush button.

Select Zone Portal in the Prefabs list and select OK.

This will create the Zone Portal sheet. Rebuild your level and check your new Zone.

AGP_Viewpoints, Ambient Sounds, Comm Volumes, Blocking Volumes, Start Points and Game Objectives

AGP_Viewpoint objects define a camera view for players to cycle through when waiting to join the game. They let a player get a preview of the level, however you should place them carefully so you do not give away too much information about vital areas of the game play.

Select AGP_Viewpoint in the Actor Class Browser.

Find the point in your level that you wish to give a player a preview, right-click and select Add AGP_Viewpoint Here. Move the Viewpoint to the position you wish and select its properties. Fill out Description with an appropriate description.

Sounds can be place in your level in a variety of ways. Static mesh objects may have ambient sounds built into them. Let’s add a hum to the light fixture you placed earlier. Open the Sound Browser, open the S_AA2_Amb_Misc package, select Load Entire Package from the File menu, select the Machinery group and then select the electrichumambience sound.

Open the properties of one of the light fixtures you placed on your building.

Under the Sound section and Ambient Sound, click on Use. Build your level and run it. Walk to the area near the light fixture and you will hear the hum. You can adjust the SoundRadius and SoundVolume to fit your area.

Ambient Sound objects let you add environmental sounds and audio flavor to your level. Select Ambient Sound in the Actor Class Browser.

Right-click and place it at a location in your level that you can walk by to test, say near the window you attached to your building. Position it and then bring up its properties.

Open the Sound Browser, open the S_AA2_Amb_Misc package, select the Animals group and then select the dog1 sound. In the Ambient Sound properties, select Sound Emitters and click on Add. Open up the [0] section and click on EmitSound and select Use. This will fill it out as above. Set the EmitInterval to 10 seconds and the Emit Variance to 5 seconds. This will make the sound play randomly every 5 to 15 seconds. Build your level and run it. Walk to the area near the window, wait and you will hear the dog barking sound play at random intervals. You can adjust these settings as you like, as well as the SoundRadius and SoundVolume.

Comm Volumes are used by the game to identify your position in the game world Look at the Dusk map and in the Perspective view type ‘C’. This toggles the Comm Volumes to display or not display.

As you can see from the Dusk map, you should build these volumes around all the areas of your maps and fill out their LocationName property with an appropriate description.

CommLocation is also a property of your LevelInfo, which you can select under the View Menu.

It is also a property for Zone Info nodes, so you can designate a Zone as a Comm Location.

To place a Comm Volume find the area that you want to encompass with the volume and set your cube Builder Brush to the appropriate size of the area. Ensure that Comm Volumes are displaying in the view you are using, by right-clicking on the view title bar, selecting View and checking Comm Volumes or selecting the View and Hit ‘C’. Positon the Builder Brush to the correct position and click on the Volume button.

Then select Comm Volume. You should see a green volume after you move the Builder Brush and you can set its properties.

PlayerBlocking Volumes are another important tool used to control areas of your map that you do not want the player to be able to walk through. Notice in the Dusk map there are many player blocking volumes around the edge of the playable area. These volumes block the player from moving through them and allow you to define the playable area of your maps. They are also used in other areas to keep the player from getting into any area in which you wish to restrict movement. A player blocking volume is placed similarly to a Comm Volume. Set the cube Builder Brush to the side you desire, position it, select the Volume Button and choose Player Blocking Volume. This will create a Pink player blocking volume brush. In general, do not move these volumes after you create them. If your volume is not correct, simply delete it and place a new one. To view Volumes in any of your views hit ‘O’. You can toggle them off and on this way, or by selecting View on the title bar and selecting volumes. Open the properties of your player blocking volume.

This type of blocking volume is preset to block players.

For more information on volumes please read:

http://udn.epicgames.com/Two/VolumesTutorial

AGP_PlayerStarts are game objects that are spawn points for players entering the game. You can select preset points in the Actor Class browser then right-click in your map to place one.

These are the steps used to build Dusk.

As you can see, you will have to repeat some of these steps many times and in greater detail to achieve the rich look and feel of a level such as Dusk. This tutorial has given you a basic understanding of all the tools you need to create a game level. You can explore in much more detail the Unreal Editor on Epic’s web site at

http://udn.epicgames.com/Two/

Glossary of Units

Unreal Unit( UU ) = a unit of measurement in Unreal Ed.

In America’s Army game the following scales are used:

DISTANCE

  • 256 UU = 487.68 cm = 16 feet.
  • 1 meter = 52.5 UU
  • 1 foot = 16 UU
  • 1 cm = 0.525 UU
  • 1 UU = 0.75 inches

COMMON MEASUREMENTS

  • Doorway: 128 units high, 64 units wide, 16 units deep
  • Stair: 16 units high, 24units deep
  • Duct: 80 units high, 80 units wide
  • Cover, prone: 24 units high

Unreal Rotation Units

Value Degrees Steps Per Cycle
1024 5.625 64
2730 (2730.666...) 12 24
8192 45 8
16384 90 4
24576 135
32768 180 2
65536 360 1 (Full Circle)

Views

Personal tools