Normal Maps

About

This article describes how to create correct normal maps in different situations, and potential problems while generating or importing them ingame.

Generation

A regular normal map without any inverted channels and its red and green channels shown seperately.

Before you decide if you need to invert one of the normal map channels, you need to make sure the normal map generator you are using isn't inverting it by default. Some normal map generators have settings for inverting the red(x) and green(y) channels, but some of them invert the red channel by default.

A regular normal map with no inversions looks as if it's lit from the top right - that means the red channel looks like light is coming from the right, but the green channel looks like the light from the top. That means it appears to be lit from the positive x and y directions which is the normal map standard.

Mesh Import Rotation

The rotation feature in the asset editor mesh importer is broken - it produces incorrect tangents, which will make normal maps appear incorrectly or not at all depending on the orientaton and uv mapping of each face.

Assets

For regular assets such as buildings, props, vehicles, trees and citizens, the normal map works correctly with no inverted channels, according to the standard described above.

Networks

For faces which are vertex painted magenta the normal map always works just like for any normal asset, as described above.

But for faces which are not vertex painted magenta (that means they use the automatic tiling as networks usually do) the green channel usually needs to be inverted.

If you are creating a network using an asymmetric mesh, you would use the invert flag for the segment mesh to appear continuous and not flip every other segment, this will result in the normal map green channel being inverted for every other segment. The solution in that case is to have 2 different segment meshes, one of which would have a flipped mesh or a flipped normal map, depending on the flags it has.

Map Themes

A normal map with an inverted green channel and its appearance ingame.

Map theme sand and cliff normal maps require an inverted green channel to appear correctly.

The water normal map is animated ingame and constantly fades between a regular and an inverted version.