Normal Map Painting


Painting details can be also be done through painting Normal map data directly on your mesh. To paint normal map details, your document needs a Normal Map channel first. This can be set up in the TextureSet Properties window if you have one already. You will also need a brush or material with a normal map channel enabled.

From there, painting with a normal map is very similar to painting with a height map, with the added precision of a baked normal.

Normal blending modes

Normal maps have their own blending modes in the layer stack (based on these blending algorithms) :

  • Normal map Detail (default) - Consider the current layer as detail information
  • Normal map Inverse Detail - Consider the bottom layer as detail information
  • Normal map Combine - Combine top and bottom layer with the same intensity/extent

Normal Color Space

When loading a normal map into the slot of a material (tool properties or fill layer), you can change the default color space. This is useful since Substance Painter expect DirectX normal maps by default (it's unrelated to the project setting). Therefore when using an OpenGL normal map, it is required to click on the little arrow to open the color space menu and then change the color space of the bitmap.

Painting over a baked normal map

In some situation, it can be useful to paint over the baked normal in order to hide details or even fix baking issues.
The default setup of a project in Substance Painter doesn't allow that, as it computes the normal channel  and the baked normal separately. However it is very easy to change.

1 - Changing the texture set blending mode

By default a texture set is created with the "normal mixing" set to "combine. In order to change the normal map it's important to set it to "replace" instead. The normal map will disappear from the viewport, but that is expected.

Changing this mode to replace indicate to Substance Painter to only export the normal map channel and the height channel when generating the final normal map. 

2 - Setting a fill layer with the baked normal map

Create a new fill layer and put the baked normal inside the "normal" slot, via the properties panel. Don't forget to change the default tilling of the fill layer if it not set to 1.

3 - Changing the fill layer blending mode

By default, the blending mode of the normal channel on any new layer is set to "Normal map details". Since it is preferable to use the fill layer as the base, we chose the "normal" blending mode since the bitmap don't have any alpha, it will replace everything below (including the default color of the shader).

4 - Creating a layer to paint over the baked normal map

Create a new layer (regular or fill) and change its blending mode to "normal" for the normal channel. Once this setup is done, anything painted on the normal channel will take over the baked normal map that is on the layer below.