_-= Wong Chung Bang's =-__________________________________________
/ \
| UUUU UUUU EEEEEEEEEE |
| UUUU UUUU EEEEEEEEEE |
| UUUU UUUU EEEE |
| UUUU UUUU NNNNNN RRRRR EEEEEE AAAA LL EEEEEEE DDDDD |
| UUUU UUUU NN NN RR RR EEEE AA AA LL EEEE DD DD |
| UUUUUUUU NN NN RRRR EE AAAAAA LL EEEEEEEEEE DD DD |
| UUUU NN NN RR RR EEEEEE AA AA LLLLLL EEEEEEEEEE DDDDD |
| |
| E-mail:
[email protected] -= F A Q v1.7 =- |
| |
\___ Copyright (C) David Newton ('Wong Chung Bang') 12/09/2002 ___/
Please ask permission before hosting this FAQ.
Sites with permission to host:
www.gamefaqs.com
DLH.net
www.neoseeker.com
=====================================================================
Versions
=====================================================================
V1.6 - Added more sections to Further Techniques.
V1.1 - Started on 'Further Techniques' - only one section done.
V1.0 - Original version.
=====================================================================
Contents
=====================================================================
-= Section 1 : A First Level =-
I. Introduction
II. Getting the Editor Started
III. The Editor Screen
IV. Moving Around
V. Basic Building
VI. Texturing
VII. Lighting
VIII. Rebuilding
IX. Adding more Detail (using Texture Properties)
X. Saving the Level
XI. Duplicating
XII. Building a Corridor (Moving Vertices)
XIII. Texture Realignment
XIV. Adding Start Points
XV. Testing the Level
XVI. Adding and the 2D Shape Editor
XVII. Texture Rotation
XVIII. Texture Replacement
XIX. Pickups
XX. Pathnodes
XXI. More Building
XXII. Deintersecting
XXIII. Adding Pillars
XXIV. Skyboxes
XXV. More Lighting
XXVI. Glass
XXVII. Conclusion
-= Section 2 - Further Techniques =-
I. Introduction
II. Level Properties
III. Movers and Triggers (Doors and Lifts)
IV. Zones
V. Light Types
VI. Teleporters
=====================================================================
Section 1 - A First Level
=====================================================================
---------------------------------------------------------------------
I. Introduction
---------------------------------------------------------------------
Welcome. This FAQ is a step by step guide to how to build UT levels.
No knowledge is required on your part to start off. After the initial
stages where you learn basic things like geometry and lighting, you
don't have to use all the sections - feel free to skip parts if they
seem too complex, or if you don't want to use them in your level.
If you feel that I've missed something, or I haven't explained
enough, e-mail me (the address is given at the top of the FAQ). Also,
if you want to contribute anything you've written, feel free - your
name will appear in a list of contributors.
---------------------------------------------------------------------
II. Getting the Editor Started
---------------------------------------------------------------------
First, check your version of UT (you can see it in the corner on the
main menu). I originally had version 400 of UT, but upgraded to v436
by the patch available from www.unrealtournament.com (if you don't
already have this, I suggest you get it). The installation of the
editor seems to be strange with this setup - it is supposed to be on
the 'Extras' CD, but instead is installed along with the game.
Version 436 does two things important to this FAQ - disables the CD
check at the start of the game, so you don't have to insert the CD
every time you want to test a level, and gives you UnrealEd version
2.0 instead of the standard editor. This editor makes slightly more
sense than the earlier version.
Create a shortcut to 'c:\unrealtournament\system\unrealed.exe' on
your desktop or start menu so that you don't have to open Explorer
every time you start the editor. Of course, replace
'unrealtournament' with whatever directory you installed the game in.
Run the shortcut to get started.
You should see the UnrealEd 2.0 splash screen. After it loads (and
this can take quite some time on some computers), you'll be in the
editor.
If you get a cryptic error message at this point, copy out the error
and e-mail me... I can't guarantee anything, but I'll see what I can
do. Some people have real problems getting the editor started, so
don't think you're alone.
---------------------------------------------------------------------
III. The Editor Screen
---------------------------------------------------------------------
Provided all has gone well at the previous stage, you'll be in
UnrealEd 2.0. Close the 'Browsers' window for now - you don't need it
at the moment. I'll explain the rest of the screen.
Ignoring the main display at the moment, you can see the standard
Windows title bar and menu. Below this is a row of buttons, with
basic functions such as Save, Load, Undo and so on.
Down the left hand side of the screen are the tools - similar to the
tools in Paint. They are arranged in groups for clarity, and you can
open and close groups by clicking on the icon at the top right of the
group. This area will be referred to as the 'sidebar'.
Now to the main display. If you've ever worked with a CAD application
this will seem familiar. You have, in order clockwise from top left,
the Top, Front and Side windows. These show your level from various
different viewpoints, but shown in two dimensions for each window.
This makes it easier to line up objects in three dimensions (this
might seem unclear now, but you'll get the idea later on).
The fourth and final window is the Perspective window, which shows
your level from a three-dimensional viewpoint. It has various
different modes, which can be changed using the different cube
buttons on the top of the window. Leave it at 'Dynamic Light' for now
- you won't see a difference if you change them anyway because
there's nothing in the level yet.
The joystick icons in the top corners of the windows are the
'realtime preview' buttons - if realtime preview is on, the window
will update itself constantly even when you are doing something in
another window. This is most useful in the Perspective window, but
more on these later.
---------------------------------------------------------------------
IV. Moving Around
---------------------------------------------------------------------
The four windows are easy to navigate. To move around the level in
any of the three 2D windows, simply click and hold either mouse
button and drag the mouse in the direction you want to move. To zoom
in or out, hold both mouse buttons. (If you have a function assigned
to both mouse buttons it's best to disable it - set it to F7 if you
can't disable it, as this button does nothing)
If you zoom out far enough in any window, you can see that you have
limited space for building a level. Don't worry about this - the
biggest level I ever built took up only about an eighth of that
space. If you zoom in you'll see an object near the centre point of
the map - this is the camera that the Perspective window is viewed
from.
The Perspective window itself is slightly more complex than the three
other windows, but once you get used to it it works very well.
Holding the left mouse button and moving the mouse will move you
forwards and backwards and rotate the camera horizontally. If you
hold the right mouse button you can rotate the camera in all
directions as you would in normal UT. Holding both mouse buttons
gives you vertical and horizontal movement without rotating the
camera - it 'slides' the camera.
If you look at the bottom of the sidebar, you will see an icon that
looks like three horizontal lines (you'll need to scroll down if
you're in 800x600 mode or below). Hover the cursor over the button to
show its name - 'Change Camera Speed'. Clicking on this button cycles
through the three speeds of the camera - slow, medium and fast,
depending on which line is highlighted.
The best way to get used to this, of course, is to practice - don't
move too far from the centre for now, though.
---------------------------------------------------------------------
V. Basic Building
---------------------------------------------------------------------
Now that you know how to navigate the editor, you can get on with
building something. In UnrealEd (and most other map building
software), 3D shapes are called 'brushes'. Any solid objects that you
see in Unreal levels are composed of one or more geometrical brush.
To create a cube brush, right-click on the button with the cube on
the sidebar.
You now have a 'CubeBuilder' window. Here, you can enter the
dimensions of the cube you want to build. Enter the width and breadth
as 512, and leave the height at 256. Ignore all the other options for
now. Click 'Build' to build the cube.
You now have a red outline of a cube (not really a cube at all, but
that's what the program calls it) in the windows. What is important
to remember here is that the cube does not exist as part of the level
yet - the red outline is just a 'template' that you can use to add
cubes to your level. This template is called the Builder Brush.
To move the builder brush around, select it by clicking on it, then
hold down Shift and drag it using the left mouse button in any of the
three 2D windows. You can see the brush moving around along with the
window as you drag. It is possible to move objects in the Perspective
window as well, but it can be difficult to see what you're doing.
If you want to move a brush around without moving the window, hold
down Ctrl when you drag instead of Shift. This is useful for fine-
tuning the position of a brush.
Move the builder brush upwards in either the Front or Side window so
that it rests on the line running horizontally through the centre of
the map, and make sure its centre is on the vertical centre of the
map in the Top window. You're now ready to subtract the cube from
the level.
Before we go any further, I'll have to explain what I mean by
'subtracting'. The 'empty' void that you have seen so far is not in
fact empty, but a solid block. When you put a room into your level,
what you are in fact doing is carving out a shape in this block
('subtracting' the shape from the block). Once you have the room you
can then add items and decoration into it. It seems a bit Douglas
Adams at first, but you'll soon get used to it (as with most things
in the editor).
To put the cube into the level, click on the 'Subtract' button. It
looks vaguely like this:
________
| |
| |
_____|... |
| | . |
| |__._____|
| |
| |
|________|
It's in the section of the sidebar with all the other similar-looking
icons - on the top right of the section. Hover the mouse to ensure
that you've got the right button, then click on it.
You are now the proud owner of a cube. (It should have a grey bubble-
like texture on it - if you've made a mistake, click Undo and try
again). Move the camera into it as described above. As you can see,
the default textures look horrible, so the next step is to put the
correct textures on the surfaces.
---------------------------------------------------------------------
VI. Texturing
---------------------------------------------------------------------
If you don't know what textures are, think of them like wallpaper, or
painting a room - the texture you use is the 'paint' colour. Open the
texture browser window by clicking its icon in the bar on the top of
the screen (it looks like a painting of a landscape).
Now that the texture browser window is up, click on the 'Toggle Dock
Status' icon, which looks like three windows. It's on the left of the
window, just below the title bar. What this does is to add the
texture browser to the 'Browsers' window that you saw earlier - it
makes things easier to work with. You need to load a texture package
before you do anything else, so click the 'Open' button in the window
(NOT the one on the main top bar).
This will give you a list of texture packages (.UTX files) to choose
from. Open 'Starship.utx' by clicking on it and selecting 'Open', or
just by double clicking on it. You'll be back in the Texture browser,
with the new textures added.
You will have noticed two combo boxes in the window. The first of
these is the name of the texture package you're looking at (Starship
at the moment). If you look at the contents of the combo box, you can
see other default texture packages - it is possible to use textures
from these packages in your level, but they are game textures and
it's not really recommended to use them. Stick with 'Starship' for
now.
The other combo box shows the name of the set of textures within the
package. They have names like 'Wall', 'Floor' and so on. Even though
they are named this way there's nothing to stop you using a floor
texture for your ceiling, or any other combination.
The 'All' button shows all the texture sets within the current
package, instead of getting you to view them one at a time. This can
be useful, but sometimes you get an overwhelming list of textures.
For now, we'll stick to the basics and add suitable textures to the
level so far. There are two ways to do this, and I'll guide you
through both of them. First, making sure you're still on the
'Starship' package, select the 'Floor' set and select the texture
called 'SH_GR3'. Now, using your Perspective window (closing the
browser or moving it out of the way if you have to), right-click on
the floor. It will highlight blue to show it is selected, and a menu
will appear. Select 'Apply texture...' from the bottom of the menu.
The floor will now be shown as having the texture you selected in the
window. To apply the texture for the walls, select all four of them
by first selecting 'Select None' from the Edit menu to clear your
selection (this is unnecessary but a good precaution) then holding
down Ctrl and clicking all four walls in turn. You'll have to rotate
the camera to do this, but the selection will remain. When they're
all selected, open the Texture Browser again, go to the Wall set and
select 'Wall35' (or any other texture of your choice). The selected
surfaces will automatically be textured with your choice.
Incidentally, if there is a texture selected when you place a new
brush object in your level, the object will have that texture by
default instead of the grey 'bubble' texture. Use this to save time.
Now deselect the walls and select the ceiling. Use any texture from
the 'Ceiling' section - I recommend the 'Panel3' texture as it fits
with the walls. When you've textured it, deselect everything.
---------------------------------------------------------------------
VII. Lighting
---------------------------------------------------------------------
At the moment, the level doesn't have any lighting in it. This gives
a flat, unshaded look to the level. When you add light sources you
can give a level more 'character' - make bright outdoor areas, or
dark, gloomy tunnels. For now we'll add a single light to the level.
This is fairly simple - all you have to do is right-click on the
ceiling and select 'Add Light Here' from the resulting menu (it
doesn't have to be on the ceiling, of course). This will give you a
light icon in the level. Select it and move it around the level in
the same way that you moved the brush. Move it to the centre of the
room on the ceiling.
When you've got the light in the right place, double click on it to
show its Properties. There are a lot of things you can alter, but all
we're interested in now are the 'LightColor' and 'Lighting' sections.
Expand both of them.
The LightColor obviously changes the colour of the light, using an
HLS format rather than RGB. Leave it alone for now, and look at the
Lighting section.
What we're interested in here is the LightRadius. By default it's set
at 64, which is usually too high for a normal light. Reduce it to 32,
then close the Properties window.
Because of the way lights are calculated, having lights with large
radii can slow down the level. It's better to use many light with
small radii.
---------------------------------------------------------------------
VIII. Rebuilding
---------------------------------------------------------------------
You will probably have noticed that adding the light and changing its
radius didn't make any difference to the display on the screen. This
is because the level hasn't been rebuilt. Rebuilding is a process
performed by the computer, calculating how textures should be placed
and how they look - nothing you see in the editor is 'real' to the
computer. Click on the cube icon at the TOP of the screen, not the
one you used before. (Rebuild Geometry).
Nothing much has happened from your point of view, but to the
computer the textures and surfaces are now 'calculated'. Click on the
light bulb icon next to the icon you just clicked on.
You'll definitely see a difference now. The computer has calculated
how the light affects the textures, and displays them as they would
be shown in the game. To show how different the display is, try
clicking the Textured cube (fourth from left) at the top of the
Perspective window, and then the Dynamic Light (fifth from left)
again.
---------------------------------------------------------------------
IX. Adding more detail (using Texture Properties)
---------------------------------------------------------------------
Now you have a light, but a light doesn't look good just on its own.
You have to add somewhere for the light to come from to give a
convincing effect. We'll do this now. Right-click on the Cube Builder
icon again (on the sidebar), and enter the dimensions as Height 32,
Breadth 64 and Width 64. Click 'Build' and then move the cube to the
top centre of your room, so that the builder brush is 'resting' on
the top edge of the room.
To get it aligned properly with your ceiling, you'll have to reduce
the grid size. It's in a combo box in the lower right of the screen -
select '8' and move the builder brush to the correct position. Before
you subtract it, select 'Ceiling' from the Ceiling set using the
Texture Browser. Subtract the cube, then set the grid size back to
16.
You'll notice that the cube has defaulted to the texture you
selected, as mentioned earlier. The cube has also joined on to the
larger cube you subtracted earlier to become part of the room. This
is the beginning of a light sunk into the ceiling.
However, the texture on the edge of the smaller cube is too large -
you can see only half of it on each side. To correct this, select all
the textures on the edge (either move the builder brush out the way
or press 'B' to hide it if it gets in your way). Right-click and
select 'Texture Properties' (it should say '4 Selected' by the side
if you've selected all the textures correctly).
Ignore all the flags for now, and select the 'Alignment' tab. Enter
'0.5' in to the 'Simple:' box in the Scaling section, then click
Apply. You'll see the textures resizing. Click on Hide once you've
finished.
Now we need an actual light texture. The package called 'UTTech1' has
some very good lights in it, so we'll use one from that. Open it up
in the Texture Browser (select Open/UTTech1) and go to the Light set.
Select the texture called 'RCLIFLT1' while you have the top of the
small cube selected. Again, the texture is too big, so select the
surface and go in to 'Surface Properties' again.
Try clicking the Apply button next to 'Simple:' with the 0.5 value
again. You'll see that while the texture is fine in one direction,
it's still too big in the other. We need to use U and V scaling to
sort this (V is Vertical, U is Horizontal. Don't ask me why.)
Enter 0.25 as the U value and 0.5 as the V value, then click the
nearby 'Apply' button. Don't worry about 'Relative' for now. You can
see that the light now looks correct, but there's one more thing to
do to it.
The light texture has to look as if the light is coming from it.
Therefore, the texture should be brighter than the textures around
it. To do this, select the 'Flags' tab for the light texture and
check the 'Unlit' box. This might imply that doing this will cause
the texture not to be lit at all, but instead it does the opposite -
the texture is unaffected by lights and is instead displayed at
normal brightness.
You might want to move your light up slightly into the cube we
created for the light. We need to rebuild again to take the changes
into account - this time, click the button with both the cube and the
light bulb. This rebuilds everything in the level.
---------------------------------------------------------------------
X. Saving the level
---------------------------------------------------------------------
Now would be a good time to save - UnrealEd is very unstable,
especially when you're using the more complex elements. Saving is
carried out in the same way as any other Windows application. Either
select 'Save' from the 'File' menu, or click on the disk icon at the
top of the screen. You'll have to enter a filename for your level
when you save for the first time.
A word about filenames: Unreal Tournament looks for prefixes on a
file name to determine what kind of level the file contains. The
prefixes for the default levels are:
DM = Deathmatch
DOM = Domination
CTF = Capture the Flag
AS = Assault
We're going to be using this level as a DM level, mainly because
they're the easiest level to create. Enter the filename as 'DM-
FirstMap' or something similar (of course, if you don't intend to
play this level in the regular game, just enter 'FirstMap' and it
won't show up in the file list in the game). Remember the name
'DM-Tutorial' is already taken.
---------------------------------------------------------------------
XI. Duplicating
---------------------------------------------------------------------
Now that we have one basic room, we can duplicate it like many
other things in Windows. On the Top 2D window, select all three items
we've put in the level so far (the two cubes and the light) by
holding down Ctrl and clicking on them. You'll have to move the
builder brush out the way. When you have all three selected, go to
the Edit menu and select Duplicate (or press Ctrl+W).
You now have an exact copy of the room. It is by default shifted 16
units along the X and Y axes. Move them over to the left of your
original room, leaving two large squares of space between the right
edge of the new room and the left edge of the original room. Make
sure that the rooms are aligned correctly on both other axes (the two
rooms will appear to merge together on the 'Side' window when it is
selected). When they're aligned, deselect everything and rebuild all
again.
If you look at the level from outside a room using the Perspective
window, you can see that there are now two rooms. However, there's no
corridor connecting them, and this is what we're going to build next.
---------------------------------------------------------------------
XII. Building a Corridor (Moving Vertices)
---------------------------------------------------------------------
We've only used cubes so far, but we'll use a more irregular shape
for the corridor. However, the basic shape we need is still a cube,
so construct a cube with dimensions Height 160, Width 128 and Breadth
256. Drag the builder brush into the centre of the gap between the
two rooms on the 'Top' window. If you can't see it, press B to show
it.
Remember that we're working in three dimensions, so you need to drag
the corridor down in one of the other 2D windows so that the bottom
edges of all the cubes are aligned with each other.
We could build the corridor as a cube, but as mentioned above we're
going to change the shape of the corridor before it is put in the
level. Zoom in closely to the builder brush on the 'Side' window.
Click on the vertex of the cube on the left (corners are called
'vertices' in three dimensions). A 'crosshair' will appear on the
vertex to show it is selected. Now hold down Alt and using the left
mouse button drag the vertex two grid spaces to the left. Do the same
for the vertex behind this one, then move across to the other side of
the cube and drag the two vertices two grid squares to the right.
On the 'top' window you'll see the result of moving the vertices as
viewed from the top - the brush will appear to have two edges on each
side. Look at the builder brush in the Perspective window and you'll
see it has an irregular shape. Go back to the Textures browser and
select 'Wall35' from Starship/Wall again, then subtract the cube.
You'll have to reselect the textures for the ceiling and floor for
the corridor. Use 'SH-GR3' for the floor and 'Panel3' for the ceiling
as before. You now have to rebuild the level and save.
---------------------------------------------------------------------
XIII. Texture Realignment
---------------------------------------------------------------------
Don't let the title put you off reading this chapter. All it means is
lining up the textures so that they look seamless - if you move the
builder brush away from the corridor you just created and look at the
floor, you can see that the textures don't line up with each other,
and there is a 'seam' on the floor. Fortunately this is easy to
correct.
Deselect anything you might have selected, then right-click on the
floor anywhere and go to 'Select Surfaces/Adjacent Coplanars' (or
press Shift+C). This selects all the textures that are on the same
plane as the texture you selected. If you look around now you'll see
that all the floors are selected. Right-click and go to 'Texture
Properties' again (3 should be selected).
Click on the 'Alignment' tab and click on the 'Align to floor'
button. That's all you have to do - the textures will now be aligned
with each other. Close the properties window.
You'll notice that realigning the textures has cancelled the light
effect on them - to correct this, rebuild the level again, then save.
---------------------------------------------------------------------
XIV. Adding Start Points
---------------------------------------------------------------------
To make the level playable, you have to add places for the players to
start at. These are called 'Playerstarts', appropriately enough. Open
the Actor Browser (the chess pawn icon at the top of the screen) and
dock the window as you did the Textures Browser. You now have a
browser window with two tabs - Textures and Actors. This is easier to
work with than two separate windows.
Click on the plus sign next to 'Actors' to expand the tree. Look for
'NavigationPoint' and click on the plus sign again, then click on
'Playerstart' to select it.
You can now select 'Add Playerstart' from the right-click menu. Close
the browser window and add a playerstart in each room by right-
clicking near the centre of the floor and then selecting 'Add
Playerstart'.
The default direction for a playerstart is East - this is fine for
the left room, but in the West room you would start facing a wall. To
correct this, go to the 'Top' window and click on the Playerstart in
the right hand room. You will see an arrow facing East pointing from
it. To rotate it, hold down Ctrl and the right mouse button and drag
the mouse around until it's facing roughly West.
You now have a level with two rooms and a connecting corridor and two
Playerstarts. It's a very simple level, but there's enough there to
test.
---------------------------------------------------------------------
XV. Testing the Level
---------------------------------------------------------------------
This is probably what you've been waiting for - running the level in
Unreal Tournament. Before you do this, though, rebuild the level and
save. Sometimes UT can crash while exiting back to the editor. When
you've rebuilt and saved, click on the joystick icon at the top of
the screen next to the rebuilding buttons.
It's best not to have bots in the level at the moment, as it's too
small and there are only two playerstarts. If you have bots as
default, start a new practice session with 0 bots then exit and
reload the map. Explore what you've made, then exit UT.
---------------------------------------------------------------------
XVI. Adding and the 2D Shape Editor
---------------------------------------------------------------------
I mentioned Adding a while ago - this is the opposite of subtracting,
as you might imagine. Adding puts solid objects back into the map
after an area has been subtracted. I'll describe how to make a
'raised' section of wall. We could do this by adding a cube, but this
would leave 90 degree edges, which generally don't look good. To
create a more complex shape we can use the 2D Shape Editor.
Open up the 2D Shape Editor by clicking its icon on the top bar (it
looks like a triangle with marked corners). The Editor will open -
you should maximise it to get a better view. At the moment you have a
square. The green smaller square is the pivot of rotation of the
polygon - if you don't know what this is then don't worry about it
for now.
You can change the number of vertices on the shape, but it has the
right number of sides for now. Count where the darker grey lines
cross as the origin (0,0) and click and drag the four vertices to
these points: (-2, 4); (-2, -4); (2, 6); (2, -6).
You should now have something resembling this:
/|
/ |
| |
| |
|[]|
| |
| |
\ |
\|
Now that you've got the basic shape, you need to make it three-
dimensional. Click on 'Process/Extrude' then set the depth to 256 and
click OK. What this does is create a prism with the ends the same
shape as the polygon you drew in the 2D Shape Editor. Close the
Editor for now.
Rest the builder brush on the inside side of the room on the right in
the 'Top' window (make sure it's aligned with the room correctly in
the other windows as well, remember). Select the 'Wall35' texture as
before and click on the Add button. It is to the left of the Subtract
button.
You'll notice that subtracted brushes are drawn in brown while added
brushes are blue. This helps to distinguish between them.
If the Playerstart you put in the level earlier is inside the added
(blue) brush, move it away. Players can only exist in subtracted
sections of the level.
---------------------------------------------------------------------
XVII. Texture Rotation
---------------------------------------------------------------------
As you can probably see, the wall textures have appeared at 90
degrees to the vertical on the added brush. Correcting this is again
fairly simple. Right-click on one of the surfaces of the brush you
just added, and go to 'Select Surfaces/Matching Brush'. This is a
quick way of selecting all the surfaces on one brush. Right-click and
select 'Surface Properties' then go to the 'Alignment' tab. Hold down
Shift and click on the '90' button (this rotates the texture
anticlockwise 90 degrees). Then click on 'Wall Pan' in the
'Alignment' section to correct the seams on the textures in the same
way as you did the floor. Rebuild the level and save again.
---------------------------------------------------------------------
XVIII. Texture Replacement
---------------------------------------------------------------------
Select 'Textured' mode (fourth cube from left at the top of the
Perspective window). If you're ever working in an area with not a lot
of light it's often easier to see what you're doing in this mode. It
doesn't affect the actual level in any way.
Replacing the textures in the level can completely change the 'feel'.
The textures used so far have been metallic - we're going to change
the level into something similar to DM-Stalwart. To do this, first
look in the 'UTTech1' texture package. If you've saved and exited at
any point, only the textures used in your level are loaded, so reload
the package. Look in the 'Walls' section and select the 'ClifBrk3'
texture (make sure you don't have anything in the level selected
first).
Now right-click on any wall and go to 'Select surfaces/Matching
Texture'. All the walls with the same texture as the one you clicked
on are now selected.
Right-click again on any of the selected surfaces and select 'Apply
texture'. The metallic walls will now be replaced with the brick
texture.
Do the same for the ceiling - this time use Ceiling/NMCeiling5 as the
texture.
Select all the ceilings ('Matching Texture') and apply the texture.
After this
repeat the same process for the floor - I recommend using
'Floor/BMFloor2', but
you can use whatever you like.
If you go back into Dynamic Light mode (fifth cube from left), you'll
see the
different effect that the new textures create.
---------------------------------------------------------------------
XIX. Pickups
---------------------------------------------------------------------
To make a decent level, you need to think about where your weapons,
ammo, health and other pickups will be placed. For example, a Shield
Belt in the middle of the main room of a level isn't good item
placement - you should make the player go slightly out of the way to
get the best items.
The exception, of course, is in DM-Pressure, where all the powerful
items (Shield Belt, Damage Amp, Rocket Launcher) are placed in one
room, but you have to take a risk to get them.
It's your choice where you place the items in this level, but I'll
give my recommendations again. Placing items is similar to the way
you placed Playerstarts.
Open the Actor browser, then open the tree
Actor/Inventory/Weapon/TournamentWeapon. You're given a list of
weapons from Unreal Tournament, but some have different names from
what they're called in the game.
ChainSaw : Chainsaw (usually you only start with this with the
mutator on.) If you pick it up in-game you get a strange
message that hints at Doom - "It's been five years since
I've seen one of these". <¦-)
enforcer : Enforcer (you start off with this, so it's unusual to have
it in a level. Under 'enforcer' is 'doubleenforcer' -
don't place this in a level as it has the same effect as
picking up an additional Enforcer)
ImpactHammer: The Impact Hammer (again, there's no real point in
having this in a level as you usually start with it).
Minigun2: Minigun
PulseGun: Pulse Gun
Ripper: The Ripper
ShockRifle: ASMD Shock Rifle (under this is 'SuperShockRifle', which
is the weapon from InstaGib mode. It's not recommended to
place this in a level as it has infinite ammo and kills
any player instantly.)
SniperRifle: Sniper Rifle
Translocator: Translocator (again, you wouldn't usually use this)
Ut_biorifle: Bio Rifle
UT_Eightball: The rocket launcher (it was called the Eightball in
Unreal, but obviously was changed for the sequel.)
UT_FlakCannon: Flak cannon
WarheadLauncher: The Redeemer!
Place a Pulse Gun in the Northeast corner of the East room, inside
the alcove. To do this, select PulseGun and right-click where you
want to place it, then select 'Add PulseGun Here'. You can move it
around in the same way as other objects once it's placed.
Now that you have a weapon you need ammo for it. The ammo is in a
rather awkward place, in Actor/Inventory/Pickup/Ammo/TournamentAmmo.
Place a couple of PAmmo in either the same alcove, or the one to the
South if you want to delay the player a bit.
You have a weapon, now place a few health items around the level.
They are in Actor/Inventory/Pickup/TournamentHealth.
Healthpack: The Big Keg O' Health.
HealthVial: Health Vial +5
MedBox: Medbox +20
You could place a few health vials in the corridor, and a couple of
medboxes in the West room (note that this is too much health for such
a small level, but this could become part of a bigger level). The
health vials look better when they're lined up, so adjust their
positions using the Top window.
Incidentally, the 'special' pickups such as Shield Belt, Damage Amp
and Invisibility are in Actor/Inventory/Pickup/TournamentPickup. The
only thing worth mentioning here is that Stealth gives PERMANENT
invisibility.
---------------------------------------------------------------------
XX. Pathnodes
---------------------------------------------------------------------
Bots are 'blind' to walls and surfaces, and rely on navigation points
to move around. They move through the level between points unless
they encounter an enemy. Using navigation points is like a simple way
of programming bots, and showing them where lifts and other special
areas are. To make the level suitable for bots, we're going to add
some of these navigation points.
You've already used one, of course - the Playerstart. It shows bots
(and in this case players) where to start. The next simplest
navigation point is the Pathnode.
As said before, bots can't 'see' walls in your level, but they can
work out routes through it if you place pathnodes to guide them. The
pathnode is under Actor/NavigationPoint. Select it then add a
pathnode anywhere on the floor in your level.
Don't ask me why Epic chose to use an apple as the icon. I get a lot
of people looking over my shoulder asking 'What are those apples?'
when I'm making levels... anyway, pathnodes should be placed around
the level to form a path for bots to follow. Pathnodes are
unnecessary near items because bots can recognise items in the same
way as pathnodes.
It's best to place a pathnode at each end of the corridor rather than
just one in the middle. Also add a couple of pathnodes in each room
so that the bots can follow a few different paths. Rebuild the paths.
(Use the button that looks like a network next to the Rebuild All
button).
You'll have got a window saying 'Adding reachspecs...' but nothing
will have happened from your point of view. To show the paths that
were calculated, right-click on the title of any view window ('Top'
and the Perspective window are the most useful) and go to View/Show
Paths.
If you see a crucial area not accessed by paths, add a pathnode there
and rebuild again. (An example would be no paths going in to or out
of the corridor). Don't worry about the corners of rooms and so on.
Once you're happy with the paths, select 'Show Paths' again to hide
the paths, as they tend to get in the way when you're editing
normally.
Try rebuilding, saving and testing the level now. To add a bot, press
TAB to get the quick console up, then type 'Addbots 1'. You should
see that the bot moves semi-intelligently around the map.
---------------------------------------------------------------------
XXI. More Building
---------------------------------------------------------------------
By now you should know how to create basic rooms and add more detail
to them. It's largely up to you how you continue with the
construction of the level, but there are still more things to learn
about the Editor.
It's probably better to stop here for a while and try building some
simple levels for yourself, using the techniques already taught here.
Your first few levels won't be that great, but it takes practice to
build a good level. When you think you've practised enough, come back
and read more of this. You don't have to follow the guidelines
exactly from now on.
We're now going to try building a sloped corridor to the North of the
west room. Duplicate the corridor you built earlier by selecting it,
then going to Duplicate on the Edit menu. Move it away from the rest
of the level.
Of course, it's pointing in the wrong direction. You can rotate
brushes in exactly the same way as you rotated the Playerstart a
while ago - hold down Ctrl and right-click and drag. Align the
corridor so that it is pointing from North to South, then place it so
that it comes out from the North wall of the west room.
To make it slope upwards we need to adjust the vertices again. Save
before you do this, as the editor is prone to crashing if you drag
two vertices on top of each other by mistake. Use the 'Side' window
to drag all four of the vertices on the left hand side upwards four
grid spaces each.
Look in the Perspective window - you'll see the sloped corridor's
outline if you have the brush selected, but no surfaces or textures.
You need to rebuild the level so they are calculated.
Once that's done, we're going to attempt to build a more complex
room. It's difficult to describe, so I'll explain it in sections.
First, create a cube with dimensions H256, W768, B512. Subtract this
when it is directly to the North of the west room (at the North end
of the corridor). Make sure that it is aligned vertically with the
high end of the sloped corridor. Give it the same floor, wall and
ceiling textures as for the rest of the level.
Now create another cube, this time with dimensions H256, W256, B768.
Subtract this when it's on the East side of the cube you just added,
at the North end. (A diagram would make things clearer...)
______________________________
| | |
| | 2 |
| |____________________|
| 1 |
| |
| |
| |
|_________|
|| ||
|| || <-- Corridor to West room
Subtract the brush to get a corridor jutting out from the new room.
That's not what we want the end result to be, but as we build the
rest of the room it will change. Make a third cube: (H256, W512,
B256). Move it to location 3.
_______________________________
| | |
| | 2 |
| |____________________|
| 1 | |
| | |
| | 3 |
| | |
|_________|______|
|| ||
|| || <-- Corridor to West room
Don't subtract it yet. This brush is going to have a slope down to a
lower level of the room. After making sure that the brush is aligned
horizontally, go to the Front window and move it upwards so that you
can see it more clearly without the rest of the level in the way.
Pull down the lower right vertices four squares - the same number of
grid spaces as you pulled up the sloped corridor (so that the bottom
of the slope is on the same level as the first room you built). Don't
adjust the top vertices as we want to keep the ceiling at the same
height.
The fourth and final cube to subtract is shown in location 4.
_______________________________
| | |
| | 2 |
| |____________________|
| 1 | | |
| | | |
| | 3 | 4 |
| | | |
|_________|______| |
|| || |_____________|
|| || <-- Corridor to West room
Note that it juts out past the edge of cube 3. The dimensions to use
are (H320, W704, B512). Make sure it's aligned correctly in every
direction (the edge of brush 4 should be only a few spaces away from
the North wall of the first room you built) and then subtract it.
Put the correct textures on all the surfaces if you haven't been
doing this already. The result of subtracting those four brushes is a
room with a platform running along the North edge and a lower section
in the South, with an E/W ramp connecting them both at the West side.
---------------------------------------------------------------------
XXII. Deintersecting
---------------------------------------------------------------------
As we're not going to be separating these four brushes or using them
separately, it's best to 'group' them together so that the room is a
single complex brush. To do this, first move all four brushes
together (Ctrl-Click them) and move them well away from the rest of
the level. Rebuild geometry only (Cube icon).
Now create a cube (H512, W1024, B1536) and place the builder brush so
that it completely encloses the room - make sure NOTHING except the
room is enclosed by the brush. What we're going to do is deintersect
this brush.
Deintersection is difficult to explain. The best analogy I could come
up with is this: Imagine a balloon placed at the centre of the
builder brush. Air is pumped into this balloon until it fills the
area enclosed by the builder brush entirely, covering all the
surfaces and taking their shape.
Deintersect the brush now. The icon is under the Subtract button.
..........
: :
: :
....:__ :
: | | :
: |__|.....:
: :
: :
:........:
The brush will have taken the form of the room. Subtract this new
brush while it is in the location where the four brushes originally
were, then delete all the four original brushes that made up the
room. Rebuild again.
You don't need to use this just now, but Intersecting is the opposite
of deintersecting. The button for this action is to the left of the
Deintersect button (under the Add button). In Intersection, the
builder brush acts like a plastic bag having the air pumped out of
it, and will take the form of any geometry within the area enclosed
by it.
---------------------------------------------------------------------
XXIII. Adding Pillars
---------------------------------------------------------------------
Of course, this room is a bit plain. Supporting pillars would provide
some decoration, and they could also be used as cover in the game.
Make a cube (H256, W64, B64) and, using the texture 'PillarPln' from
UTTech1/Pillar, add it near the top of the ramp (on the flat surface,
otherwise it won't look realistic). Drag the builder brush over and
add another pillar near the end of the flat platform.
Finally, make a cube (H320, W64, B64) and place this taller pillar
somewhere near the bottom of the ramp (remember to adjust the
vertical position as well). If you want, add some more pillars, but
don't crowd the room too much. Rebuild the geometry once you're
finished (build the lights as well if you want, but if you do you'll
have to go into Textured mode because there are no lights in this
room yet).
---------------------------------------------------------------------
XXIV. Skyboxes
---------------------------------------------------------------------
Skyboxes are the backdrops you can see on levels with outdoor areas
like DOM-Sesmar. They're not part of the level itself, but you can
see them as the backdrop. We're going to be creating a simple 'sky at
night' style skybox, which is not always appropriate but is the
simplest to make.
Create a cube with all sides 512, then place it well away from the
rest of your level (somewhere where you're never likely to want to
build the actual level later) - you can move it once you've created
it, but it's easier to just build it in the right place to begin
with. Apply the texture GenFluid/sky/NghSky to all six sides of the
cube (remember you could always select this texture first and then
subtract the cube).
Now add a SkyZoneInfo actor inside this cube. This actor is in
Actor/Info/ZoneInfo. (Add a SkyZoneInfo, not a RockingSkyZoneInfo).
Drag the actor to roughly the centre of the cube.
There's one more thing to do with the skybox - make all the surfaces
Unlit (in Surface Properties). This makes sure that even without
light you can see the SkyBox. Do this and rebuild the level again.
We now need to show this skybox in parts of the level. Build a cube
(H128, B256, W32) and subtract it so it juts out from the West side
of the complex room. This is the beginning of our 'window' outside -
use the 'ClifBrk3' texture again. Add a couple more windows on the
North wall by rotating the builder brush (Ctrl-Right click) and
subtracting again. Just to clarify, here's the diagram again.
_____ _____
_|_____|________|_____|_______
| | |
_| | 2 O |
| | O |____________________|
| | 1 | | |
|_| | | O |
| | 3 | 4 |
| | | |
|_________|______| |
|| || |_____________|
|| || <-- Corridor to West room
The pillars, marked as O, don't have to be in exactly the same place
as I have them.
When you rotate the builder brush, select 'Reset/Reset Rotation' from
the right-click menu when you've finished. Otherwise the builder
brush keeps rotated even when you're entering new values into the
cube builder.
Now we've got the window shapes, but we need to tell UnrealEd that we
don't want the backs of the windows to be shown - instead the SkyBox
will be shown in their place. Select the back of all three windows,
then go to Surface Properties and check the 'Fake Backdrop' flag.
You can't see any change yet, but if you activate Realtime Preview
(the joystick icon at the top of the Perspective window) you'll see
that the skyzone is shown in place of the windows. Deactivate
Realtime Preview again.
---------------------------------------------------------------------
XXV. More Lighting
---------------------------------------------------------------------
We still need lights in the new room, and the light is going to come
from the windows. Add a light on any window you want and edit its
properties.
</pre><pre id="faqspan-2">
The light needs a slight blue tinge to hint at moonlight. Open up the
LightColor tree and click on the 'Color' button. The resulting menu
is roughly the same as the colour selector in Paint. Select a light
blue colour (maybe HLS 163, 240, 186) and press OK. The other
properties are fine for now, so close the Properties window and
duplicate the light twice, dragging each new light to its
own window. When you've got them all in place, rebuild the level
again.
Depending on what you want to do now, you could add some ceiling
lights, or try making the moonlight less bright if you want.
Experiment around a little before moving on.
Don't forget to add pathnodes and other items to this room - a couple
of Playerstarts could be placed here as well. I recommend placing a
Flak Cannon along with some ammo at the end of the raised platform.
---------------------------------------------------------------------
XXVI. Glass
---------------------------------------------------------------------
We're now going to add a glass window between the complex room and
the first room you built. This glass is going to be unbreakable -
breaking glass is possible, but is more difficult to make.
Create another cube (H128, W64, B256) and place it in the space
between the two rooms at an appropriate height (if it's the wrong way
round you have to reset the rotation of the builder brush). Subtract
it, again using the ClifBrk3 texture. This is the window in which
we're going to place the glass.
The glass is only a 2D surface, so we don't need a Cube brush.
Instead we're going to use a Sheet brush.
Now right-click on the Sheet button and select 'Build'. The Sheet
button is the one that displays a flat plane near the Cube button.
Change the Axis to AX_Yaxis and make the height 128 and the breadth
256. If you didn't move the builder brush away from the window then
the sheet will be in the right place already (in the middle of the
window).
Before we add the glass we need a glass texture. There's a good one
in Coret_FX/Glass - select either of the textures there. Once you've
selected a texture, left-click on "Add Special Brush" (the blue
square).
You now get a window detailing all the types of Special brush. Select
the Prefab "Transparent Window" and click OK, then Close.
The transparent window is now in place, but sheets are never solid.
The player could walk through or shoot through this glass. To prevent
this from happening we need to use an invisible 'blocker' brush.
Create a cube, this time using the dimensions (H120, W24, B248). Note
that this cube doesn't quite fit the grid, but instead stops short of
the gridlines. Place it just on the North side of the window (in the
alcove for the window, but not actually touching any other brushes).
Click on 'Special Brush' again.
We want the brush to be invisible, but still block the player. Select
the prefab 'Invisible Collision Hull' and click 'OK'. Note that this
brush is a semi-solid (grey). Semi-solids are normally used for very
small detail brushes, and for brushes which are off the grid like the
one we just created. Never subtract anything from a semi-solid - it
will make the level very unstable. However, when semi-solids are used
correctly they can make the level more stable and simpler for the
computer to draw. DM-StalwartXL is an example of a level that makes
good use of semi-solids.
You now have an invisible solid brush that blocks the player or any
bullets from passing through the window. (Note that you could also
have a blocker brush on the other side of the window as well - this
is not usually necessary as it will appear that the player can't get
through the window anyway). At this stage, you might want to rebuild
everything and test the level to see what I mean.
---------------------------------------------------------------------
XXVII. Conclusion
---------------------------------------------------------------------
The main part of the level is complete now. Try building more of the
level yourself - remember, try to make every part of the level
connect to other parts, don't have dead ends. Also, don't just make
rooms cube-shaped - try using more interesting shapes by building
rooms from many brushes then deintersecting them as shown for the
large room. Unreal editing gets a lot easier with practice.
=====================================================================
Section 2 - Further Techniques
=====================================================================
---------------------------------------------------------------------
I. Introduction
---------------------------------------------------------------------
This section covers use of UnrealEd beyond basic building of levels.
Individual sections cover topics such as adding sounds, lifts and
many other things to a map. Trying to incorporate these techniques in
the tutorial level above would make good practice (I must sound like
a music teacher or something).
---------------------------------------------------------------------
II. Level Properties
---------------------------------------------------------------------
You'll have noticed that levels in Unreal Tournament usually have a
background music playing, and a screenshot at the side when you
select a level in the Practice Session menu. This section shows how
to achieve both of these using the Level Properties window.
First of all, to get at the Level Properties, select it from the View
menu or press F6. Open up the LevelInfo tree. 'Author' is the name of
the author of the level (the third line of the information given in
the Practice menu). IdealPlayerCount is the number of players
recommended for the level (enter something like '4 to 8' in here).
Finally, Title is what you want the game to call your level - like
Liandri Central Core or Fractal Reactor.
LevelEnterText does nothing, but strangely, text is entered here for
some of the level provided with the game. I can only assume that this
field was going to be used, but then Epic decided against it.
Screenshot is more complicated. Ideally you could just use any
texture, but instead it has to be a texture in a package called
'MyLevel'.
First of all, take a screenshot of your level (it's best to do this
in Observer mode of the game). Reduce this screenshot to 256x256
pixels and save it as a PCX image (Paint will do this, but it's
better to use a more advanced package). Now go to the Textures
Browser and select 'File/Import'.
Browse for your file, select it and click Open. You'll now be given
another menu asking where to place the texture. Type 'MyLevel' for
the package (this is essential), then 'Screenshot' for both the group
and the name. Deselect 'Generate MipMaps' as this will prevent the
texture from blurring.
Once you've imported the texture, select it in Level Properties by
clicking the 'Use' button next to Screenshot while you have the
Mylevel/Screenshot/Screenshot texture selected in the Texture
browser.
Finally, adding music to the level is a lot simpler. Either you can
use a standard music (easiest) or write your own (harder). You can
even import MP3s into a level with a bit of trouble.
I'll cover using a standard music first. Open the Audio tree in Level
Properties. Select the '...' button next to 'Song' to bring up the
Music Browser, then select 'Open Package' in this window to display a
list of UMX files. Select one of them and open it. Listen to it by
selecting it in the browser and pressing the Play button. (Press the
Stop button to stop playing, of course). Once you've found a suitable
music, select it then click 'Use' in the Level Properties window.
Writing your own music is harder, of course. For this you need a MOD
writing program. ModPlug Tracker is what I use. Its site can be found
at www.modplug.com. Download it and (here's the hard bit) learn how
to use it.
Once you've written a MOD (in IT format is best), save it. To import
it into Unreal Tournament, open the Music Browser and select
File/Import. UnrealEd supports a wide range of MOD files (all the
ones created by Modplug, plus a few others). Select the MOD you want
to use, then save it out as a UMX file by selecting the disk icon in
the browser. Now just use the music as you would a standard music
(you need to include this UMX package in the zip if you're planning
to distribute your level).
Now on to using MP3s in Unreal Tournament. I'll say now that this
isn't recommended as it can increase the size of your level by about
30MB - or a lot more than that if you're using an Iron Maiden track
<¦-). It also makes the level quite unstable, as UT has to load a lot
of music data before playing the level. Still, if you're not put off
by that, here's how to do it.
This involves the use of ModPlug Tracker again. Convert the MP3 to a
wave file using a separate convertor - there are many available on
the Internet. Now import the wave file into Modplug and create enough
empty MOD patterns so that the MP3 plays all the way through. Now
save the music as any type of MOD file (again, using IT format is
best). Import this IT file in the same way as you would for the
previous type of music.
Now save and run the level, and with any luck the music should play
in the background. If you look at your level in the Practice Session
menu, you'll see the screenshot and information you put in.
---------------------------------------------------------------------
III. Movers and Triggers (Doors and Lifts)
---------------------------------------------------------------------
Doors are made using a special type of brush called the Mover. As its
name implies, this is a brush that can move.
First, using an open space, create the door as you want it to look
like - keep it simple at first, perhaps simply a thin cube brush with
door textures on it. As you get used to editing try adding lights or
more complex door shapes - my map DM-Freezerburn uses doors with
lights at the base and windows in them.
When you've created the door, intersect it (make the builder brush
enclose it and then click Intersect). Drag the intersected brush to
where you want the door to appear and click Add Mover (the button
looks like a box with arrows).
The brush will have appeared as a purple outline in the map. Now
select it and right-click to get the menu. We need to tell the door
where to move to when it opens. Select Mover/Key 1, then drag the
door to where you want it to move. Select Mover/Key 0 (Base) again
and the door will jump back to its original setting.
The door will now work in the level. Run into the door and it will
open, and it will close again after a while. This is a very basic way
of making a door, and there are ways to improve it.
Adding sounds to a door is simple. Select the mover and go to its
Properties menu, then find MoverSounds. Select one of the blank
fields and click the '...' button to get to the Sound Browser. Open
the package 'DoorsAnc' or 'DoorsMod' (meaning Ancient Doors or Modern
Doors) and play a few of the samples.
A mover needs five sounds. ClosingSound and OpeningSound are the
sounds that play when the door starts to move. MoveAmbientSound is
the continuous sound played when the door is moving, and ClosedSound
and OpenedSound are used when the mover stops moving. Generally, the
pairs Closing/Opening and Closed/Opened will be the same sound.
An example of a good combination to use is:
ClosedSound: md6end
ClosingSound: md6start
MoveAmbientSound: md6loop
OpenedSound: md6end
OpeningSound: md6start
Lifts are created in exactly the same way as doors - just make the
platform, intersect, make a mover from it and define the keys.
Now close the MoverSounds tree and open up Mover. This gives a lot of
options for the behaviour of the mover, and I'll explain them one by
one.
BDamageTriggered: Whether the mover is activated by shooting or
damage such as using the Impact Hammer.
BDynamicLightMover: Recalculates lighting on the mover continuously
as it moves. Normally a mover's appearance stays the same no matter
where it moves to, but with this option the appearance will be more
realistic. This can slow down the level a lot.
BrushRaytraceKey: Selects the key that the mover will be rendered in
when you rebuild lighting. For example, selecting 0 (as is normal)
will calculate lighting on the mover as if it was in its starting
position in the level.
BSlave: ?
BTriggerOnceOnly: If true, the mover will only move away and back to
its starting position once.
BumpEvent: The name of the event that is sent when the door is bumped
into by a player (more on this later).
BumpType: Select what qualifies as a 'bump' (players, pawns, or
anything).
BUseTriggered: ?
DamageThreshhold: How much damage the mover can take before moving,
if bDamageTriggered is True.
DelayTime: The time in seconds that a mover waits between being
triggered and actually moving. This is normally used for lifts rather
than doors.
EncroachDamage: The damage caused when the mover hits a player.
KeyNum: Does the same as selecting 'Key X' in the right-click menu.
MoverEncroachType: Tells the mover what to do when it hits a player.
ME_StopWhenEncroach stops the mover entirely. ME_ReturnWhenEncroach
is the default, and makes the mover return to the position it came
from when it hit the player. ME_CrushWhenEncroach does exactly as it
suggests - crushes the player if it hits them (instant death).
ME_IgnoreWhenEncroach ignores everything that gets in the way and
simply passes through them.
MoverGlideType: Selects the type of movement by the mover.
GlideByTime slows the mover down at the start and end of its
movement, as far as I know.
MoveTime: The total time it takes for the mover to move from Key 0 to
its final position.
NumKeys: The number of keys a mover moves through (usually keep this
at 2 unless you're making a door with very complex movement).
OtherTime: ?
PlayerBumpEvent: The event sent when a player bumps into the mover.
ReturnGroup: ?
StayOpenTime: The time that the mover waits before returning to its
original position.
WorldRaytraceKey: Selects the mover key that the world will be
raytraced in. For example, if this is 0 the world will be raytraced
as if the door is in its original position (blocks light). You could
also place the door out of the level in key 8 that is otherwise
unused, and use this (the world would be raytraced as if the door is
not there).
Another important property is in Object. InitialState selects the
conditions for which the mover will activate. The main ones are
described here.
BumpOpenTimed: The mover will activate when it is walked in to.
StandOpenTimed: The mover will activate when it is stood on (use this
for lifts).
TriggerOpenTimed: When the trigger linked to the mover is activated,
the mover will activate (use for remote buttons).
TriggerToggle: The mover will switch back and forward between its
keys when the trigger is activated.
To activate a mover remotely, or from a distance rather than having
to walk right into it, triggers can be used.
Add a trigger near the door (not inside the mover). You can find
triggers in Actor/Triggers/Trigger. Look at the 'Trigger' tree in its
Properties. Most of the options here are self-explanatory, and very
similar to the Mover Properties.
Look at the 'Events' tree. Here you'll find two fields: Event and
Tag. Tag is a name given to an object in the level. Event is the name
of the event which is sent to objects with the same tag when the
trigger is activated. This may be unclear at first. Tag does not
matter in the case of a trigger. Make the trigger's Event 'Door1'.
The trigger will activate all items with the tag 'Door1' when the
trigger is activated. We want the door we created earlier to be
activated. Select the mover and change its Tag to Door1.
You'll now see a line joining the trigger and door in the 2D windows.
This shows that the trigger and door are linked by the event. Make
sure the door is set to one of the Trigger settings (TriggerOpenTimed
is the best to use for a basic example) and rebuild and run the
level.
There are many other things possible with movers - secret doors, for
example. One way to make a secret door is to use a wall texture on
the mover and have the trigger as a shootable button. You may have to
use an extra trigger to provide a way out of the secret area,
remember.
---------------------------------------------------------------------
IV. Zones
---------------------------------------------------------------------
Zones are used for a number of things in Unreal. Water is the most
obvious use, but they can also be used to speed up your level.
Splitting the level into zones allows the game to determine what
parts of the level to display, making the game faster.
To create zones, a part of the level must be sealed off entirely
using surfaces called Zone Portals (these surfaces are invisible to
the player during normal play, and can be walked through). Create a
room with only a small number of exits if you haven't already got a
suitable room to use. Using the brush builder, create a sheet brush
that completely covers the door of the room (it has to be completely
'airtight'). Position this sheet across the door, select a texture
that you wouldn't normally use (to distinguish between the zone
portal and normal walls) and add it as a special brush 'Zone Portal'.
Again, make sure that the portal is completely airtight. If you have
more than one exit to the room, block them off using zone portals in
a similar way. When you create zone portals aim to have them as small
as possible without allowing any 'leaks' - this helps to speed your
level up more. Having portals in doors and corridors is fine, but not
in the middle of large rooms.
When you've completely sealed off the room, rebuild the geometry and
enter Zone/Portal View (the last cube along to the right on the
Perspective window). The room you sealed off will appear as a
different colour from the rest of the level. This is a Zone. You can
now zone off other rooms in the same way.
Zones can be assigned special properties. To do this, you have to
place a ZoneInfo inside the zone (the SkyZoneInfo used in the
tutorial is an example - it tells the computer that the zone should
be used for the backdrop to a level). The ZoneInfo objects can be
found in Actors/Info/ZoneInfo. To create water, make it a separate
zone. The zone portal, which is the surface of the water, should be
visible and have a water texture on it - perhaps make the surface
transparent as well.
You can also give names to your zones. The name of the zone appears
beside your team mates' names during a team game to tell you where
they are. This can be changed under 'ZoneName' in the LocationStrings
section of the properties of the ZoneInfo.
---------------------------------------------------------------------
V. Light Types
---------------------------------------------------------------------
You may have noticed that there's more to lights than just giving
them brightness, colour and radius - you can also change the type of
light generated by them. Look at the LightEffects available in the
'Lighting' section in the Light Properties. It's really better to try
them for yourself, than explain them here. Remember that you'll have
to turn on Realtime Preview (the joystick icon) to see the effects
properly.
LE_None: No special effects (standard light).
LE_TorchWaver: Subtle fire effect, as if the light was a torch.
LE_Fire: Fire effect, as if the light was a fire (or larger torch).
LE_WateryShimmer: As if the light was being reflected from a water
surface (try using this underwater).
LE_Searchlight: A rotating light.
LE_SlowWave: Waves of light spreading out slowly.
LE_FastWave: Waves of light spreading out quickly.
LE_CloudCast: ?
LE_StaticSpot: ?
LE_Shock: Light strobing on and off.
LE_Disco: Random 'disco' lights.
LE_Warp: ?
LE_Spotlight: One spot of light.
LE_NonIncidence: Ignores all solid surfaces and instead passes
through them.
LE_Shell: Only lights up the edge of the light's radius.
LE_OmniBumpMap: ?
LE_Interference: Like SlowWave and FastWave, but different according
to what surface the light is on.
LE_Cylinder: Lights a cylinder of light instead of a sphere.
LE_Rotor: As if a fan was in the way between the light and the
surface.
LE_Unused: ?
Some of these effects can be modified using the LightPeriod and
LightPhase properties. LightPeriod speeds up or slows down the
animation of the light, while LightPhase changes the part of the
animation the light starts from.
In addition to these effects, the type of light can also be changed
using the LightType property.
LT_None: No light. Shouldn't be used for lights, obviously.
LT_Steady: Normal light.
LT_Pulse: Pulses the light on and off.
LT_Blink: ?
LT_Flicker: Flickers the light randomly, as if the light was broken.
LT_Strobe: Toggles the light between on and off.
LT_BackdropLight: ?
LT_SubtlePulse: Like Pulse, but less noticeable. Inventory items also
pulse in this way.
The next two effects can be changed by changing the 'Skin' of the
light under Display. Again, it's really better to see it for yourself
rather than try to describe it. Textures suitable for this kind of
light can be found in the texture package GenFX, but any texture can
be used.
LT_TexturePaletteOnce: Cycles the light through the palette of the
texture selected in Display/Skin once only.
LT_TexturePaletteLoop: Cycles the light through the palette of the
texture selected in Display/Skin repeatedly.
Bear in mind that all light effects will slow down the level, so
don't go over the top.
---------------------------------------------------------------------
VI. Teleporters
---------------------------------------------------------------------
Teleporters are objects which, as their name suggests, teleport you
around the level when you walk into them. To add a teleporter to your
level, use it like a pathnode - select ‘Teleporter’ from the
NavigationPoint list and place it on a floor.
Alter the direction of the teleporter to the direction you want the
player to be facing when they emerge from it - if you don’t want it
to alter the direction of the player then set ‘ChangesYaw’ to False
in the Teleport section of the Teleport properties. Change the
teleporter’s Tag (in Events) to something recognisable.
Do the same with another Teleporter object at your destination point.
Give this a recognisable tag as well. Now, set the URL property of
your teleporters to match the Tag of your other teleporter. For
example:
Teleporter 1 Tag: BottomFloor
Teleporter 1 URL: TopFloor
Teleporter 2 Tag: TopFloor
Teleporter 2 URL: BottomFloor
If you want your teleporter to be one-way, just give the second
teleporter no URL.
Now rebuild and run your level. That’s all there is to making a
working teleporter, but as you will have noticed you can’t see them.
You have to use an object as a ‘marker’ so that players will be able
to see where the teleporters are.
I normally use the ‘UTFlare’ object for doing this. Go to
Decoration/ut_decoration/UTFlare and place one in your level. This
object is purely decorative so it does not matter how we alter the
appearance of it. Go into Display and select ‘...’ for the Texture of
the UTFlare. This opens the Texture Browser. There are a few good
‘teleporter’ textures in the SpaceFX package - namely the ones with
the names starting ‘Worm’. Select one of these and click ‘Use’ in the
Properties window.
The marker may be too small - alter the Drawscale in Display to
change this. 1.0 should be sufficient for most teleporters. Make sure
the marker is in the right place (right on the teleporter) and
rebuild and run again.