The Black Sheep Wiki
The Black Sheep Wiki
Ued3 | Unreal Editor Beginner Tutorial Part Two

The contents of this tutorial were written by Rachel Cordone at

Now that we know a little bit about how the editor is organized and how to find our way around the viewports, it’s time to take a look at how to make BSP architecture.

First, a quick note about how the UnrealEd universe works. Although the 3d viewport looks empty, the entire universe starts out completely filled up. To make our levels, we have to carve holes into this filled up space which we can then add smaller parts back into. This system is an improvement over engines like Half Life’s, where even a microscopic hole into the void can make a level unplayable.

The Active Brush and Primitive Shapes

This section of the toolbar at the left of the editor is used to create primitive shapes such as cubes and cylinders which we can manipulate to make our level. Right-clicking one of these brings up a property menu which can be used to adjust the number of sides, hollowness, etc. Pressing one of these buttons causes the red Active Brush to appear in the viewports, this brush is our “rubber stamp” that we use to create our architecture. It is only viewable in the editor and does not show up in the game.

Cube - Height, width, and breadth can be manually set in the property menu. If Hollow is set to True, the cube’s Wall Thickness can be adjusted here too. In addition, the cube can be set to Tessellated, which shows each face as two triangles instead of one square.
Curved Staircase - Inner radius of the curve can be set, as well as the height and width of each step along with the number of steps. The total angle of the staircase can be set, as well as making it counter-clockwise instead of the default clockwise direction. An additional height to be added below the staircase can also be added.
Spiral Staircase - Inner radius of the curve can be set, as well as height, width and thickness of each step. The number of steps per 360 degrees and total number of steps can be set. The top and bottom surfaces can be set to either Sloped = True, which makes them a smooth ramp, or Sloped = False, which makes them stairs. A clockwise or counter-clockwise direction can also be set.
Linear Staircase - Height, width, and length of the steps can be set, as well as the number of steps and an additional height to be added to the bottom of the staircase.
BSP Based Terrain - I do not recommend using this primitive in UT2k3/4, normal terrain looks much better, is easier to manipulate, and runs faster. Height, width, and breadth can be manually set in the property menu of BSP Based Terrain, as well as the number of width and depth segments.
Sheet - Height and width can be manually set, as well as the number of horizontal and vertical segments. The axis that the sheet is oriented to can also be set. IMPORTANT NOTE - No matter what the properties of sheets are set to, they can never be solid and will not block players or weapons. These are mainly used for 2d decorations like spider webs, and for zoning off a level.
Cylinder - Height, outer radius and number of sides can be set manually. If Hollow is set to True, inner radius can be adjusted as well. If AlignToSide is left True, the edges of the cylinder will line up with the grid. If set to False, the vertices at the corner will line up with the grid.
Cone - Height, outer radius, and number of sides can be set. If Hollow is set True, the inner radius and cap height can be set. AlignToSide can also be set as with cylinders.
Volumetric - These should not need to be used in most cases. They were used in UT1 to create the illusion of 3d fire and chains etc, which can be made with emitters or meshes in UT2k3/4. Height and radius can be set as well as the number of sheets.
Sphere - As with BSP Based Terrain, I would not recommend using this primitive. Using static meshes would look better and run faster. Radius and sphere extrapolation can be set. Values larger than 4 can slow down or crash the editor.

Manipulating the Active Brush

Ok, now we can turn the Active Brush into the shape that we want, but these shapes are way too basic, and more importantly, it’s always at the origin! In this section I will show you how to manipulate the Active Brush and do simple vertex editing to get the exact shape we want to use.

Moving the Active Brush - This is best done in one of the 2D viewports, it works the same in the 3D viewport but the direction is hard to control. To move the Active Brush, click on it to highlight it in one of the viewports. Hold Ctrl, then hold the left mouse button down and move the mouse to make the Active Brush move. Another way to move it is by holding Shift instead of Ctrl, this causes the camera to follow the movement. The change in position will not show up in the 3D viewport until you click on it. This can be changed by clicking on the joystick icon at the top of the viewport (NOT the one in the top toolbar that tests the level). Clicking this makes the viewport change to Realtime Preview mode, which among other things shows brush movements as they happen. This can be used in all four viewports, although if you have a slower computer you might only want to have the 3D viewport set to do this.

The brush automatically snaps to the grid when moving. For fine tuning, you can adjust the size of the grid using the scroll-box in the bottom toolbar, but I highly recommend keeping it at 16 or greater. Setting it lower leads to a greater chance of BSP errors (the hall of mirrors or HOM effect) forming in your map because of brush misalignments, and players will not notice brushes being rounded off to the nearest 16 anyway. In addition, to the left and right of the scroll box are toggle buttons for turning the movement and rotation grids on or off. IMPORTANT NOTE - Turning the grids off is NOT RECOMMENDED. Doing so can cause slight misalignments in your brushes, which in addition to looking sloppy in game, will take more time for the engine to calculate (making it slower) and gives a greater chance for BSP errors to form. ALWAYS keep your brushes on the grid. For static meshes however, feel free to turn the grids off, but keeping them on makes it easier to keep things aligned and generally makes things easier to deal with.

Rotating the Active Brush - Similar to moving the Active Brush. To rotate it, hold down Ctrl and the right mouse button, and move the mouse left for clockwise or right for counter-clockwise. Holding Shift instead of Ctrl causes the camera to rotate with the brush. If you want to rotate the brush around a different point, the brush origin (small red plus sign) can be moved by holding Alt and the left mouse button.

Selecting this button in the left toolbar lets you rotate the brush as well. The only added benefit to using this is that holding Ctrl with the left mouse button rotates it along another axis instead of moving it.
Be sure to select the camera button to be able to move the brush again, and to avoid accidentally rotating it.

Scaling the Active Brush - There are two ways to scale the Active Brush. The first way is by manually entering numbers in the Drawscale3D boxes in the bottom toolbar.

The boxes scale the brush in the X, Y and Z directions respectively. It is best to use whole numbers to avoid the same problems that turning the grid off would give us.

Selecting the Actor Scaling button in the left toolbar lets us do the adjusting more quickly, and it is easier to get the scale right. With this selected, highlight the Active Brush in one of the 2D viewports, then hold Ctrl. Now, holding the left mouse button and moving the mouse left and right scales the brush in the left and right direction, while holding the right mouse button and moving the mouse up and down scales it in the up and down direction. The direction is independent of the axis, so it works the same in all three of the 2D viewports.

Another effect selecting the Actor Scaling button has is when you move the brush with the Shift button, it leaves behind a “ghost” showing you where the brush was while it is being moved.

Vertex Manipulation - Care must be taken when moving the Active Brush vertices. All of the vertices of a face must line up along a plane. If we were to take one of the top vertices of a cube and move it up as in the following picture, the top surface is no longer planar and a BSP error will appear in the game, most likely a Hall Of Mirrors (HOM) effect where the last image to be displayed in the affected area remains there in a repeating loop.

One way to move vertices is to simply click on it in the 3D viewport, then hold Alt and drag it in the 2D viewports with the left mouse button. Clicking on them in the 2D viewport only selects the top one, and if a bottom vertex is selected in a 2D viewport it will not move. Another problem, particularly with cylinders and cones, is that the vertices sometimes will not snap to the grid. In this case usually selecting another vertex then selecting the problem one again and moving it around will work. Also, after vertex manipulation, if you create another primitive sometimes it will be “knocked off” the grid, as in the following picture:

If this happens, there are two ways to correct it. The first it to simply right click any vertex, and it should snap to the grid. For objects such as cylinders whos vertices aren’t normally snapped to the grid, right click it and select Reset >> Move To Origin.

Another way to move vertices is to use the Vertex Editing button in the left toolbar. With this selected, both vertices can be selected and moved at the same time in the 2D viewports. Click on a corner to highlight the vertices, then hold Ctrl and move them with the left mouse button. Individual vertices can still be selected in the 3D viewport with this tool.

Taking Her Sweet Time Getting To The First Room

Once you have practiced creating and manipulating primitives using the Active Brush, it is time to make our first room. For simplicity’s sake we’ll start out with cube shapes. Right click the Cube primitive to bring up the property menu, then leave it at 256 for height, and put 1024 for width and breadth and hit Build. Remember that our universe starts out filled up, so we must now subtract our cube from it.

Hitting the subtract button in the left toolbar now would create our first room, but unless you have already selected a texture it will display the Default Texture. Go ahead and press the button (They look similar, but Subtract is the one on the top right) to see what it would look like.

Hit Undo to get rid of the subtraction (You might have to hit it a few times if you accidentally selected a polygon or vertex etc). How do we avoid using the default texture? If you remember from Part One of this tutorial, I showed you the browsers in the top toolbar. Press the button to open the Texture Browser now.

With the texture browser open, press the Open button and double click on the first file in the texture folder, which should be AbaddonArchitecture.utx. The file will load and the textures will be displayed in the browser. If you scroll down the list, you’ll see that the selection looks kind of limited. This is because the browser is set by default to display only the first group in that texture package. To see the rest of them, you can use the toolbar just above the browser viewport.

Using the scroll box will display textures in the different groups, while pressing All displays all the textures in that file. For our room, it would save time to choose a wall texture since most of the surfaces are walls, so deselect All and select the Wall group. For this tutorial I will choose the first one in the group, but you can select any one you want, or open up another texture package altogether to find one you like. Click on the texture you have selected, then close the texture browser and hit the Subtract button. Move the Active Brush out of the way and you will see our room as a yellow brush in the 2D viewports, and in the 3D viewport we will see our first room.

Changing Textures - That’s a little bit better, but the floor and ceiling don’t look right at all. There are two different ways to change the textures on surfaces. The first way is to click on it in the 3D viewport (Holding Ctrl to select more than one), then clicking a texture in the Texture Browser. Another way is to select a texture in the Texture Browser, then hold Alt and click on a surface to apply the texture. Try replacing the textures on the floor and ceiling with better looking ones using each method.

An Important Note About Scale - Next we will learn how to scale and manipulate textures, but how do we know what will be the right size for the game? What does 256 units mean anyway? When I first started level editing, it didn’t occur to me to use something to get the scale right, and a room I made ended up being enormous. From then on, I always placed a player in the editor so I could see exactly how big things were. To do this, open the Actor Browser and select Pawn >> UnrealPawn >> xPawn. Right click in any of the viewports and hit ‘Add xPawn Here’. A Jugg will appear (or a Jakob for 2k4), which you can move and rotate the same way as you did the Active Brush. Move him so he’s standing on the floor in the middle of the room. Now we’re ready to adjust our textures.

Aligning Textures - As you start adding more rooms and decorations to your level, the textures will not always line up correctly. This is particularly true if you have scaled the Active Brush. It is always a good idea to align the textures on your brushes. To do this, right click the surface (Or hold Ctrl to select multiple surfaces and right click the last one) and select Alignment >> Planar Walls/Planar Floor, depending on which one it is. An even easier way to align the textures in our first room is to right click one of them and hit Select Surfaces >> Matching Brush, then right click again and hit Alignment >> Box. The wall textures may move and not look right anymore, but they can be adjusted later.

Adjusting Textures - Right now the most noticeable problem is our floor is way too big. To bring up the surface’s properties so we can change this,we can use one of four ways:

1) Right click it in the 3D viewport and select Surface Properties.
2) Highlight it in the 3D viewport and hit the Surface Properties button in the top toolbar.
3) Highlight it and select View >> Surface Properties in the top menu.
4) Highlight it and hit F5.

Select the Pan/Rot/Scale tab to see the texture manipulation options. At the bottom is the Scaling box. You can either choose a value from the Simple scroll down box or enter your own value, which will scale both the U and V values by the same amount, or enter separate values into the U and V boxes below it. Clicking on Relative will change the scale by a percentage of what it is already at. For the texture I used, scaling it to .25 looks right.

Now to adjust our walls. You can either hold Ctrl and select all of them individually, or right click one and hit Select Surfaces >> Adjacent Walls. Open up their properties and select the Pan/Rot/Scale tab. Clicking on the Pan buttons will move the texture in the U (Side to side) or V (Up and down) directions, and holding Shift will pan it in the opposite direction, in case you missed the obvious note on the right hand side. For my wall texture, I scaled it down to .5 and panned it 256 V units to line it up correctly.

For the ceiling, experiment with the Rotation property. I left mine scaled to 1.0 and rotated it 45 degrees.

Textures can also be panned and rotated using the tools in the left toolbar. Using these buttons gives you better control over how the textures line up. For panning, hold on to Ctrl and use the left or right mouse buttons to pan in the U and V directions respectively. For rotating, hold Ctrl and use either mouse button to rotate it.

Now that we know how to make a room, try scaling the Active brush down and using the Add button (next to Subtract) to place a few pillars near the sides. If you move the Active Brush out of the way you will see that Adds are blue. Choose an appropriate texture for your pillars and align them properly. You can also use Subtracts to make hallways leading from your room to others. If we wanted to make another room at the end of the hallway exactly the same as our first one, we can easily duplicate it. There are two ways to select all of the brushes that make our room. The first one would be to hold Ctrl and click on each of them in the 2D views. Sometimes rooms get a bit complicated, and we may not be able to click on a brush in any of the 2D views. In this case we would use the other way of selecting them. Make sure you have the Camera button in the left toolbar selected, then move your mouse past one corner of the room, above or below and off to one side in one of the 2D viewports. Hold Ctrl and Alt, then left-click and drag your mouse to the opposite corner. You should see a red box form around the room. Let go of the mouse button and everything that has a vertex inside the box will be selected. Now that we have our room selected, right-click part of it and hit Duplicate. The duplication appears one grid unit below and to the right of the original. Now you can move them as one to the end of the hallway.

IMPORTANT NOTE - If you make any changes to BSP brushes or if you duplicate brushes, you will have to use the Rebuild button in the top toolbar to see your changes. Since we haven’t added any lighting, only use the Build Geometry button for now.

In part three of this tutorial we will take a look at the use of Static Meshes, as well as Lighting.

Continue to Part Three of this tutorial

Page last modified on November 11, 2005, at 10:56 PM