The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall


From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

The basic concept of Terrain in the Unreal Engine (UT2003 and beyond) is based around creating a large grid of polygons based on a heightmap and centered around a TerrainInfo Actor. Once that is in place, the terrain tool bundle, which is actually a collection of tools, can be used to perfect or even create from scratch a block of terrain for the map. The possibilities for this are endless. It can be used for rolling terrain, the floors and ceilings of caves, and probably many more things that creative UT2003 mappers are sure to come up with in the future. Prior to UT2003, mappers were limited to using BSP brushes to create terrain-like irregularities: see Making Terrain (UT) for more on this.

Terrains can be scaled as big or as small as you want (and you can also have as many as you want). A terrain could be a small area of a map within architecture, such as a sandy courtyard, or the basic world space, such as with a large outdoor level.


Quick UT2003/UT2004 Terrain[edit]

  1. Subtract A Space: Subtract a 8192 by 8192 by 8192 cube.
  2. Add an Actor >> Info >> ZoneInfo. Set ZoneInfo properties ZoneInfo -> bTerrainZone = True
  3. Add an Actor >> Info >> TerrainInfo
  4. PSP: Create 128x128 image. Paint heightmap. Reduce to grayscale. Save out as .bmp
  5. Import into texture browser (untick generate mipmaps - they aren't required)
  6. Set TerrainInfo -> TerrainMap to 8bit image
  7. PSP: Create 128 x128 pure white texture and save out as is to .bmp
  8. Import into texture browser (uncheck generate mipmaps seems to have a problem for me ???)
    Set TerrainInfo -> Layers -> 0 -> AlphaMap to this texture.
    Layers -> 0 -> Texture to whatever
    UScale and VScale to anything greater than 1

(you can probably build at this point & see the terrain. needs confirming. Certainly works with just Zone lighting)

  1. You need to add an Actor >> Light >> Sunlight into the level and turn the directional arrow so that it faces the terrain. (use lighting only mode Alt+0 and in actor rotate mode with Ctrl+ LMB for height and Ctrl+RMB for left to right). Note the position is unimportant, as the light rays emitted are simulated and parallel.
  2. Create a SkyBox (It's the same procedure as it was in UT), and select fake backdrop in the properties sheet of the sides of your large subtracted level cube. If you don't create a Skybox, SunLight won't work, although your terrain will still be there - it will be stopped by any non-fake backdrop surfaces.
  3. Build All. The terain should show up now. Set TerrainInfo -> TerrainScale accordingly (you'll probably need something like 16*16 X*Y for an 8192 cube).

The terrain editing is realtime in the editor, you define various layers (as you would in photoshop) and you paint over the terrain with various opacity brushes. The brushes are scalable, you can add noise, pressure, etc. If you really wanted you could bring in those alpha or height maps yourself, but I don't see that you would ever really NEED to do that. After that, you can select a layer and change the texture associated with it, scale that layer's texture, rotate it, etc... Two textures with alpha blending on top of each other, with different scaling and rotation generally don't tile badly.

Source: Polycount Message Board

Related Topics[edit]

External Links[edit]