In 3D graphics, normal mapping, is a technique used for faking the lighting of bumps and dents – an implementation of bump mapping. Here at Reveal, we use it to add details without using more polygons.
A common use of this technique is to greatly enhance the appearance and details of a low polygon model by generating a normal map from a high polygon model or height map.
Normal maps are commonly stored as regular RGB images where the RGB components correspond to the X, Y, and Z coordinates, respectively, of the surface normal.
In the animation we can see a flat plane with the projected hi res information of the geometry object above it, making the illusion of high detail in a really low poly plane.
Below the Normal map applied to this plane to give this effect:
In this example, we look at how normals have been used on a battleship and how this could have been done differently for best results.
In the screenshots below, you can see how the normals or smoothing groups for this battleship were mainly hard edged - this might have been caused by the export process:
As a result, it is worth noting that we would recommend using soft edges when working with normal maps.
If the quality of the normal map projection is good then sharp edges will appear crisp and sharp - as this screenshot shows:
We appreciate that sometimes a good normal map projection is really hard to obtain and in this case the use of hard edges is ok, but we recommend only using hard edges in circumstances where the normal map projection is not good enough.
We suggest you use Xnormal for normal projection. This software gives the best results because:
- It is fast
- It is reliable
- It is a really powerful bit of software
- It gives the best normals maps
- It is completely free
Using this software is quite simple, you just add the high-res models into the high definition section, and likewise with the low res models in the low definition section, and then modify the baking options accordingly.
We recommend baking on high resolution texture maps like for example 4096x4096 pixels, tweaking them and reducing them later using Photoshop. On the low definition and high definition, we would recommend using “Average normals” but it is a matter of opinion (and a bit of trial and error).