Skip to main content

Texture Types - The Normals

Normal Maps

Next, we have the normal map. The normal map defines details on the surface of the material seperate to those of the mesh.

If you're reading this guide, you might not know what a normal is. Let me explain it for you! You see, meshes are made up of vertices, essentially points in space, making up polygons. But a polygon in a mesh is more than just three points in space. Stored with each polygon is information regarding which direction it's facing - the normal. This is what informs the lighting of meshes. Bad normals mean weird seams that don't match our expectations. Good normals mean things look soft and round in all the right places, and hard and sharp elsewhere!

Think about meshes themselves. You can put a texture on a flat simple plane and it'll be covered in colours, but it'll still be a simple plane underneath. So someone had the great idea to use a texture to shift the normals around. A texture can be more abstractly detailed than a mesh, right? And that's what a normal map is.

In Unity, these are stored differently to other engines once imported, which is why you need to mark new normal map textures imported as normal map textures. Unity will normally show a warning if a texture is assigned as a normal map without being imported as a normal map.

If you're looking at assets without normal maps, there's no need to panic, because a normal map isn't necessary if you don't have one. It only adds lighting detail. You can generate them yourself if you want, see below.