What is Height Map to Normal Map?
A height map (also called a displacement or elevation map) stores surface height as grayscale values, where white is high and black is low. A normal map stores the same surface as a direction per pixel, which is what a game engine or 3D renderer actually uses for lighting. This converter turns a height map into a normal map by computing the slope between neighbouring height pixels and encoding the resulting direction as RGB.
Common Uses for Height Map to Normal Map
- Turn a displacement map exported from ZBrush or Substance into a normal map
- Reuse an existing bump or height texture as a normal map
- Prepare height maps from World Creator / Gaea for a game engine
- Convert a grayscale tile pattern into a lighting-ready normal map
Height map resolution vs normal map quality
The normal map inherits the resolution of the height map. An 8-bit height map gives 256 height steps, which can cause visible banding on smooth slopes - use 16-bit height maps where possible and export a higher resolution. For tiling surfaces, 2048px is a good balance between detail and memory.
Choosing the right strength for displacement data
Displacement maps from sculpting tools often carry very fine detail, so a lower strength (1.5-2) with light smoothing reads better than a high strength that exaggerates every pore. For hand-drawn height maps with broad shapes, a higher strength (3-4) gives a clearer bevel and edge.