Tips & Tricks: Terrain Is Your Friend
When it comes to creating outdoor levels, the terrain editor should be one of your closest friends. It’s a great way to give your level depth while making it appear more realistic visually. Most game editors have some sort of terrain editor built in, although they may seem a bit daunting with all the different preferences and settings. However, after only a few times playing around with terrain, you’ll find it be both helpful and even a bit fun.
The following will guide you through the basics of the terrain editor in UDK and Unity. Most game editors use a similar form of the terrain editor, but since these are both free programs with easy access, I thought it would be best to start with them. Keep reading to learn more about terrain tips and tricks!
Most editors do not start with anything; they are simply empty canvases for you to create your level or game upon. As much fun as it is to begin placing assets, you will want to start with the terrain, as it is the base of the level and defines the areas and heights where assets will be placed. To start with, you will need to create a new terrain, which can be found in UDK under the “Tools” menu, and in Unity under the “Terrain” menu. In both programs, this will create a new flat plane classified as terrain, which gives it a few different settings than a normal plane. If the terrain is too small or too large for your level, you can easily adjust this. In Unity, this can be done by adjusting the width and length under the “Set Resolution” part of the “Terrain” menu. In UDK, you can adjust the “patches” when you create a new terrain, or change the display size of the object. However, both of these in UDK can possibly make your terrain look blown-up and pixelated if too large, so I recommend creating many smaller terrains to interlace with each other. Now, you have your basic plane, but it is a bit boring, so onto the fun part!
Heightmaps define varying heights within a level in a topography format. They are typically greyscale, where the varying hues represent varying heights, and are in a .RAW format, usually made in Photoshop or similar programs. This is more commonly used within the industry, and are an alternative to the terrain tools discussed below. I unfortunately cannot say much about heightmaps since I have yet to work with them, but I plan on doing so soon, so check for a separate post about creating them later.
This is my favorite part of the terrain editor, and it can definitely be a lot of fun. The first electronic level I ever created was in the Warcraft III editor, which enables creators to alter the terrain quickly and almost effortlessly. In other editors, editing the terrain can be more complicated than in Warcraft III, but these complications allow for more dynamic and realistic terrain. For the most part, however, raising and lowering terrain is as simple as point-and-click (-and-drag).
First off, you will need to open the terrain editor. In UDK, this is the mountain-looking button on the left-hand menu, while in Unity, you merely must have the terrain selected and the editing tools will appear in the Inspector window. While both programs have many of the same or similar tools, UDK does appear to have more, although in normal terrain building, you are not likely to use all of UDK’s tools. You will also probably want to increase the tessellation for your terrain in UDK, something that will make terrain editing more smoothly. This can be done by clicking the “increase” button in the “Tessellation” section of the terrain editor. You will also want to turn on the Wireframe on to make it easier to work with. Now let’s take a look at the basic tools you will be using.
RAISING AND LOWERING TERRAIN
In UDK, you must have the “Paint” button selected in the terrain editor. You can then select your brush size, and when you move the mouse over the terrain, you will see a red circle with a dot above it, which will be the paint cursor. In order to raise the terrain, you will need to hold down the CTRL button, as well as the left-mouse button while moving the cursor upwards. To lower the terrain, you will do the same as you did to raise it, only this time hold down the right-mouse button while moving the cursor downwards. It sounds a bit complicated, but it actually extremely easy.
In Unity, you have to click the “Raise/Lower Terrain” button under the “Terrain (Script)” section of the Inspector. You can then select your brush, size, and opacity. To raise the terrain, you simply hold down the left-mouse button in the desired area. Holding down SHIFT and the left-mouse button will lower the terrain.
This tool is great for when you want to create plateaus or make sections of terrain the same height. In UDK, it is called the “Flatten” tool, while in Unity, is called the “Set Height” tool. These tools are used much the same as those to raise the height, except they will flatten the terrain to a specified height rather than raise it.
The smoothing tool is perfect for getting rid of those rough, choppy, unwanted edges. In both UDK and Unity, it is simply called the “Smooth” tool. All you need to do is go over rough areas on your terrain with this tool, and they will be gradually smoothed over. Be careful though: sometimes you can smooth too much.
The “Average” tool is available in UDK, but not Unity. It is helpful to create ramps or gradations for the players to walk up.
In both programs and others, there are more tools, although those mentioned above are used the most.
Painting in Unity and UDK is largely similar, although setting things up to paint a texture or material onto the terrain is very different. In Unity, you merely have to click the “Paint Texture” tool, then add your textures. The first texture you add will automatically be painted over the entire terrain, while the additional textures can be painted onto the terrain as you see fit. In UDK, you will need to create a “New Terrain Setup Layer” in the terrain editor. Then, you will need to select a material to use in the Content Browser, and finally, create a “New Terrain Material.” You will have to do this for each different material you will be using, where the first one added (the layer directly under the Heightmap) will automatically be painted over the terrain. When it’s time to paint a different material or texture in either editor, you will need to make sure you have the desired texture selected, then you can paint anywhere on the terrain you like.
Adding foliage, such as trees, grass, and other plants, will definitely make your level look more realistic. This is a bit more difficult in UDK than in Unity, since Unity has actual tools for doing so. In Unity, if you want to add trees, you have to select the “Place Trees” tool, then add a tree to use, and you can paint trees across selected areas of the terrain. You can add different types of trees to use, and can change other settings such as brush size, density, color variation, and tree height and width. Unity also has another tool called “Paint Details,” which allows you to paint other environmental details such as grass, plants, and even stones. Using this tool is the same as the “Place Trees” tool; you need to select which foliage to paint, and then you can paint them where you like. However, UDK is a different story when it comes to foliage. After you’ve created the “Terrain Material,” you can find this along with the “Terrain Setup Layer” in a new package in the Content Browser. To add foliage quickly, you will want to open the properties of the “Terrain Material.” There will be a foliage section of the properties, where you can select a mesh from the Content Browser to place across the terrain. You can then edit various settings for the foliage, such as density and draw radius, or even add more foliage. This only works with small foliage, so you cannot add trees this way! I recommend using meshes like grass and flowers. I’m still trying to find a quick way to add trees and other large foliage into UDK without individually placing each mesh, but if you know of a way to, please let me know!
There are a lot of Youtube videos out there to help you learn the basics of the terrain editors, and that’s actually how I learned, along with experimentation. Your greatest learning tool is experimentation, so just go play around with some of the different features and you should be able to figure things out pretty quickly. The video I used to learn about the UDK terrain editor can be found here: UDK Terrain Basics. The user who created it has some other helpful tutorial videos if you’re interested. As for Unity, I learned about the terrain editor partly through my previous knowledge from UDK, and partly from the “Unity Game Development Essentials” book by Will Goldstone. I’d also recommend checking out each game editor’s respective forums, as they can have a lot of great ideas from other users.