iridescence
iridescence
iridescence 节点用于在 `MeshPhysicalMaterial` 中模拟薄膜干涉效应,从而重现肥皂泡、油膜等表面随观察角度变化而呈现的彩虹色光泽。
核心优势
以一种简单、声明式的方式将复杂的虹彩物理现象集成到着色器中。它在 TSL 中作为一个只读属性节点,直接关联到材质的 `iridescence` 相关参数,极大地增强了特定材质的真实感和视觉表现力。
常见用途
肥皂泡与油膜
珠光汽车漆
昆虫外壳与珍珠母贝
如何调整
虹彩效果完全通过在 JavaScript 中修改 `MeshPhysicalNodeMaterial` 的属性来调整。`material.iridescence` 控制整体强度,`material.iridescenceIOR` 影响反射强度和颜色,而改变 `material.iridescenceThickness` 的范围则会彻底改变虹彩的色谱。
代码示例
1// 在 JS 中设置虹彩参数, TSL中的iridescence节点会自动读取
2// 强度: 0 = 关闭, 1 = 完全开启
3material.iridescence = 1.0;
4
5// 薄膜的折射率
6material.iridescenceIOR = 1.3;
7
8// 薄膜的厚度范围 (纳米), 决定颜色
9material.iridescenceThickness = uniform(new THREE.Vector2(100, 400));