materialClearcoatRoughness
materialClearcoatRoughness
提供清漆层的粗糙度,用于独立控制其高光的清晰或模糊程度,并已内置了与 `clearcoatRoughnessMap` 的混合逻辑。
核心优势
将清漆层和底层材质的粗糙度完全解耦,并自动处理“全局粗糙度因子与贴图值相乘”的常见逻辑,极大地简化了创建带有局部细节(如指纹、污渍)的分层材质的过程。
常见用途
使用贴图模拟光滑表面上的指纹或污渍。
表现物体表面因磨损或老化导致的清漆层光泽度下降。
创建具有均匀哑光或磨砂质感的清漆表面。
模拟潮湿表面不同区域的干燥程度。
如何调整
通过在 JavaScript 中修改材质属性来调整。`material.clearcoatRoughness` (0-1) 作为全局因子。如果提供了 `material.clearcoatRoughsnessMap`,最终粗糙度为 `因子 * 贴图值`。这允许你使用贴图在 0 到 `因子` 值之间进行局部变化。
代码示例
1// 在物理光照模型中,materialClearcoatRoughness 节点提供了最终的清漆粗糙度
2// 其值由 material.clearcoatRoughness 和 material.clearcoatRoughnessMap 共同决定
3// (通常在 materialPhysical 节点内部使用,无需用户直接连接)
4
5// 示例:程序化地创建污渍
6const smudgeMap = noise( uv().mul( 5 ) );
7material.clearcoatRoughness = 0.8;
8material.clearcoatRoughnessNode = smudgeMap; // 将噪声作为贴图