materialLightMap
materialLightMap
提供最终计算出的光照贴图(Light Map)颜色,该颜色已结合了贴图和强度,用于为场景添加预烘焙的光照和阴影。
核心优势
将光照贴图的纹理采样(通常在 UV2 上)和强度混合的逻辑完全封装,并与材质的 `.lightMap` 属性无缝集成,让开发者能以高级、可组合的方式使用烘焙光照。
常见用途
为静态场景(如建筑)添加逼真的全局光照和软阴影。
程序化地生成光照效果,如模拟顶部天光。
混合静态烘焙光照与动态实时光照。
为卡通渲染(Toon Shading)添加固定的、风格化的阴影。
通过输出 UV2 坐标来调试光照贴图的 UV 通道。
如何调整
通过设置 `material.lightMap` 和 `material.lightMapIntensity` 来使用。在 TSL 中,可以通过为 `material.lightMapNode` 赋值一个节点(如 `texture`、`mix`)来完全覆盖默认行为,实现程序化染色、混合等高级效果。
代码示例
1// 混合白天和夜晚的光照贴图,实现动态昼夜交替
2const dayNightFactor = timerLocal( 5 ).sin().abs(); // 5秒一个周期
3
4material.lightMapNode = mix(
5 texture( dayLightMap, uv( 1 ) ),
6 texture( nightLightMap, uv( 1 ) ),
7 dayNightFactor
8);