Landscapes. We can hardly ignore them. They are everywhere. Mountains, hills, valleys, plains, rivers, seas; these precious nuggets of nature define our unique human experiences.

And because they are everywhere, landscapes are part and parcel of digital art.

A landscape forms a backdrop on which a digital artist presents a work of art. In a typical outdoor environment, it represents the floor of the world. Thus, you could say the sky is the ceiling.

When building virtual worlds for video games and films, 3D artists have to create landscapes, at least in most cases. This often involves laying out the topography and all the landforms.

The usual method of creating terrain is through procedural generation. Here, the artist uses a set of rules and algorithms to generate bulges and dimples that make up common land features.

(Photo: Laptop Analyst)

Those sets of rules have to do with the use of bump, normal, and displacement maps, which by design, are meant to create the illusion of depth on the surface of a 3D mesh.

Although these maps can be randomly generated by the computer, they can also be based on predesigned or actual data. That means we could create landscapes that mirror real terrain on the earth’s surface. All we need is the reference data (thus the name – georeferencing).

In this article is an easy method for creating 3D landscapes in Blender using free geographical data from Google Maps and satellite imagery. For beginners, Blender is an open source 3D software that you can download for free from blender.org.

Without further ado, let’s create.

Geographic Information system (GIS)

The reference data that we will use will be sourced from the GIS – a system for documenting geographically referenced information. The GIS employs specific file formats depending on the particular type of data you’re dealing with. For instance Openstreetmap (OSM) files are native to the Openstreetmap collaborative project which amasses various geo data, including streets, buildings, and water courses.

Apart from Opensteetmap, there are many other GIS data sources that offer free access to geospatial data sets. Common ones are Esri open data hub and Natural Earth data.

Blender GIS Addon

Since Blender is not specially designed to handle GIS data, we will install a tailored addon.

The addon in question is called Blender GIS, and can be downloaded for free from github.

Blender GIS allows you to import data files in most common GIS formats. Some compatible formats are raster image, geotiff DEM, Shapefile vector, and OpenStreetMap xml.

With Blender GIS, you can also grab geodata directly from the internet, compute terrain mesh, and manage georeferencing information of your scene. There are many more powerful functionalities built into the addon, so you might want to check it out yourself.

How to install

Begin by downloading the Blender GIS Zip file from Github

Blender GIS Github Zip files

Next, in Blender, navigate to Edit > Preferences > addons > install

Installing the Blender GIS addon

The GIS feature should appear in your viewport

Importing Base maps and Height Data

In order to create a vibrant landscape, we need two things: the base map and height data.The base map is a digital photograph of the area you want to capture. Most base maps are drawn to scale to represent actual distances on the ground.  We’ll get our base maps from Google maps.

The height data will help us define how the ground rises or falls in relation to the coordinates of the base map. Our source of height data will be NASA’s Shuttle Radar Topography Mission (SRTM) radar database.

 To begin, click the GIS feature and navigate to web geodata > basemaps.

basemaps with Blender GIS addon

A small dialogue box will appear, asking you to select the source and layer. We’ll use Google for the source and satellite as the layer.

You’ll be presented with a world map with which you can interact within Blender. Isn’t that incredible? Now you can use the mouse wheel to zoom in and out.

Navigating Google maps in Blender

You can also navigate directly to your desired location by hitting G on your keyboard and typing the name of the place. Use the middle mouse button to position the map precisely.

When you’re fully satisfied with your selection, hit the E button. This automatically captures your map and assigns it as an image material to a plane.

base map without height data

Next, we need to add height detail to our plane to give it topographical detail. To do that, head to the GIS addon again and navigate to web geodata > Get SRTM. Wait for some seconds for the program to fetch the data. You should now see some bumps on your map.

base map with height data

If you check the modifiers section, you’ll see that a displacement modifier has been added. You can tweak the height of your landscape with the strength value.

controlling displacement with displacement modifier

The last step is fine-tuning your landscape using shader nodes and subdividing your plane to add detail. Here’s what my landscape looks like after subdividing and changing the specularity, hue, and glossiness of the surface.

adjusted map after subdividing and tweaking hue and specularity

You could go further by adding some thickness to your model. But before you do that, you might want to apply the displacement modifier so it doesn’t get things messed up from here on.

map with thickness and materials
A gradient material has been added to the thickness in this illustration

Importing Streetmap Data

There’s no limit to how far you can go with your model. You could drop objects on the surface, add custom lights, or even include buildings, rivers, and streets using the import-streetmap tool.

From this point, whatever you choose to do is up to you.

Special thanks to the developer who created the blender GIS addon and made it available for everyone to use.

Author: Victor Wachanga

Writer, 3D artist, and thinker. Tech is fascinating. Tech is scary

We value your opinion