attenuationColor
attenuationColor
提供一个标准接口,用于获取光源经过距离衰减后的最终颜色和强度。它将复杂的物理衰减计算封装成一个单一的颜色值。
核心优势
将复杂的物理光照衰减计算(涉及距离、强度、衰减函数)完全抽象化,并由 Three.js 引擎根据场景灯光自动计算,使着色器代码无需关心底层细节,保持了标准化和通用性。
常见用途
在自定义光照模型中,作为光照能量与基础颜色相乘。
在卡通渲染中,为其阶梯化阴影提供强度依据。
为体积光或雾效提供每个采样点的光照强度。
通过直接输出其颜色来可视化光源的影响范围和衰减。
如何调整
该节点的值由场景中的 `Light` 对象(如 `PointLight`)的属性控制。调整 `light.intensity` 会改变光照的整体亮度和范围;调整 `light.distance` 会设定一个硬性的最大影响距离;调整 `light.decay` 会改变光线强度随距离减弱的速度。
代码示例
1// 将衰减颜色与直接光照贡献相乘
2const totalLight = directLight.mul( attenuationColor );