clearcoatRoughness
Provides a float value to control the roughness of the clear coat layer, determining if its reflection is sharp and mirror-like or blurry and diffused.
Core Advantages
Abstracts the complex physics of microfacet scattering into an intuitive 0-1 property, enabling fine-grained control over the clear coat's reflective quality and allowing for localized variations via texture nodes.
Common Uses
Simulating different car paint finishes (gloss, semi-gloss, matte).
Creating frosted glass or etched metal surface effects.
Using a texture map to add fingerprints, smudges, or uneven wetness.
Replicating the texture of treated leather or semi-gloss plastics.
How to adjust
Modify the `material.clearcoatRoughness` property in JavaScript (from 0 to 1). At 0, the clear coat reflection is perfectly sharp like a mirror. As the value increases, the reflection becomes progressively blurrier and softer. At 1, the reflection is fully diffused into a soft sheen. A texture node can also be connected to `clearcoatRoughnessNode` for localized roughness.
Code Examples
1// Use a noise texture to create variable roughness on the clear coat
2const roughnessNoise = noise( uv().mul( 10 ) );
3
4// Connect the noise node to the material's clearcoat roughness input
5material.clearcoatRoughnessNode = roughnessNoise;