Skip to main content

Normal mapping

If you aim to work in games, it's worth playing around with normal mapping. Now one of the industry's hottest topics, normal maps make the surface of a game model look much more detailed and impressive. This detail is displayed in real time: the images in the article are screengrabs, not renders. To create a normal map, a 3D software package samples the directions in which the surfaces of a detailed model (a higher-resolution version of the in-game object) face, storing the information as coloured pixels. The map is then applied to the lower-resolution object, passing information about the hi-res model to the lighting calculations.

In this article, we'll be providing a brief overview of the issues that normal mapping throws up. At present, a common approach is to build the hi-res source model immediately, but I feel it can be more effective to start with the lo-res final model. Firstly, starting low makes it easier to revise proportions, and allows for vital early rigging and animation tests. Secondly, once the lo-res is finished, it is a simple job to add polish. With subjects like the pirate on the right, I recommend exporting the mesh to ZBrush 2: a great tool for sculpting in organic detail.

With both models finished, you can capture the map. The pirate uses 3ds max 7's Render to Texture tools, but an alternative would be ATI's free NormalMapper plug-in for Maya and earlier versions of max ( In each case, a good result depends on a close fit between the volumes of the two models.

The final step is to check the map in your 3D package, using a suitable hardware shader. It will probably need editing in some areas, but you should immediately see a big increase in how detailed the in-game model looks.

Click here to download for free