thickness
thickness
thickness 节点是 `MeshPhysicalMaterial` 的一个关键输入,用于模拟光线在半透明材质(如玉石、皮肤、蜡)中穿透和散射的效果(次表面散射),从而实现温润通透的质感。
核心优势
极大地增强了半透明材质的真实感。它通过一个易于在JS中设置的属性(通常是一张厚度贴图),让开发者能精确控制物体不同部位的透光能力,是实现高级次表面散射效果的核心。
常见用途
玉石与蜡烛
生物皮肤
磨砂玻璃与液体
如何调整
thickness 效果是一个多参数联动的调节过程。主要通过在JS中修改 `material.thickness`(通常是一张贴图)来控制局部透光度,并结合 `material.attenuationDistance`(控制整体浑浊度)和 `material.attenuationColor`(控制透射光颜色)来实现最终效果。
代码示例
1// 开启透射以激活 thickness 效果
2material.transmission = 1.0;
3
4// 将预先烘焙的厚度贴图连接到材质属性
5// TSL中的 `thickness` 节点会读取此贴图的值
6material.thickness = texture(thicknessMap);
7
8// (可选) 定义透射光的颜色和衰减距离
9material.attenuationColor = color(0x99ff99); // 淡绿色
10material.attenuationDistance = 0.5;