From a Heightmap Texture
Creating a Terrain from a grayscale texture map is a more complicated procedure. The terrain map you create externally should be a basic height map – an 8 bit grayscale image where white is interpreted as the highest point, and black is the lowest point.
1. Build your terrain map in a graphics application such as Adobe Photoshop, or a terrain-generating program such as Terragen. (Terragen is free for non-commercial use). You will be able to edit it further within UnrealEd, so you might want to just lay down the basic elements. No matter how you do it, the terrain map needs to be saved as an 8-bit grayscale BMP file.
2. When you're ready, Import the texture and set:
- package: MyLevel to embed the texture within the level
- Un-check the "Generate MipMaps" checkbox
- give the texture a logical name you will remember!
3. You now need to add an Actor >> Info >> TerrainInfo to your map. This will later hold all the settings for the terrain: textures, heightmaps, etc.
After adding it, it's a good idea to do Actor Context Menu → Reset → Move to Origin. This will ensure that when the terrain is scaled up it meets the walls of the subtracted cube exactly.
4. Now you need to set the greyscale texture we imported to be used as the terrain's heightmap: Set the resource property TerrainInfo → TerrainMap to the terrain texture you just imported. (Select your texture in the texture browser, then click the Use button on the TerrainMap property.)
Once you've done this it's a good idea to rebuild the level & save it. Once you've rebuilt the level (both Geometry and BSP) you'll be able to see the terrain in the 3D UnrealEd viewport when it's in Wireframe mode.
5. To be able to edit the terrain height later within UnrealEd, you need to convert the heightmap texture to 16-bit greyscale. To do this, in the Terrain Mode window, go to the "Terrains" tab and right-click the block for your terrain in the list, and select "convert to G16" from the pop-up menu.