# How To...

This chapter is the main body of the FAQ - it explains to you, like a cookbook, how to create different effects in your worlds.

Every section consists of three parts: a description of what you're looking at, an explanation on how to do it, and some common questions.

SkyBox
Movers
Water
Glass

...many more to follow...

## Skybox

### What is it?

Noticed how much better the skies look in Unreal than in the previous 3D shooters?
The secret is in the so-called Skybox: a camera is placed in a small room mapped to look like the sky (complete with surrounding mountains, moons, clouds, etc), and whatever the cameras sees is mapped onto your sky.

The sky is created using two rooms: the skyroom (defining where the sky is) and the skybox (defining what the sky looks like).

### How to do it

The following image shows a courtyard open to the sky:
Note that the sky has its very own room: it is not simply mapped to the ceiling of the courtyard. Instead, it is mapped to every wall of the skyroom - this allows for very realistic skies.

So: select every wall in the skyroom and set activate the surface property Environment Map.

Now, this isn't all: so far, we have just defined where the sky will be, not what it'll look like.
For that, create a room somewhere away from your actual map: the Skybox itself. It can be any size, but I recommend making the XY size larger than your largest skyroom.
(If your skybox is a lot smaller than the skyroom, you'll have to scale the textures inside the skybox down so they don't look too big in the game).

Texture the skybox any way you please. For example, you could texture the ceiling with ShaneSky.Stars (Stars), and hang a sheet underneath it, masked with SkyBox.NCld (Clouds).
This way, you would get a cloud cover with stars shining through it.

Don't forget to texture the walls and floor too (I recommend having a look at the SkyBox texture set, it contains some nice mountains for that very purpose).

Now, place a Info.ZoneInfo.SkyZoneInfo into the skybox. This is your camera: place it in the middle near the floor.
If you like, you can also place sheets with masked decorations (moons, mountains) around it.

### Questions

#### Changing the cloud movement speed

If you've activated the UPan or VPan property (or both) on your clouds to get them moving, you'll usually notice them moving too fast.

Two solutions: firstly, your skybox could be too small - try increasing its size.
Secondly, the SkyZoneInfo has the Property ZoneLight, in which you can change the sub-properties TexUPanSpeed and TexVPanSpeed from their default of 1.0 to something smaller.

#### How do I make the sky swallow projectiles?

Place a sheet underneath the skyroom and make it into its own zone. Place an Info.ZoneInfo.CloudZone into it. Voila.

#### The clouds are too dark

Set the Unlit property for the clouds - this corresponds to the Fullbright setting in Quake and means that it's always shown as fully lit.

#### The sky slows down the game

Here are two things you shouldn't put into the sky: Coronas (especially large ones) and Dynamic Lights - both eat processor power like crazy up there.

#### How do I create windows looking out at the sky?

No problem: simply create something like a small skyroom in front of your window, set all the rooms texture properties to Fake Backdrop and you're set. If you've textured your skybox properly, you can see different backdrops depending on the direction the window looks.
Thus, a window looking north would see something different from a window looking east.

## Movers

### What is it?

Movers are moving brushes. They can do anything, from the floor sliding aside to drop the player into a lava pit, to moving doors and lifts.
Let's take a simple lift as an example (all movers are done the same way). A lift is simply a moving brush. When triggered (typically by player proximity), it moves from position one (top) to position two (bottom), delays for a moment, and moves back up.

### How to do it

The lift consists of two parts: the area the lift moves in, and the lift itself.
First build the lift area. Texture it right, add some black/yellow warning stripes (if it's in an industrial area), add the guidance rails, and so on.

Next, create the lift itself - hanging in midair. Simply build it in the middle of an empty room (I like creating a 'building room' somewhere off the map).
This has the advantage that you can move all around the lift, texturing and sizing it just right. You'll also need some space around it for the intersection brush later.

When you've created a good-looking lift, you'll have to intersect it: select the cubs tool and design a cube which totally encompasses the lift without touching anything else (think of it as packing the lift in a crate).
Don't actually build the cube, though. You don't want to add it to the world - you want to intersect it with the lift by pressing this button:

This intersection turns the current brush into a brush that looks just like the lift - in effect turning the many brushes of the lift into a single brush.
Now move to your lift area, position the brush exactly where you want the lift to start and add a moving brush by clicking this button:
You'll see your lift appear as a blue outline. This is the first keyframe: keyframe 0. It's the start position of your mover.
Select the mover (you might want to hide the red brush first as it'll be in the way), right-click it and select the option Mover Keyframe. From there, choose Key 1.
Now move the mover to the second position.

Again, right-click it, and set the keyframe back to 0: you'll see the mover jump back to it's original position.

And that's all - pretty simple, isn't it?

### Questions

#### Explain the overview again?

Okay. You create the lift original, hanging in mid-air in your construction box. You intersect it, and add a mover at the lift start position. Select keyframe 1 (the second keyframe, first one's called 0), shift the mover, select keyframe 0 again and that's that.
You might want to keep the original lift hanging around if you need it again somewhere else.

#### What's keyframing?

Keyframing is a way to define the movement of an object. You place several examples of it along its path (complete with different rotation, if you want), and the computer automagically moves it between these points.

#### How do I retexture the lift once I've added it as a mover

Ummm...you don't. You'll have to delete it, retexture your original (you still have it in your building room, right? Right?), and recreate the mover.

#### Can I have more than two positions?

Yes. Simply position some other keyframes as well, and change the Move.Numkeys property of the mover.

#### So how does a simple door work?

In exactly the same way as the lift. A DOOM-style door (which lowers into the ground) is simply a lift that drops into the floor (brushes can move through each other without problems). A rotating door has two keyframes: one showing it closed, and the other simply rotated open.
(Change the rotation point by moving the little cross of the brush about - simply leftclick and drag).

#### How do I set the movers speed?

Look at Mover.Movetime - it gives the time in seconds between the keyframes. You can't change the speed between different keyframes (sadly), but you can use several keyframes at varying distances, forcing the mover to 'hurry' over the larger distances.

## Water

### What is it?

Water is Unreal is different from water in Quake (which simply uses a 'water' brush).
Not it is a separate zone containing an Info.ZoneInfo.WaterZone class. The zone is separated from the rest of the map by a flat nonsolid sheet (add special brush: water).

### How to do it Let's use a simple example: an open pool.
First, create an empty pool. Feel free to texture it properly, add some water plants, perhaps some fish (they don't need to be aggressive, after all).
Next, use the Build a Sheet button to create the water surface.

Don't add it yet - instead, use the Add Special Brush icon:
From the menu popping up now, choose the predefined Water and click on Add Special.

And that's all. You will, of course, want to texture the water surface nicely.

### Questions

#### How do I do lave, slime, etc?

In exactly the same way, but use the Info.ZoneInfo.LavaZone or Info.ZoneInfo.SlimeZone.
You can also edit the properties of the ZoneInfo to change the amount of damage and the like.

#### My whole level is flooded!

Looks like your water surface isn't watertight. Make sure you close the water zone off completely. It's best to make the sheet a bit too big, just to be on the safe side.

## Glass

### What is it?

While you can make an entire brush transparent to create a glass pane, I do not recommend doing so: it slows the engine down, causes HOM errors on the edges (where the glass touches the wall), and monsters sometimes act strangely next to it.

Instead, we cheat: create a masked wall with the glass texture and place an invisible collision brush over it to stop the player from walking through it.

### How do I do it?

First, create a sheet where the glass should be. Make sure to use either an X-Wall or a Y-Wall sheet.
Next, select a nice glass texture, like GenLn.Glass.Glass
Once the sheet is in position, click on Add Special Brush and select Transparent Window, 2-Sided and Non-solid. Click on the Add Special button to actually create your sheet.

So far, so good, but creatures can still walk through this window - a sheet can never be solid, even if you select Solid in the menu. Thus we'll have to place an invisible brush over it.

Create a brush using any texture you've already used (by not using a different texture you keep the final size of your map down - why should the engine load the invisible texture if it doesn't get shown anyway?). Make very sure that it doesn't touch any other geometry (make it a bit smaller than the window frame).

Add it to the world using Add Special Brush with the option Invisible collision hull. It'll still be visible in the editor, but not in the game itself.

And that's all!

### Questions

#### Can I build grates, cobwebs, etc using the same method?

Yes! Just use the option Masked Wall instead of Transparent Window. For cobwebs, simply leave out the invisible collision hull (unless they're very strong cobwebs...).

Return to the Table of Contents