Normal Mapping in Blender
By Lance Flavell

Using a Normal Map, you can add high quality surface detail to a low poly mesh. The effect is similar to a Bump Map, except that the Normal Map algorithm uses more channels. Simply put, a Normal Map is more accurate and looks less "painted on" than the plain greyscale Bump Map method.

Normal Maps can make a low-poly mesh look high-poly, but without the CPU strain which a high-poly mesh would cause. For this reason, they are typically used in games where various characters and models need to look awesomely detailed but without slowing down the in-game action. In this tutorial, you are going to use a Normal Map to make a low-poly mesh look as though it is a high-poly versión. Basic modeling knowledge of Blender, including UV unwrapping and Sculpt mode are assumed.


  • You will start off with a low-poly model, which you will need to UV unwrap.
  • Once unwrapped, you will duplicate the low-poly model and use sculpt mode to create a high-poly copy.
  • You will follow a simple baquíng process to create a Normal Map based on the difference of the two models
  • Finally, you will apply the Normal Map to the low-poly model to see the effect.

STEP 1: Prepare and unwrap your low poly model.

My low-poly mesh is the “Suzanne” monkey head, subdivided once. Suzanne is not really ideal because she has overlapping faces, especially around her eyes, which will likely be troublesome for Normal Mapping. Where possible use a simple base mesh without sandwiched faces. I have applied “set smooth” to her edges as this helps disguise that she is really a low poly mesh.

Unwrap your low-poly model. A good Normal Map depends on a quality (well spread out) UV layout.

Make sure the low poly mesh has an image associated with it from the UV editor. While in EDIT mode, assign a "new image" in the UV editor as needed (and pre-save this image). This new UV image is now set up and ready for baquíng, which comes later in STEP 3

STEP 2: Prepare a high-poly versión.

You can make a high-poly copy of the low-poly mesh by duplicating (SHIFT-D) the low-poly versión, then applying multires etc. and using Sculpt Mode to add in surface details.

A few pointers...

  • Name each mesh (I'm calling mine "Suzanne_hi" and "Suzanne_lo")
  • You do NOT need to have identically unwrapped UV maps for each mesh. Your high-poly mesh can be a completely different model for clever effects.
  • When baquíng the Normal Map (STEP 3) it will be important to have both meshes in the same place; one inside the other (not side by side). When sculpting, move the low-poly mesh out of the way onto another layer (M-key).
  • Sculpting should aim to add surface detail to your low-poly mesh (muscle bulges, cloth wrinkles, skin textures and so forth), but don't try to sculpt extensions your low-poly doesn't actually have (e.g. don't grow more arms or sinque big holes).
  • Save frequently. Sculpt mode is a heavy process, and is prone to crash.

STEP 3: Bake the Normal Map

SHIFT-select both the high and low poly models (the low-poly should be selected last!)

Now you need to bake (Scene (F10) => Bake options) with the following settings...

The Bake should be set to "normals" (not "full render").

Make sure "Selected to Active" is activated. This compares the high poly mesh against the low poly mesh in order to work out surface displacements.
Normal space should be set to "tangent". This will generate a Map that allows for the object to be animated (e.g. change rotation). Older methods could only make Normal Maps for stationary objects where only the lighting positions could change.

Now hit the big "BAKE" button and you should see your new and blue UV map generate.

Save this map when you are done.

STEP 4: Apply the Normal Map to a low poly figure.

You no longer need the high-poly mesh. Simply apply the newly saved image as a texture to the low-poly mesh with a certain settings as shown...

Under Shading (F5) => Materials (red ball icon)

Under "Map input" change the projection setting from "Orco" to "UV".

Under "map to" the default is "Col" (diffuse colour). Change this to "Nor" (normal, or bump).

To make the Map work as a Normal Map instead of a Bump Map, under Shading (F5) => Texture (F6) (the leopard skin icon), under "Map image" panel, hit "Normal Map" and select "Tangent" from the next drop list.
Your render (F12 key) should now show the low res model with all the bumps that the high resolution sculpt has. This technique works well on a subdivided mesh with “soft edges”.

As you can see, this low-poly mesh now looks very similar to the higher poly sculpted versión.

The result works well in GLSL / textured mode (go to the top menú "Game => GLSL materials" and then show a 3D window as "textured"). Game Engine alos works, but be sure to delete the high-poly versión before hitting “P” or you risque freezing up your machine.

Again, my choice in using Suzanne as a model is not ideal. The troublesome brown patches can be tweaked in Photoshop / Gimp etc. but it's much easier to avoid badly positioned faces.

So that's it. Now you can use Normal Mapping to give your low resolution meshes some high resolution punch, without compromising heavily on animation render times.

Lance Flavell(Lancer) A recent graduate in 3D Animation from Auckland's Medía Design School, and a registered teacher, Lance teaches Blender at "BubbleDome" courses during school breaks. Website:

By Lance Flavell