How to generate terrains from heigh maps in Blender

Did you know that Blender can create fabulous terrains from nothing but a greyscale height map? Of course it can!

In this article I’ll show you how to do it step by step. Grab your height map, fire up Blender and let’s get started.

Create a grid with about 200 x and y divisions. Scale it as big as you like, I’m using a radius of 10 for this example. Make sure Generate UVs is ticked, or alternatively unwrap the grid afterwards.

Add a Displace Modifier and open your heigh map as a texture in the Textures tab. Choose Displace as your texture option.

Back in the Displace Modifier, you can now select your texture from the drop down. Choose UV as you texture coordinates, and voila – a terrain appears before you where once there was only a flat grid. Sweet!

The Midlevel value will shift your terrain up or down, while the Strength value will set how dramatic your terrain is stretched along the Z axis.

Notice that your terrain may appear a little blocky right now. This can be helped with the addition of a Subsurface Smoothing modifier. You can also set the shading from Flat to Smooth on the Tool Shelf (left). If that’s not enough, you can subdivide your grid further, or choose a more detailed starting resolution (careful with the overall polygon count though).

This is what my terrain looks like with the Subsurf modifier and smooth shading applied:

All that remains now is to apply a suitable shader and we’re good to go!

Wait! What’s this Height Map thing again?

A height map is a greyscale image in which white denotes the highest part, while black denotes the lowest part off a landscape. You can either generate height maps yourself, either by hand in Photoshop and the likes, or you can find them on the web (usually made from real places on this and other planets), or you can generate one using apps like Carrara and Bryce.

Here’s an example of the height map I’ve used for this article:

Add your voice