materialClearcoatNormal
Provides a separate surface normal for the material's clear coat layer, allowing it to have different bump details (e.g., orange peel on car paint) from the base material.
Core Advantages
Completely decouples the surface geometry of the clear coat and base layers and automates the complex logic of 'use clear coat normal map if present, otherwise fall back to base normal,' greatly simplifying the creation of advanced layered materials.
Common Uses
Simulating the 'orange peel' effect on car paint.
Adding brush strokes or flaws to a lacquered wood floor.
Representing water spots or smudges on a smooth surface.
Simulating minor ripples on an epoxy resin coating.
How to adjust
Enable by setting `material.clearcoatNormalMap` (a texture) in JavaScript. Its bump intensity is controlled by `material.clearcoatNormalScale` (a Vector2). If `clearcoatNormalMap` is not set, this node automatically uses the material's base normal, resulting in no additional effect.
Code Examples
1// Create a procedural "orange peel" normal for the clear coat
2const orangePeelNormal = normalMap(
3 noise( uv().mul( 200 ) ), // Use high-frequency noise
4 vec2( 0.05 ) // Set a very low bump intensity
5);
6
7// Connect this procedural normal to the material's clear coat normal input
8material.clearcoatNormalNode = orangePeelNormal;