clearcoatNormalView
Provides the clearcoat layer’s vertex normal in view space. Equivalent to normalView when the build stage is NORMAL/VERTEX. In the fragment stage it is computed in an isolated clearcoat context and blocks getUV overrides to avoid side effects.
Core Advantages
Stage safety and context isolation. Ensures the clearcoat normal is consistent across build stages. Avoids bias from getUV being overridden by other nodes. Suitable as the base normal input for custom clearcoat effects.
Common Uses
Apply rim light or masks only to the clearcoat layer.
Debug and compare clearcoatNormalView vs transformedClearcoatNormalView.
Provide the incident normal direction for custom clearcoat BRDF/reflection.
How to adjust
This node is read-only. To change the clearcoat normal, set material.clearcoatNormalNode and material.clearcoatNormalScaleNode. To include texture perturbation and tangent-space rotation, use transformedClearcoatNormalView. Under the NORMAL/VERTEX build stage it is equivalent to normalView.
Code Examples
1// Enable clearcoat and use the clearcoat normal for a simple rim highlight
2material.clearcoatNode = float( 1.0 );
3const rim = pow( saturate( dot( clearcoatNormalView, vec3( 0, 0, 1 ) ) ).oneMinus(), 3.0 );
4output.color.rgb = mix( baseColor, clearcoatHighlightColor, rim );