User Tools

Site Tools


This is an old revision of the document!


Creating Height-Maps for your Terrains

The shapes of the terrains that you can create with The New Terrain Tool are defined by height-maps. A height-map is usually a square gray-scale image whose black pixels represent the lowest heights (0%) and whose fully white pixels describe the highest heights (100%). The gray values between them represent intermediate height values – the brighter a pixel, the higher is the resulting terrain at that spot.

CaWE and Ca3DE support height-maps in all the image file formats that are also supported for textures (jpg, png, tga and bmp), as well as Terragen (ter) and portable graymap (pgm) files. The image file formats usually have a precision of 8 BPP (bits-per-pixel), while the ter and pgm formats have a much higher precision of 16 BPP, and are therefore the preferred choice for height-maps.

Height-maps must also meet the additional requirement of having side lengths of (2n+1) * (2n+1) pixels, where n is an integer between 1 and 15. Examples of typical height-map dimensions are 129*129, 257*257, 513*513 and 1025*1025.

Programs for Creating and Editing Height-Maps

Creating and editing high-quality height-maps can be a complicated and demanding process that typically requires the assistance of specialized software. I've intensively tested many software packages for this purpose, many of which just don't meet the requirements. Typical problems include limited or broken importers and exporters (e.g. only to and from proprietary file formats), limits in the supported high-map dimensions (e.g. only 2n * 2n, not 2n+1 * 2n+1), usability, stability (e.g. frequent crashes) and the inability to switch off the “relative height editing mode”, which seemingly allows users to dig deeper than 0% or raise terrain higher than 100% by adjusting the relative height of all other terrain.

The following lists mentions several programs that I consider useful or relevant for creating and editing height-maps. None of them is perfect or can do everything that is needed all in one program, so you might be also interested in reading the [ FIXME Link to tutorial about how the TechDemo terrain was made. ] tutorial.

CaWE

The obvious and best choice for editing the height-maps of terrain entities is CaWE. Unfortunately, CaWE has live height-map editing not yet implemented. This will be done in one of its future releases.

Once that feature is implemented, it will be possible to edit and modify height-maps directly in the 3D view of CaWE, in a “live” manner that naturally and immediately shows the interactions with other elements of the map, as for example brush-based buildings and walls, other entities, etc.

Note that although CaWE would be the ideal place for height-map editing and modification, it is not necessarily the best place for height-map creation. Although that would be and will be possible, too, other programs below that are specialized on height-map creation may do a much better job in creating the initial height-map, especially if very large, natural-looking shapes are desired. In such cases, you would use another program to create the initial height-map, then add it to your map in “rough” form using The New Terrain Tool, and then continue to edit the fine details in CaWE, for example the alignment with buildings, other brushes, etc. You may want to have a look at the [ FIXME Link to tutorial about how the TechDemo terrain was made. ] tutorial in this regard.

Paint Programs (Photo-Shop, Paint-Shop, Gimp, ...)

If nothing else works, regular paint programs may be used to create and edit height-maps. Such programs normally don't have a 3D preview of the gray-scale image interpreted as a height-map, so their usefulness is limited to simple cases.

World-Machine

This program has become my favourite for height-map creation, see the manufacturers website at http://www.world-machine.com/ for more details. I also used it to create the height-map for the (upcoming (in May 2006)) Ca3DE TechDemo with it. While it does not allow to “paint-edit” very fine details in a height-map, it is very good at composing logically structured terrains in a repeatable manner. The features of all logical devices that are used to build a height-map can be edited independent of each other, allowing for very flexible, reproducible results.

Leveller

While this program might serve as an intermediate solution until CaWE has it's own editing implemented, I was a bit disappointed by its cumbersome use.

Terragen

This is the software for terrain rendering, but due to it's “relative height editing mode” I'd not recommend it for height-map creation or editing. Terragen is very good though at generating a base (ground) texture from a height-map! See FIXME

Other Programs

The above and other programs are listed and linked at http://www.ca3d-engine.de/e107_plugins/links_page/links.php?cat.11

Among them are several other good programs, but I don't use them often. Maybe one of them has released a new version in the meanwhile that addresses some of the problems of older versions, so it might be worthwhile to have a look at them! For example, for basic terrain creation, programs like TerraBrush, Terraformer 1.8b or TerraMaker already do a good job.

Summary

Use any of the above mentioned programs for creating the initial height-map. Future versions of CaWE will allow you to further edit these maps conveniently in the editor. If you must fine-tune them before that, patience and creativity is required, although the above programs will help with that, too.

Once your height-map is complete enough for use, you'll also want to have a base texture for it that represents the color of the ground and is used in the material definition with which your terrain is rendered. While the texturing of the terrain might be possible in future versions directly in CaWE, too, I currently just import my height-maps into Terragen for this purpose, make sure the dimensions (lateral size and altitudes) are correct, setup the Terragen materials, set the sun appropriately (full-bright and no shadows) and turn off all atmospheric effects, set an orthogonal camera view and then use the Terragen rendering result as the base texture.

mapping/creatingterrainheightmaps.1154212709.txt.gz · Last modified: 2013-01-07 12:07 (external edit)