Kreative Korner > Maps & Mapping
Unreal Editor - Basics and Making Your 1st Level
[MiA]Raj:
Note: i don't take credit for this tut. It is copied from
http://gridinstitute.com/bc/mt35801/class2/basics.html
1. The Basics
Key Concepts and Terms
If you've never worked in 3D space before, it's important that you are aware of a few key concepts before proceeding. (If you are familiar with 3D artistry, feel free to skip over this section.)
3D Space allows you to place objects on a plane to create the illusion of perspective. Artists attempt to create this illusion when, say, painting a picture of a landscape with a tree in the foreground and mountains in the background. The tree the artist paints appears much larger than the mountains in the background even though we know that in reality the mountains are much larger than the tree. Another example is looking down a set of railroad tracks. If you stand in the center of the tracks and look off in the distance in the direction of the tracks, the tracks appear to meet at a point even though we know railroad tracks are parallel. This illusion is known as convergence-related distortion.
In UnrealEd, you create this illusion of convergence by placing objects in 3D space. Convergence distortion will only appear in the Perspective viewport, and closely relates the view as it will appear in the game. This is the viewport that shows both the object as a solid form and in the correct perspective. The viewports labeled Top, Front, and Side are known as orthographic viewports. The orthographic views cover the technical layout of your world space. All the light rays travel perpendicular to each other and project onto a single plane rather than converging at an apex as in the Textured view. What this means is that regardless of position in 3D space, all the objects in the orthographic views will appear the same size without convergence-related distortion. As we work more with the editor, it's important to keep these concepts in mind as it will aid you in the correct placement of objects in your world.
Opening the Editor
As mentioned above, the editor can appear pretty daunting when you first open it up. Let's take a look at the initial screen:
When the first screen appears, you are presented with four viewports you will use to create and position the objects in your world. As described earlier, the three viewports labeled Top, Front, and Side are the orthographic viewports. All the objects visible in the orthographic viewports appear as wireframes and without convergence distortion. The Perspective viewport (labeled Textured in the picture above) is where you'll see each object placed in the correct perspective and textured.
In this tutorial, I won't cover the majority of the buttons on the interface except as they relate to the task at hand. For more specific information related to each button, check out the tutorial on UDN at http://udn.epicgames.com/pub/Content/UnrealEdInterface/. I will, however, list the buttons we'll use most as we work with a brief explanation of each.
The most widely used buttons are the 10 Primitive Objects, the CSG operation buttons, the browsers, and Build.
Primitives
In order to create objects in your level, you need to have something to work with, that is, you need to have primitive geometry to build upon. The Primitives at the simplest level are the Cube, Cone, Cylinder, Sheet, and Sphere. Also included in the UnrealEd primitives are BSP Based Terrain, Volumetric, Linear Staircase, Curved Staircase, and Spiral Staircase.
Each of these buttons will allow you to create the objects for addition or subtraction in your world space. In order to define the parameters for each object, right-click on the object you wish to create to bring up a window where you can enter in the length, width, and breadth along with additional parameters related to the specific object. For instance, right clicking on the cube () button will bring up a window like the one below.
In this window, you can enter in the specific parameters related to the brush you wish to create. In this case, a cube with the size (Height) 256 X (Width) 256 X (Breadth) 256 will be built if you click on the build button. One thing to note, however, is that Build in UnrealEd terms doesn't mean a space is created for the player to run around in. Clicking Build only resizes the Red Builder Brush for later addition or subtraction in your world space. You'll learn more about this concept as we move through the tutorial.
CSG Operations
The next set of buttons we'll discuss are the CSG Operation buttons. These are the buttons you'll use to create the geometry of your level after you define the parameters as outlined above.. The buttons are Add, Subtract, Intersect, Deintersect, Add Special, Add Static Mesh, Add Mover, Add Anti-Portal, and Volume.
You'll want to familiarize yourself most with the Add and Subtract buttons. The world space in UnrealEd is subtractive space, meaning that in order to create the world of your map, you have to first subtract the space. Think of it as carving out sections of a huge clay block.
Furthermore, the Intersect and Deintersect buttons play an important role in maintaining the integrity of your BSP, or Binary Space Partition in that that carve out sections of a brush to fit perfectly in your world space. The concept of BSP is beyond the scope of this tutorial. For more information on BSP and the BSP Tree, visit http://wiki.beyondunreal.com/wiki/BSP.
For now, suffice it to say that familiarizing yourself with intersecting and deintersecting will cut down on errors in your BSP tree which could result in a Hall-of-Mirrors (HOM) effect. However, in this tutorial, intersecting and deintersecting will not play a major role.
The Add Special and Add Mover buttons are used to add specific objects to your level. Clicking Add Special calls up a separate window from which you can create brushes for portals, zone portals, and mirrors among other things. Again, we won't cover many of these items in this tutorial. The Add Mover button is used to create geometry that moves a player from one point to another, such as a lift.
Finally, the Add Volume Button is the last we'll cover in this toolset. Add Volume is used to create space for water, lava, or other liquid as well as additional options. In this tutorial, we'll touch briefly upon water and lava and leave the others for an additional tutorial.
Browsers
The browsers in UnrealEd are where you'll find all the non-geometry related objects (that is, geometry that will affect the BSP tree—Static Meshes are geometry, but they don't affect the BSP geometry of the level). Starting from the left, these browsers are Actors, Group, Music, Sound, Textures, Mesh, Prefab, Static Mesh, and Animation. As you build your levels you'll likely become most familiar with the Actor, Sound, Textures, and Static Mesh browsers. Each of these buttons call up a new window from which you can choose items to place in your level. The Actor and Texture browsers will be discussed most in this tutorial with a brief familiarization on a few others.
Build
The last set of buttons we'll discuss are the Build Buttons.
Starting from the left are Build Geometry, Build Lighting, Build Changed Lighting, Build Paths, Build Changed Paths, Build All, and Build Options.
The Build Geometry button, as expected, simply builds the geometry. That is, if you subtract, add, or move an object in your world, it will create (or recreate) the geometry in your level. Build Lighting, and it's partner Build Changed Lighting, simply updates the lights in your world. Build Paths and Build Changed Paths are only needed once you've laid out a path network in your level, that is, the network that computer operated bots use to navigate through your level. Build All encompasses the functions of the previous mentioned build buttons, rebuilding everything based upon the settings outlined in Build Options. Lastly, the Build Options button allows you to define the parameters on which the geometry, paths, and lighting are built. For our purposes, and for most of the purposes of level building with UnrealEd, it's best to leave the options at their default values.
Moving On
Now that you're familiar with the most basic and essential functions of the editor, it's time to actually do some level building. The information above is quite a bit to handle, even for this brief of an exposure, but as we move into actually building level, many of the functions and concepts will become clearer. Let's put all of your newly acquired knowledge to good use.
[MiA]Raj:
2. Building Level: The First Room, Part I
So, let's get started, shall we?
First off, if you haven't already, open up UnrealEd 3.0 by clicking on Start, going to your Unreal Tournament 2003 group, and clicking on UT2003 Editor. This will bring up the interface as described in Part I of this tutorial. You'll also notice that the browsers window is already open for you. For now, you can close this or minimize it.
Let's take a moment to familiarize you with navigating in UnrealEd. As expected movement in each of the viewports is done with the mouse, along with various combinations of keys and the left or right mouse buttons (hereafter listed as LMB for Left Mouse Button and RMB for Right Mouse Button). It may feel a little cumbersome at first, but after some practice, it easily become second nature.
To move your camera in the Perspective view port—the black viewport with the blue lines—click and hold the LMB and move your mouse backward to forward and left to right. As you can see, the view moves along with your mouse on the X and Y plane. That is, you can look left to right or move forward and backward.
Now, hold down the RMB and move your mouse. This allows the camera to look left and right and up and down, while remaining stationary.Tip!
If you look closely in either of the orthographic views, you'll see a little eye staring back at you. This is the iconic representation of the Camera.
Finally, hold down both the LMB and RMB and move your mouse. Moving left and right moves the camera side to side on the same track. Forward and Backward moves the camera on the Z-axis, that is, you can move up and down.
Movement in any of the orthographic views is accomplished in the same way except that if you hold down either mouse button, you can only move from side to side. Holding down both mouse buttons allows you to zoom in closer, which can also be accomplised with the mouse wheel.
Building Your First Room
Let's start by building an initial room for your level. There are a few things to keep in mind as you're deciding what size to make your initial room. First off, a room that is only 128 Unreal Units (UU) both in height and width is comfortable for a player to run through, but it doesn't leave a lot of room for jumping, especially with the new power jump feature in the game. A room that has a height of 256 is comfortable both for the player to run through and also for the power jump feature. Also, it is very important to note that the editor, and as such, the game, prefers even numbered dimensions. Said another way, you'll keep both yourself and the editor happy if you choose dimensions in powers of 2 (2, 4, 8, 16, 32, 64, 128, 256, 512 etc).
* Another important note is that 1 UU = 16. That is, if you have your grid set at 16 as in the picture—found at the bottom of your screen just under the perspective view—a cube setting of 16 x 16 x16 will build a cube that is one unit in width, height, and breadth. You'll notice that you can set your grid as low as 1 or as high as 4096. Lower settings than 16 are most often used when trying to place decorations or fine-tuning your geometry, and the higher settings are rarely used. For our purposes, unless otherwise noted, keep your grid set at 16.
For our level, let's choos a room with a Height of 256, a Width of 512, and a Breadth of 512. Right-click on the cube button——to call up the properties for a cube primitive.
1. Click on the dimension numbers in the row labeled Width, and enter a dimension of 512.
2. Click on the dimension number labeled Breadth and enter a dimension of 512.
3. Now, click on the Build button.
You'll notice that once you clicked on Build, a red cube appeared in each of your orthographic views. To make it visible in your perspective view, simply click on the Perspective viewport.
You'll also notice that the cube you set up has no solidity. That is, in the Perspective view, it's simply a wire-frame representation of the cube.
In order for the cube to actually become solid geometry, click on the Subtract button—
Now, what you should see in your Perspective viewport is a hollowed out cube with a green, bubbly texture on the walls. This texture is the default texture, and should be changed, otherwise the editor will issue a warning when you hit the Build All button on the toolbar at the top of the screen.So, with that in mind, let's change the default texture to one that's appropriate for the floor, the walls, and the ceiling.
* First off, let's move the Red Builder Brush out of the way by clicking on it in any one of the viewports. It should turn from a dull red to a bright red to indicate that it's the currently selected object.
* Position your mouse in the Top viewport—it doesn't really matter where, though it's helpful if you position it somewhere on the Red Builder Brush.
* Press and hold the [CTRL] + LMB and move to the right. This will move the Red Builder brush to the right.
The above method is how you effectively tell the editor to grab whatever object is selected and move it from one position to another.
Adding Textures
In order to texture the cube we just subtracted, we need to be able to see all six walls of the cube.
* Move your view in the perspective view so that you're somewhere in the middle of the cube.
* Open up the Texture Browser by clicking on the button at the top of your screen—
* Click File on the Texture Browser and click on Open, or simply click on the Open icon.
* Double-click on HumanoidArchitecture.utx and the textures will load in the browser. Initially, you'll see the Bases group of the texture package.
* Click on the drop-down box located underneath the texture package name to show the list of available groups. You'll notice that each subsection is made up of suggestions on its uses.
* Click on Walls subgroup in the drop-down list to bring up the wall textures, and pick a texture you'd like for the walls of your room. I chose wal01bHa.
* To place the texture on the walls, click on a wall in the Perspective viewport—it will turn blue to indicate that it's currently selected—and click on your chosen texture back in the texture browser, and the texuture should appear on the wall you selected.
* Repeat this method for each of the walls, then highlight the floor and choose a floor texture from the floor subgroup, and do the same for the ceiling of your room.
Now that you have your first room built and textured, you'll notice that the textures appear too large. That is because the textures I chose were built at 1024 x 1024, meaning they would fit perfectly on a wall that was the same dimensions. That doesn't mean we have to simply live with these textures. We can resize the textures so they fit the walls of the room.
With this build of UnrealEd, resizing the textures to fit simple faces is made very easy.
* Pick any wall of your room so that it is highlighted.
* Press [Shift] + B to select all the walls of your room.
* Right-click on any of the selected walls to bring up the Right-click menu and select Surface Properties at the top of the menu. The initial tab is Flags.
* Click on the Alignment tab.
* Highlight Face in the selection box and click on Align.
*
You will notice that this automatically sizes the textures you chose to fit each of the six faces of your room, as in the picture below.
At last, your first room. It's a pretty basic room, but this process is essentially the same that you'll use with any BSP based geometry.
Adding Lights and a Player Start to your Room
Now that you have the geometry and textures for your first room, you need to add a few more elements to make it a playable room.
To start, your players need to be able to see, so let's add a light to your room. The room is small enough that one light should suffice if properly placed.
* Start by positioning your Perspective viewport so that you can see the ceiling of your room.
* Right-click at about the center point of the ceiling and call up the Right-click menu.
* Click on Add Light Here. A lightbulb icon will appear in your room to indicate that a light is present.
* You may have noticed that not much has changed yet in your viewport. You need to build the lighting in order for the changes to take effect. Click on the Build Lighting button.
* If you still don't see any changes, you probably need to turn on the Dynamic Light button on your Perspective viewport, highlighted green in the picture below.
*
Your lit room should look similar to the picture below.
* Even though there's a light in the room, there's still a minor problem with the lighting. Essentially, some of the light is absorbed by the proximity of the light to the ceiling. For it to light the room more effectively, highlight the light to select it and use the [CTRL] + LMB drag method in the Side viewport to move the light down to about the middle of the room, and rebuild the lighting. Now, the room appears a little brighter, and the texture on the ceiling is more visible.
The light you just placed very likely won't be the final light placement for your room, but it's good to get into the habit of placing placeholder lights so you can view your level in Dynamic Lighting mode, and to get a feel for how it will look in the end.
Finally, to test your room in the game, you need to tell the editor where to start the player.
* Right-click on the floor of your room, somewhere near a corner. Clicking on the floor will ensure that the player start is located at the correct height from the floor and keep the player from starting the game either too high off the ground or buried in the floor.
* On the resulting menu, click on Add Player Start Here. A joystick icon will appear with an arrow pointing in the direction the player will face when spawned.
* With the player start still highlighted, position the mouse pointer anywhere in the Top viewport.
* Press [CTRL] + RMB and move the mouse. This will rotate the player start.
* Rotate the player start until it is facing into the room.
* Click on the Build All button to apply all the changes to your level.
*
To give your new room a whirl in the game, click on the Play Map button found at the top of the editor screen, next to the Build Buttons.
You'll see that the room you just created is very simple and rather featureless. In the next tutorial we will cover expanding the room by adding hallways and additional rooms as well as adding static meshes.
[MiA]Raj:
3. Building Level: Expanding your Room and Aligning Textures, Part II
Expanding
So, your first room should look similar to the picture below:
As mentioned in the last tutorial, it's pretty basic and featureless, and all in all, it's a pretty boring level. In the immortal words of Martha and the Vandellas, Nowhere to run to, no where to hide.
Let's do a few things to expand this level and add a little more room to run around in.
1. Place your Red Builder Brush in a position like in the picture to the left in theTop viewport. If your grid size is set at 16 as suggested in the previous tutorial, your Builder Brush should be two major gridlines apart (the darker lines on the grid).
Important Note: Since we're going to be doing a lot of moving of brushes, make sure you have your Vertex Snap Toggle turned on. It's located at the bottom of the screen in UnrealEd, just under the Perspective view. This will ensure that every brush you move lines up perfectly with the grid. Leaving this off could result in errors later.
2. The Red Builder Brush should still be at the dimensions set in the previous tutorials. If it's not, right-click on the Cube button in the standard primitives to call up the Cube Builder dialog. Enter in the dimensions of 256 Height x 512 Width x 512 Breadth and click on Build.
Tip!
If you make a mistake, don't worry. UnrealEd is pretty forgiving. Simply click on the brush that turned out wrong to highlight it—it'll turn brighter (yellow if subtracted, blue if added, green if a portal, etc.)—and hit Delete on your keyboard. The selected brush will disappear in your orthographic views, but it will still show as a textured room in your Perspective view. To show the updated deletion in the perspective view, click on Build or Build All.3. Subtract your second room from the world space. You'll notice that once it's subtracted, your new room is all one texture. This is the last texture you selected in the Texture Browser or the default, green and bubbly texture if you're starting from a fresh start with the editor. But, to keep with the theme, we want it to look like the first room we created. So, open up the Texture Browser and add the textures you chose for your previous room to the walls, floor and ceiling. Again, these textures will need to be resized to fit the dimensions of your new room, so click on any of the 6 sides in the new room to highlight it, and press [Shift] + B to select all the faces in your new room. Now, instead of right-clicking on one of the selected faces to call up the surface properties window, we're going to take a shortcut. With all the faces still selected, simply press F5 on your keyboard. This will open the surface properties dialog.
4. Go to the Alignment tab and align all the textures using the Face option in the selection box. Once you click on Align, your new added room should look like the picture below.
Now that we have two rooms in our level, we need a hallway to connect the rooms, otherwise they're not of much use. Hallways are created in much the same manner outlined above when we created the rooms. There is one point worth mentioning here, however. Whenever you connect the Red Builder brush to a subtracted cube and press the Subtract button, where the cubes meet, that space will be subtracted as well. Let's create the hallway to better show what this means.
* Define a cube that is 256 Height x 256 Width x 256 Breadth.
* Place the cube so that it is touching both rooms in your level, and so that it is aligned with one of the walls as in the picture. It should fit perfectly.
* Press the Subtract button. As described above, where the cubes touch, the space is subtracted, allowing you to connect the rooms with the hallway.
*
Again, your hallway needs to be textured, but instead of opening up the Texture Browser as we did before, let's take a shortcut.
* Press and hold the [ALT] key while single-clicking with the RMB on a texture in one of the rooms you already created. Make sure it's a texture other than the one already in the hallway. This will make the texture you clicked on the active texture.
* While still holding the [ALT] key, LMB click in your hallway where you want the texture to appear. It should show up, but UnrealEd can be a little stubborn on occasion, and it might take a couple of tries. If it doesn't show up the first time, try again from step 1.
* Finally, highlight a texture in your hallway and call up the Surface Properties window by either pressing F5 or using the Right-click menu. Size the textures to the faces of your cube by using the Face option.
Aligning Textures
When you resized the textures in your hallway, you may have noticed a little problem with the texturing. It appears too small, and the walls are all facing the wrong way. This is because the Face option in the texture alignment options simply resizes the texture to match the face of the brush you created.
So, let's fix it.
The steps listed below are assuming you chose the textures exactly as I did from the HumanoidArchitecture package as the texture for your walls. Other textures may have similar problems and might require a few more steps to correct. If you'd like to change your textures to match those in the picture, the textures I chose are as follows: Walls: wal01bHA; Floors: flr04HA; and Ceiling: cel03HA.
* First we need to reset the texturing back to the default value by selecting all the faces on the brush using the [Shift] + B option. Open up the Surface Properties dialog box if it isn't open already, click on Default, and press Align. You'll notice that the textures all return to the same size as when you first created the hallway.
* We'll have to correct each face of the cube individually, so click somewhere in the hallway to deselect the faces.
* Starting with the floor of the hallway, click on it to highlight it.
* In the Surface Properties window, open up the Pan/Rot/Scale tab. In this window you are give a number of options that give you more direct control of the position, size and rotation of your textures.
* The floor of your hallway is easily fixed by setting the Simple scaling to .5 as shown in the figure to the right. With the floor still highlighted, click on the Simple Scaling dropdown box and choose .5, then click on Apply. The floor should align perfectly.
The walls, on the other hand, are going to take a little closer manipulation. For this, we need to adjust the U and V directly by entering in the numbers for each dimension.
There are a couple terms you should be familiar with before we continue. UVW in 3D art refers to the placement of a texture or material on a plane. UVW is not an acronym for anything, rather it is only used to avoid confusion with XYZ, which indicates length, width, and height in the geometry. For the purposes of UnrealEd, U refers to a texture's position on the U axis (X axis), and V refers to the position on V axis (Y axis).
Moving on:
* 6. Position the camera so that it is facing the wall that is aligned with the walls of your rooms—if you're looking at the Top view, it'll be the wall on the bottom. You should be able to see the texturing in both rooms as well as the misaligned hallway wall texture.
* 7. Select the wall texture, and enter in the values for U and V as in the picture below—.49 for U, and .25 for V. Note: There is really no way to know what numbers to enter into this window. It's a matter of trial and error.
* 8. Click on Apply.For the most part, the texture looks all right. It's the same size as the one in the rooms, and you might be tempted to just leave it as it is. However, if you look closely, you'll see there are still a couple of issues we need to tackle with this texture before moving on.
It's a good habit to get into to check your texturing very closely so you can catch little problems that might destroy some of the realism of your game world. In order to test if your texturing is lined up correctly, look for repeating patterns on the texture itself. For instance, take a close look at the two pictures below.
I've circled the problem indicators. In the first picture, there's a repeat in the texture pattern that indicates the texture is flipped in the wrong direction. Notice how the three areas I circled are the reverse of one another. In the second picture, there's a visible seam between the textures that will also show up in the game. Both of these texture problems destroy the quality of your level and serve to remind the player that she's only playing a game.
* To fix the first problem of texture flipping, highlight the texure on the hallway wall.
* In the Surface Properties window, with the Pan/Rot/Scale tab active, click on Flip U on the Rotation subbox. This will get your hallway texture facing the right direction.
* Move in closer to where the hallway texture meets the room on the left of where your camera is facing.
* There's still a minor little seam on this side of the hallway, so click on Pan U 1 twice.Now, the texture should line up perfectly on that side of the hallway. But, if you move to the other problem with the texture seam noted in the second picture above, the seam is still visible. To fix this, we're going to leave the hallway texture alone and pan the texture in the second room we created. We're also going to use a new tool in the toolset, the Texture Pan tool.
The Texture Pan tool is a handy way to quickly pan your textures into place. This tool, and it's partner, the Texture Rotate tool work in much the same way as the others. With this tool, using [CTRL] + LMB moves the texture along the U axis (left and right), and using [CTRL] + RMB moves the texture along the V axis (up and down).
* Click on the Texture Pan tool to activate it. Your cursor should change to look like 4 arrows pointing in opposite directions.
* Highlight the wall texture of the second room you created to activate it.
* With the Texture Pan tool, press [CTRL] + LMB and drag the texture until you see a repeating pattern in the textures as indicated in the picture to the right. This is what you'll use to know when to slow down the panning.
* Continue to move the texture until it lines up correctly. You may want to move in closer to ensure there is still no visible seam.
If you zoom out with the camera, your wall should be perfectly matched. But, don't forget we still have one last wall in the hallway to fix. However, this is easily done by simply highlighting it and checking to ensure the numbers you entered into the scaling box—.49 for U and .25 for V—are still ready. Then click Apply. The wall should look fine, though you may wish to move the texture so it's centered a little better, though it's not necessary.
*
Now, add a light to your second room and click Build All. If you want, go ahead and test your level in the game to see how it looks. Also use this in-game test to double-check your texturing to catch any problems before we move on.
Again, don't forget to save your level. It's a good idea to get into the habit of saving your level at various stages throughout its creation, and to save it under different file names. For instance, in the last tutorial, we named our map tutorial_map, so for this version, let's save it as tutorial_map2. Saving your map with different file names at various times could save you a lot of heartache. If something unforseeable should happen, such as your save file corrupting or some other unspeakable glitch, all you have to do is revert to your last saved version and begin your rebuild from there.
Moving Forward
Originally I'd planned to add more to this part of the tutorial, but considering the amount of information covered, it's probably best to leave it here and give you a moment to digest the information. In the next tutorial, we'll discuss expanding your level further to include Z-axis, stairs, and adding static meshes.
[MiA]Raj:
4. Building Level: Expanding your Level, Part III
More rooms
So, now we have a very basic level with a couple of rooms. It's not much, but it's a start. In this tutorial, we're going to cover adding Z-axis—not a lot, but enough so you'll get a taste—stairs, and static meshes.
We're going to start by adding a couple more hallways to the rooms you already created. These will provide access to a much larger room we're going to create later in this tutorial.
1. Open up the file where you saved the previous tutorial if it isn't open already—tutorial_map2 if you're saving this file in various stages.
2. Size the Red Builder Brush with the dimensions Height 256 x Width 512 x Breadth 256. (Hereafter, for simplicity, I'll refer to room dimensions with just their numbers. So, for the new hallway, your dimensions will look like 256 x 512 x 256.)
Key Term!
What is Z-axis? Z-axis is something that will give your map a multi-leveled feel. Taken at its base definition, the Z-axis in 3D terms refers to the height of geometry. In level editing, the concept of adding Z-axis to your level means constructing a means for the player to look down upon other sections of the level. These include, for instance, a catwalk with a sniping position where a player can rack up those Headshot points with a sniper rifle.
3. Subtract two hallways as shown in the picture below and texture them with the textures used for the two rooms. Don't forget to align your textures as shown in the previous tutorial and to check that they line up correctly. Just worry about the alignment of the long walls, the ceiling, and the floor as the wall at the end of the hallway is going to disappear when we add the larger room.
Hint: The floor will need to be sized to .5, and the walls you can align with the Face command. For the ceiling, click on Planar and click align. The textures should line up evenly, so not much tweaking is required, but double check just to make sure. Doing so now will save you a lot of time later.)
4. Now, we're going to create a very large room that will serve as a center to the level. Size the Red Builder Brush to 2048 x 2560 x 2560, and click on Build.
5. Using the Top viewport, line up your new large room so that it's touching the ends of the hallways, and center it so that it is 640 units, or five major gridlines, away from either side of the hallways, as in the picture below. Then, using the Side viewport, line up your new room so that it's 128 units—1 major gridline—below the bottom of your level, as shown in the picture below. You'll probably have to zoom out in the side viewport so you can see the bottom of the Red Builder Brush better.
* 6. Finally, subtract the new room from the world space.
For the texturing in the new room, I chose flr03HA for the floor and cel01HA for the ceiling from the HumanoidArchitecture package. For the walls, I chose wal18midbackHA from the HumanoidArchitecture2 package. These are pretty generic textures, which aren't going to matter much when the level is completed as only the floor and the ceiling will show the most. To align the textures, simply highlight all the faces using the [Shift] + B option, and use Planar from the Surface Properties window.
Adding BSP-based Stairs
Now we have a huge room, but no way to reach the floor of the large room in our level other than jumping down. Even so, there is still no way to get back up. So, let's add a stairway that will solve this little problem.
Note: With the current build of UnrealEd and the game, it's adviseable that in making your own levels in the future that you use static meshes to create stairs. However, because this is a basic function of the editor—and, more imporantly, because this will introduce you to some key optimization concepts—it's definitely worth including.
1. Call up the Linear Stair Builder by right-clicking on the Linear Stair button.
2. With the Linear Stair Builder, you'll notice a few differences from the Cube Builder. Each parameter in the builder is pretty self explanatory, so I won't go into any unneeded details at this point. The main thing to remember when creating stairs is that the height of each step along with the number of steps will determine how high your stairs will reach. So, if you want a staircase that reaches 128 units high, you would set the StepHeight to 16 as in the picture, and the number of steps—NumSteps—to 8: 16 * 8 = 128. However, in the case of the stairs for our level, we have to consider how the brush will fit with the static meshes already added to the level. So, set NumSteps to 9 and click on Build. The red builder brush will take the shape of stairs.
* 3. Align the stairs with the floor of the large room using the Side view and place them next to the left walkway using the Top view. Place the stairs so that they cut into the filler mesh just a little, as shown in the picture. You should set your grid size to 8 to fit it just right.
Once the stairs are in place, look at how they fit in the Perspective view. You'll notice a little problem. About 8 units, or half of the top step, overreach the walkway, but if we were to rebuild our stairs with only 8 stairs, they wouldn't fully reach the walkway, and they would reveal some of the non-solid, invisible portion of the filler mesh. So, to fix it, we need to cut away a portion of the stairs.
*
UnrealEd provides us with a handy tool that allows us to quickly and cleanly remove portions of the red builder brush before turning it into a solid. Intersect and Deintersect —both buttons found in the CSG toolset—allow you to reshape the red builder brush. Intersect will cause the red builder brush to take on the shape of any solid BSP geometry inside it. Deintersect will do just the opposite; solid geometry will cause that portion of the red builder brush to disappear. These two functions are very important when working with BSP-based geometry as they serve to optimize the geometry and cut down on the number of potential errors.
So, going back to our staircase:
4. With the grid size set at 8, move the stairwell down one unit so that 1/2 of the bottom step is outside the space in the large subtracted room as shown in the example below.
4. Click on the Deintersect button. The portion of the bottom step that is outside the subtracted room will disappear, leaving you with only 1/2 of the bottom step.
6. Before we add the stairs to our level, we're going to first choose a texture to save us the step of having to add it later. Open the Texture Browser and open up the HumanoidArchitecture package if it isn't open already. Go to the Bases subgroup—we want a simple texture that will work well with the multiple polys on the staircase, so highlight the bas10HA texture so that it is the active texture, noted by the gray box surrounding it.
7. Click on Add and move the red builder brush out of the way. The added brush will show as a blue brush.
8. We also need to fix the texturing, which is easily done by highlighting the entire brush with [Shift] + B, then aligning the texture using the Planar option.
There is still one last problem with our stairwell that needs attention. If you click on the side of the stairwell, you'll notice that the texturing is segmented even though it appears as one solid texture in the Perspective viewport . Or, to use 3D modeling terms, the stairwell is divided into a total of 37 different polygons, which can tax the resources of a player's computer. Re-highlight all the textures on the stair brush with [Shift] + B and look at the Surface Properties window. In the title bar of that window, you'll see where it notes how many surfaces are highlighted. We're going to take an important step to fix this problem.
* In the Top view, click on the stairwell brush to make it the active brush—make sure the Red Builder Brush is moved off of the stairs so you can see the blue brush underneath.
* Right-click on the blue brush and select Polygons from the menu, then select Merge as indicated in the picture to the right.
* Rebuild your level with Build Geometry or Build All.
*
Now, highlight all the textures on the stair brush and see how many surfaces are selected: 21 instead of 37, and the multi-polygon side you clicked on before will now highlight as one singly polygon. There are still quite a few polys on this one brush, which makes a case for the use of static meshes, but the number is a lot better than before. Doing this with all the BSP brushes that add or subtract as segmented polygons on a single face will greatly enhance framerates during gameplay.
Lastly, and perhaps the most important step of all, save your level! Use the filename tutorial_map3.
Forging Ahead
Feel free to pause here if you like. We covered a lot of ground in this tutorial, so you might want to take a break, grab a cocktail and a sandwich, then come back in a bit. Also, while you're sipping your cocktail, feel free to give your level a little whirl to double check the alignment of your textures and how the stairs look in the game. Don't forget to Build All before you enter the game.
End of this tutorial. At first i only wanted to post a link, since Pepe was looking for a tutorial. I knew i had this in my bookmarks but when i wanted to read, it turned out the site was down. I did a Google search and found the same tutorial on another site. So i posted it here in just in case the other site also goes down.
This tutorial helped me years ago when i wanted to start mapping. Sadly i didn't have much time and haven't done anything more with UED. :)
Links:
Source
Another guide for beginners
Monsterboy:
Thanks for posting the tutorial(s). Is it possible to import meshes from 3ds max? I've never used the UnrealEd, but I'm modeling with 3ds max for about three years now (mainly for Elder Scrolls Oblivion). It would be much easier for me if I could just make the models in 3ds max and import them to the editor. Is that possible (I guess so since there is a category called 'static meshes' mentioned in the tut) and if it is - does it make sense to do that for a whole level (interior only, no landscape geometry) or will it cause problems (bugs/bad performance etc)?
Navigation
[0] Message Index
[#] Next page
Go to full version