Hello i’m in love with stylized graphics like overwatch/firewatch etc.
I saw a lot threads about overwatch and how assets are made. Most of object using normal maps without blue channel and i want to ask why. It is giving that nice soft stylized shadows? Can i use it in unity?
I will grateful for any tips for stylized environment and characters.
All normal maps in Unity do not use the blue channel, at least when not on mobile. The vast majority of games made in the last decade do not use the blue channel for normal maps.
The blue channel is omitted for quality / compression reasons because it’s not needed. A normal map is a representation of a unit length vector, and with a tangent space normal map the Z (blue channel) is always positive, so all you need is the X and Y (usually red and green channels) components and you can reconstruct the Z using some basic math.
You might remember Pythagorean Theorem from school can be used to find the length of any edge of a right triangle if you know the other two.
a² + b² = c²
The 3D extension of this still holds true.
x² + y² + z² = s²

Since a normal map is a unit length vector, that is “s == 1”, and we have x and y (red and green), you can get z (blue) with:
z = √(1 - x² - y²)
This is usually hidden by the tools, as when you import a normal map into Unity it still shows the blue channel in the preview, but the actual texture sent to the GPU does not!
1 Like
Very intresting, i didn’t knew that. Thanks for reply.