NormalMap

Normal Map for Game Textures - Environment & Prop Workflow

Batch-friendly normal maps for game environment and prop textures.

Drop an image or click to upload

Height map or photo → normal map. Runs locally.

OpenGL (Blender, Unity) uses Y+ up (default). DirectX / Unreal may need the green channel flipped.

Input

No image

Normal map

What is Normal Map for Game Textures?

Game textures live at power-of-two resolutions and usually tile across large surfaces. This page focuses on producing tileable normal maps for environment kits and props, with settings tuned so detail survives mipmapping down the render distance.

Common Uses for Normal Map for Game Textures

  • Build a tiling normal map for a modular wall or floor kit
  • Create prop detail maps for weapons, crates and machinery
  • Prepare texture sets for a Godot, Unity or Unreal environment

Tileable normal maps for modular kits

A modular kit looks wrong the moment a tiling seam appears. Start with a height map built to tile (mirror or offset the edges), generate the normal map here, then test by placing four copies in a 2x2 grid and checking the seam under a moving light. The border sampling in this tool reads the opposite edge, so a tileable height map yields a tileable normal map.

Mipmaps and texture memory

Normal maps are vector data, so aggressive compression causes visible lighting artefacts. Use BC5 / high-quality normal compression rather than BC1, and enable mipmaps. For mobile, consider a half-resolution normal map with a stronger base colour to hide the reduced detail.

Frequently Asked Questions

What resolution should game normal maps be?
1024 or 2048 for most environment surfaces, 512 for small props, 4096 only for hero assets. Keep power-of-two sizes so mipmaps and streaming stay clean.
How do I stop normal detail shimmering at distance?
Make sure the map has mipmaps enabled and that the source height map is not overly noisy. Slight smoothing before generating removes high-frequency detail that mipmapping would otherwise turn into shimmer.
Can I pack the normal map with other texture channels?
Yes. Many engines accept a packed mask texture for roughness/metal/AO, but keeping the normal map as its own RGB texture is still the safest cross-engine choice.

More Normal Map Tools