materialClearcoatNormal
materialClearcoatNormal
为材质的清漆层提供一个独立的表面法线,使其可以拥有与底层材质不同的凹凸细节,如车漆的“橘皮效应”。
核心优势
将清漆层和底层材质的表面几何完全解耦,并自动处理“如果清漆法线贴图存在则使用,否则回退到基础法线”的复杂逻辑,极大地简化了创建高级分层材质的过程。
常见用途
模拟车漆的“橘皮效应”。
为上漆的木地板添加刷痕或瑕疵。
表现附着在光滑表面的水渍或污渍。
模拟环氧树脂涂层表面的微小波纹。
如何调整
通过在 JavaScript 中设置 `material.clearcoatNormalMap`(一个纹理)来启用。其凹凸强度由 `material.clearcoatNormalScale`(一个 Vector2)控制。如果 `clearcoatNormalMap` 未设置,该节点会自动使用材质的基础法线,无任何额外效果。
代码示例
1// 为清漆层创建一个程序化的“橘皮”法线
2const orangePeelNormal = normalMap(
3 noise( uv().mul( 200 ) ), // 使用高频噪点
4 vec2( 0.05 ) // 设定一个非常低的凹凸强度
5);
6
7// 将这个程序化法线连接到材质的清漆法线输入端
8material.clearcoatNormalNode = orangePeelNormal;