Tutorials‎ > ‎

Make a Statistical Map in Blender

A lot of us have probably seen those maps in magazines and newspapers where they raise up states based on numbers assigned like population or home prices, etc. We are going to be using Blender to make one of those maps and make the states (or provinces) easy to scale.

*Europe and U.S.A. map .blends included!*

While you should use Reference images for everything, you especially need one for this tutorial. Luckily, USA maps are as plentiful as sand on Google, so you should have no trouble finding one. Try to get one with clear state lines and is a proportional projection, not a flat projection. If you do not live in the USA (And from what Clicky Analytics has told me, almost two-thirds of you don't), just find a provincial map of your own country. It doesn't matter. Just get a map. 

To model the states, add a plane, and in edit mode, move it over to a state or province. 

Delete three of the vertices, and move the remaining vertex to the border.

Start extruding.

Once you finish, close off the outline by selecting the two ends and hitting F to form an edge between them.

Select the outline with Ctrl-L and use Alt-F to fill the outline with faces. This is one of those rare times in 3d modeling where you don't have to worry about topology since you only need to solidify and scale it.

Duplicate one of the vertices and start with the next state.

Repeat for the rest of the states. Seeing as the United States is the fourth largest country in the world, I've got my work cut out for me. :P

If you are modeling the US map, the Northeast will be the most difficult.

It gets easier in the South.

And even easier in the West. Make sure you keep the gaps at roughly the same width.

If your country has island holdings, and most countries do, you can cheat a little and just model a couple, and randomly rotate and scale to form the rest of the island chain.

As you can see, it works quite well for the Aleutian island chain.

Once you finish, you can go back into object mode and see the finished map.

However, it's one huge chunk. Divide it into the individual states by going back into edit mode, selecting everything, and pressing P.
Choose "By Loose Parts" from the menu, and the map will be split into pieces.

You can see that Blender thought that the islands were separate states.

So you have to manually select all the islands for each state and join them. Sorry for you folks in Indonesia. :P

Unfortunately, all the states share the same rotation center. 

Fix that by selecting everything, hitting the space bar, and typing in "Set Origin". The option should come up, and choose "Origin to Geometry" from the menu.

As you can see, the states now have their own rotation centers.

Next, we have to solidify the states. Turns out you can skip a step and just go into the Text Editor and paste in: 

import bpy

#Iterate over all members inside the Object struct
for ob in bpy.data.objects:
     #Check if object is a Mesh
     if ob.type == 'MESH':
         ob.modifiers.new('Solidifystates', 'SOLIDIFY')
         ob.modifiers['Solidifystates'].thickness = -0.5

Then hit "Run Script".

And now, there's thickness.

Buuuuttt...we have one more problem. Some of the islands are reversed!

You're going to have to delete the bottom vertices and extrude them up to fix them. The Snap function is very useful for this.

And that takes care of everything. Since the origins are on the bottom of the states, when you scale them, they only scale upwards, and you can just type values into the Z-scale box to have it automatically raised.

If you want, you can assign colors to the states or provinces too.

-To reset the map, select everything and hit Alt-S.

Creative Commons License

The US and European Blender Statistical Maps are licensed under a Creative Commons Attribution 3.0 Unported License.

DropdeadFred has created a Brazilian Map. Click to download.