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 的渲染效果。

相关推荐
曹牧7 小时前
C#:未被引用的函数
c#
上位机妹子12 小时前
EF Core 两种继承映射:每层次一张表(TPH)与每类型一张表(TPT)
数据库·c#·.netcore·ef core
小羊没烦恼!14 小时前
jQuery1.5的改进细节
java·服务器·开发语言·前端·c#
下页、再停留15 小时前
【C#桌面客户端系列学习-8】批量导出数据为csv格式
开发语言·c#·visual studio
波力海苔夹心脆67516 小时前
C# 视觉检测实战:PLC 按钮触发 VisionPro 检测,OK 亮灯 / NG 灭灯(西门子 PLC,含界面显示与图片存档)
开发语言·经验分享·c#·自动化·视觉检测·.net
kim17 小时前
一个人 + AI,用 WinForms 搓了个 376KB 的 Windows 便签:便签 / 截图 / 标注 / OCR / 待办全塞进去了
c#
hez201018 小时前
一行代码在 .NET 项目里启用 Satori GC
c#·.net·.net core·gc·clr
宇卿.18 小时前
C#语句:
开发语言·c#
咕白m62518 小时前
使用 C# 将 TIFF 转换为 PDF
前端·c#
JQLvopkk19 小时前
HslCommunication,一个工具测遍所有 PLC
开发语言·人工智能·c#·交互