Material Editor - How To use Dual Normals with Clear Coat

The Clear Coat Shading Model now has the option to add a 2nd Normal map for the surface that is below the clearcoat layer. This allows us to more accurately model complex materials such as carbon fiber which have a different geometric surface than the Clear Coat layer. In the following How - To we will go over how you can enable and use this feature in your UE4 projects.

What the 2nd Normal does

Before we get started with this How - To, let's take a quick look at what adding a 2nd Normal map allows us to achieve with the Clear Coat shading model.

In the above image you can see the effect adding a 2nd Normal map has on the way the surface under the Clear Coat is lit. If you take a look at the image on the left, Clear Coat Bottom Normal Off, you will notice that while the surface under the Clear Coat is interacting with the lighting, the light is only affecting the surface in one direction making the lighting look a little flat. If you take a look at the image on the right, Clear Coat Bottom Normal On, you will notice that the light looks to be affecting the surface in multiple directions and this is the type of interaction we are after.

Required Files

In order to follow along with this How - To you will need to download, extract and then import to UE4 the following Texture files. If you are unfamiliar with how to do this please check out the Texture Import Guide
for more information about how to go about doing this.

Enabling the Dual - Normal Clear Coat option

Before you can use the new dual normal you will need to enable the feature by doing the following.

From the Main Toolbar go to Edit > Project Settings.

In the Project Settings go to Rendering > Materials and then click on the check mark box that is next to Clear Coat Enable Second Normal option to enable it.

Click on the Restart Now option to re-launch the UE4 Editor with the Clear Coat Enable Second Normal feature now enabled.

Using the Dual - Normal Clear Coat option

With the Dual - Normal Clear Coat option now enabled, it is now time to create and setup a new Material that can use it. To accomplish this you will need to do the following.

Create a new Material in the Content Browser with a name of Dual_Normal_Clear_Coat and then double - click on it to open it up.

Select the Main Material Node and in the Details panel under the Material section, change the following options.

Shading Model: Clear Coat

Add four Scalar Parameter Expression nodes to the Material Graph and give them the following names and values then connect them so that they match the image below.

Material Expression Type

Name

Default Value

Scalar Parameter

Base Color

0.1225

Scalar Parameter

Metallic

0.5

Scalar Parameter

Clear Coat

1.0

Scalar Parameter

Clear Coat Roughness

0.1225

To setup, the Roughness section of the Material add the following Material Expression nodes to the Material Graph and give them the following values and name. Once the Material Expression nodes have been added, connect them so that they match the image below.

Material Expression Type

Name

Default Value

Scalar Parameter

Roughness Scaling

30.0

Scalar Parameter

Roughness Min

0.1

Scalar Parameter

Roughness Max

3.0

Texture Sample

N/A

T_CarbonFiber_R_00

Texture Coordinate

N/A

N/A

Linear Interpolate

N/A

N/A

Since this Material makes use of two Normal maps, we will need to setup two different Normal map sections for this Material. The first Normal map section of the Material is for the Clear Coat surface and will require the following Material Expression nodes. Once the Material Expression nodes have been added, connect them so that they match the image below.

Material Expression Type

Name

Default Value

Scalar Parameter

Surface Normal Strength

0.98

Scalar Parameter

Surface Normal Scaling

30.0

Texture Sample

N/A

T_CarPaint_N_00

Texture Coordinate

N/A

N/A

Multiply

N/A

N/A

FlattenNormal

N/A

N/A

This Normal map is for the surface that is under the Clear Coat section of the Material and will require the following Material Expression nodes be added to the Material Graph with the following values and names. When completed connect the Material Expression nodes so that they match the image below.

Material Expression Type

Name

Default Value

Scalar Parameter

Clear Coat Scaling

30.0

Scalar Parameter

Fiber Strength

0.98

Texture Sample

N/A

T_CarbonFiber_N_00'

Texture Coordinate

N/A

N/A

Multiply

N/A

N/A

FlattenNormal

N/A

N/A

ClearCoatBottomNormal

N/A

N/A

Make sure that you have added the ClearCoatBottomNormal Material Expression node to the Material Graph and that you have connected the Normal map you want to use to its input. Failing to do this will result in you not being able to see the 2nd Normal map in your Material.

With all of the individual sections of the Material now setup, connect the outputs to the Main Material node so that your Material setup matches the following image.

Finally, once all the various sections of the Material have been connected to the appropriate places on the Main Material node, press the Apply button to compile the Material and then close the Material Editor.