How to add water

Prerequisites:
The Basics

Summary:
Since Deus Ex includes a swimming skill, an aqualung augmentation, and underwater gear, you may want to have some underwater areas in your maps. You may also want to use water as a decorative element. Be aware that this tutorial pretty much covers the same ground that many UnrealEd water tutorials cover, so there may not be much new information if you've already done one of those.

Adding water-filled areas is actually pretty easy, but it introduces a few new concepts, unless you've used sheet selector brushes, special brushes, and zones already. Sheet selector brushes (usually just called "sheet brushes") are equivalent to the normal red selector brush you're used to, but they're used to define a 2D shape. Special brushes are used to define "special" areas, such as water and zone portals. Zones are a way to define certain areas of your map as water, lava, and sky and let you control things like ambient lighting, dangerous areas, or even gravity.

1. Make an area for the water

First, you'll need to create an area in your map for the water to be. To start out, just find or make a room with an uncluttered floor. Subtract a chunk out of the floor with the cube selection brush (make an empty pool, in other words). I would highly recommend that you align your subtract brush with the 16 unit grid.

 

2. Move and size sheet brush

Now you'll change the red selection brush from 3D to a 2D sheet. Press the Build a Sheet button: (bottom button in the third column). Right-click on it and select Sheet Properties. Make sure "Floor/Ceiling" is selected, and enter size values that will exactly match the length and width of your empty pool. (count grid squares if you have to) Now move the sheet brush so that it exactly covers your pool; this sheet will define the surface of the water. If you create the surface exactly at the top, it will look a little weird, so you'll most likely want to lower it at least a bit.

 

3. Create Special Brush to define the water surface

If you want, you can select a water texture now, but don't worry about it, you can assign a texture later just like a normal surface. There are a couple in the CoreTexWater texture library. Now push the Special Brush button: (fifth button down in the third column).  Select "Water" from the drop-down list.  Go ahead and take the default values, which should be these:

Hit "Add Special", and you should get a brand new green brush. That's right, green. Isn't THAT special? You just created a "Non-solid" brush; these show up green in UnrealEd. To see the different types of brushes and their colors, see this illustration at Wolf's site. At this point, you've got a water surface that is translucent and that the player can pass through. In order for the area under the surface to actually act like water, we need to set it up as a "Water Zone".

 

4. Add WaterZone

Change the Browse drop-down to Classes and expand the following items: Actor, Info, and ZoneInfo. Select the WaterZone item. Now right-click in your map and select "Add WaterZone here". Move the new item so that it is inside your pool area and under the surface you defined (your non-solid green brush). There are a number of properties on the WaterZone object that you can play around with, but all of the settings for a normal water zone are already set up.

The texture of the water surface can be an animated or static texture, just like any surface. If you want to make a static texture a little more active, right-click on the water surface in the 3D view and select "Big Wavy" or "Small Wavy" on the Effects tab.

If you're building a map that features a large body of water, you may want to just create one huge brush the covers the whole area. Anything below the "water line" will be underwater. See the 01_NYC_UNATCOIsland.dx and 06_HongKong_WanChai_Canal.dx map for examples of this. Notice the green outline in the top 2D window? That's right - all of the water for each of these maps was defined with one brush.

Rebuild your geometry with F8, save your level, and go for a swim!


Back to main page