Tutorial: Make mountains in Blender 2.5 & 2.6 from height maps

Blender can make mountains from height maps, and this is a tutorial to show you how. The height map I've used is represented by a grayscale bitmap. Black being the lowest point, white the highest. Blender is able to deform a mesh based on the pixel colour of a texture. Download the following height map of two New Zealand mountains, Ruapehu and Ngauruhoe.png, for use in the tutorial.

The height map was created by University of Otago - National School of Surveying who have published it at Koordinates, and is released under a Creative Commons Attribution-Share Alike 3.0 license.

Blender is free, and open source, from blender.org. It runs on Windows, Mac, and Linux. This tutorial is for Blender versions 2.5 & 2.6, if you're using the older 2.4 version of Blender then you may want to use this tutorial.
 

Tutorial


When Blender is first opened there is a cube in the middle of the screen. To delete this, Right Click on the cube >> press X >> Enter.

Blender has an Add-On that can import pictures, and movies. By default it is turned off. So the first thing to do is enable the Add On. Bring up the Blender User Preferences by pressing Ctrl Alt U. Click on Add-Ons, then Import-Export, and scroll down till you find Import Images as Planes. Enable this and close the preferences window.

02 - Import images as Planes

Mt Ruapheu and Mt Ngauruhoe Heightmap Next you will need a heightmap to work with. So download Ruapehu and Ngauruhoe.png. This is an image of two mountains found on a volcanic plataeu in the North Island of New Zealand. You can make your own heightmaps by opening your favourite photo editor or painting program and using a grayscale palette to draw high areas in lighter shades and low areas with darker shades. At the end of this tutorial you can read about sourcing heightmaps for other parts of the Earth.

Open your heightmap by clicking File > Import > Images as Planes.
03 - File - Import - Images as Planes

04 - Image imported - Press Tab to enter Edit Mode After it is imported you'll see a gray plane in your 3d viewport. This plane has one vertex in each corner. To be able to create our model we need many vertices. The vertices will be pushed upwards by the shaded pixels of the heightmap. We create these by subdividing our plane several times.

Press TAB to enter Edit Mode. Press W to bring up the Specials menu and select Subdivide.
05 - Press W - Click on Subdivide

06 - Make Number of Cuts equal 300 On the left hand side in the Tools dock you will see a new Subdivide menu. With this you can adjust the Number of Cuts. For this tutorial use 300.

If the number of vertices are fewer than the pixels of the heightmap, Blender will calculate the average change in height. If the number of vertices equals or exceeds the pixels then you may see steps in your model. There are other methods of subdivision, such as using a Multiresolution Modifier.

It's now time to apply a deformation modifier to the plane. TAB into Object Mode. Click on the Modifier icon, Modifier Icon, in the Properties bar. Add Modifier and from the list choose Displace Displace Icon.
07 - Click on the Modifiers Icon - Add Modifier - Displace
 
A set of displacement options will appear. To use the heightmap click on the open existing Texture icon, Texture Icon, and select Ruapehu And Ngauruhoe.
08 - Choose a texture

09 - Result of modifier Now you will see mountains! They'll be rough, and too high though. To correct the height, adjust the displacement Strength. 0.200 is about right for these mountains. If you're using your own heightmap you will want to play with this setting until it looks right. You can go the whole hog and measure between two XY reference points and two Z points to get it absolutely spot on.

10 - Adjust strength of modifier to .400

Finally we can smooth the model to make it appear more natural. In the Tool dock click on Smooth.
11 - Smooth the model

As an alternative to this, you could use a Smooth modifier. Modifiers are great to use because they allow for non destructive editing. You can play with the settings to your hearts content and easily reverse any changes. Modifiers can slow down your computer a little, if this is so, click Apply once you're happy with the model. Also click apply if you want to edit the model as a mesh. Many modifiers only work in Object mode.

Was this tutorial useful? Do you have questions? Comment below...

Awesome tutorial! Thank you very much, it works like a charm.
Cheers!

Thank you very much. That is exactly what I was looking for. A simple way to create terrains with Blender. If there was a second tutorial how to texture this terrain would be awesome :)
Thanks.
regards
Thomas

I'm glad this tutorial is useful. It makes it feel worthwhile writing it, knowing that it is being used.

I'll come up with a texturing tutorial soon.

Awesome dude, cheers ay bro

AWESOME tute! After looking for exactly this for ages, I finally found an easy one to understand, and by the looks of things, by a fellow Kiwi ;-)

Sweet as :)

BTW having a little trouble with applying textures, so don't hold your breath for a texture tutorial.

OMG , this is exactly what i m searching for !!!!
"merci beaucoup" for this tutorial !!!

De rien :)

nice

THANK YOU!!!!!!!!!!!!

Simply awesome! Thanks

I've extracted a few more DEMs from the Landcare Research dataset. You can download them through Right click >> Save link as:-

I've updated the tutorial with these links, too.

I've updated this tutorial with:-

I'm working on a texturing tutorial. I'll show how to texture a map of Wellington, New Zealand. Here's a taster showing the centre lines of roads, click to enlarge:-

In the tutorial I'll use textures created from NZ government data, stored at Koordinates.

Attached to this comment is a zip file with the DEM and road texture used in the above model. The DEM is accurate to 1 metre! That's good enough that you can see the roads in the model, even without texturing. You'll need to subdivide the mesh at least 700 times to see this, 1500 subdivisions is better.

AttachmentSize
Welly with roads.zip 3.94 MB

And here's one with a 2004-2005 Orthophoto, also from Koordinates. Click to enlarge.

 

 

 

 

 

 

 

 

I've attached a scaled copy of the texture. Use it with the DEM from the previous comment. Right click >> Save Link As...

Welly ortho.resized.png

I've written a tutorial on texturising terrain models using bitmaps, it's at http://johnflower.org/article/tutorial-texturising-terrain-blender

Hi John, I picked-up the tutorial from your posting on the QGIS forum, but I have a problem.

I've tried importing your sample grey-scale PNG (and one of my own) to Blender but what I get is not a grey plane but a grey cube. This is before I try to move on to the stage of subdividing. It's bound to be something I'm doing wrong, any ideas?

Ubuntu 10.11 (64-bit)
Blender 2.5.8

Though I get the same problem in Win Vista.

Regards, Nick.

Hi Nick, can you send me the .blend file with the erroneous cube? john&johnflower.org

Hi John, well it was me. Under 'Scene' on the RH side of the screen there is an item called 'Cube'. This was enabled by default but disabling it fixed the problem. I'm sorry about this, I don't know anything about Blender (yet) I just pitched straight in with your excellent tutorial.

Regards, Nick.

Ah! When Blender is first opened there is a cube in the middle of the screen. It has the same XY dimensions as the image youre trying to import. So you will never see the image until the cube is deleted. The quickest way to do this is to Right Click on the cube >> press X >> Enter. To make this empty scene the default when you load Blender, press Ctrl Alt U and click Save As Default. I've updated the tutorial with this instruction.

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
p
v
T
G
j
h
Enter the code without spaces and pay attention to upper/lower case.
Syndicate content