Unity 光照贴图异常修复笔记

Unity 光照贴图异常修复笔记


🧩 问题描述

在场景中烘焙光照贴图后,发现以下问题:

  • 场景中出现明显的 黑块 / 白块 区域;
  • 墙面上有 莫名其妙的亮斑
  • 某些模型在清空光照贴图后变成一片黑。

这些问题导致整体光照不均匀,场景显得非常不自然。


🎯 原因分析

经过排查,主要原因如下:

原因 说明
Lightmap UV 出错 模型未生成正确的第二套 UV,导致贴图重叠或扭曲。
光照贴图分辨率过低 采样精度不足,产生块状阴影。
Emission / 高反射面过亮 发光材质或金属反射引发间接光反弹过强。
UV Padding 不足 模型贴图边缘太近,导致采样污染。
光源与 GI 设置混合错误 Mixed 光照模式下,实时与烘焙光叠加异常。
法线方向错误 模型法线翻转,烘焙出反常亮斑。

🧰 解决步骤

① 检查并重新生成 Lightmap UV

  1. 选中模型

  2. 打开 Inspector > Model Import Settings

  3. 勾选:

    Generate Lightmap UVs

  4. 点击 "Apply" 后重新烘焙。


② 调整 Lighting 设置

打开:

复制代码
Window > Rendering > Lighting > Scene

修改参数:

参数 建议值 说明
Lightmap Resolution 20~40 提高贴图精度
Lightmap Padding 4~6 防止 UV 边缘污染
Lightmap Compression 关闭(测试时) 避免压缩伪影
Directional Mode Directional 保留法线方向信息

③ 检查发光材质与高反射面

  • 检查所有 Emission 材质
    • 若亮度太高(如 HDR 值 >10),会引发间接光爆亮。
    • 建议调低至 1~3。
  • 对金属或镜面材质,适当降低反射强度。

④ 检查法线与重叠模型

  • Scene 视图中打开 显示法线
  • 确认没有模型法线翻转;
  • 检查是否有重复模型或表面重叠。

⑤ 测试实时光与静态光混合

  • 若问题仍存在,尝试:
    • 全部改为 Baked 光源;
    • 或全改为 Realtime 光源;
    • 避免 Mixed 模式冲突。

🧪 验证效果

重新 Bake 后:

✅ 光照贴图分布均匀

✅ 无黑块或亮斑

✅ 墙面反射自然柔和

✅ 场景整体光线一致,逼真度提升明显


💡 补充建议

  • Reflection Probe:提升金属、玻璃等反射效果;
  • Light Probe:改善动态物体的间接光照;
  • Auto Generate:调试时关闭,手动烘焙以保持一致性;
  • 备份 Lighting Data Asset:避免误清空导致场景全黑。

📚 经验总结

Unity 的光照贴图问题,本质上是 光照采样与 UV 质量之间的平衡问题

一旦理解了 Lightmap 的生成逻辑(静态物体 → 第二套UV → 贴图采样),

很多看似神秘的"黑块""亮斑"问题都能迎刃而解。


✅ 结果

修复完成后,场景效果显著提升,光线柔和自然,整体观感接近 Blender 的渲染效果。

相关推荐
秋月的私语10 分钟前
代码自动生成文本小工具TextStringizerWpf
c#
葛小白110 分钟前
Winform控件:Chart
c#·winform·chart
好望角雾眠10 小时前
第四阶段C#通讯开发-9:网络协议Modbus下的TCP与UDP
网络·笔记·网络协议·tcp/ip·c#·modbus
我是苏苏11 小时前
C#基础:如何从现有类库复制一个新的类库,并且加入解决方案
开发语言·c#
Jackson@ML15 小时前
用Visual Studio Code最新版开发C#应用程序
ide·vscode·c#
她说彩礼65万17 小时前
C# 代理模式
开发语言·c#·代理模式
Hody9119 小时前
【XR开发系列】2025 年 XR 开发入门,我该选择 Unity 还是 Unreal Engine?
unity·xr·虚幻
张人玉20 小时前
TCP 的三次握手和四次挥手
网络·tcp/ip·c#
曹牧20 小时前
C#:三元运算符
开发语言·c#
DvLee102420 小时前
UnityGLTF 材质创建与赋值流程
unity·材质