• 基于Unity默认烘焙系统产出Ambient Occlusion, Sky Occlusion等数据


    在这里插入图片描述

    背景

    光源信息

    方向光
    请添加图片描述
    点光源
    请添加图片描述
    面光源
    请添加图片描述

    自发光物体
    请添加图片描述
    即设置gi flag为BakeEmissive的物体。
    请添加图片描述

    其中,方向光只用于产生 shadowmask,其余光源用于生成 lightmap。

    其余光源中又根据tag来进行区分:

    1. tag == untagged,只在夜晚亮
      请添加图片描述
    2. tag == static light,白天夜晚都亮。
      请添加图片描述

    压缩格式和贴图大小

    在实际项目中使用时,每个场景生成4套光照图,每套包括 1张 Lightmap,1张 Shadowmask。

    原图尺寸Max Size压缩格式
    Lightmap20481024ASTC HDR 8x8
    Shadowmask20482048ASTC 8x8

    通道信息

    Lightmap通道:

    RGB:除方向光以外的其他光源的光照信息

    Shadowmask通道:

    R: Shadowmask

    G: Static Light Area

    B: Ambient Occlusion

    A: Skylight Occlusion

    烘焙过程

    使用 Unity内置烘焙系统,不是Bakery,即在这个页面设置参数。
    请添加图片描述
    调用的方法:
    在这里插入图片描述

    烘焙结束后的回调方法:
    在这里插入图片描述

    通用设置

    1. 关闭低模物体(不管是否勾选Contribute GI选项)
    

    请添加图片描述

    2. 勾选 Stitch Seams
    

    请添加图片描述

    3. 开启双面GI
    

    请添加图片描述

    4. 设置Bounces = 2
    

    请添加图片描述

    Bounces = 2 相比 Bounces = 1 烘焙质量得到明显提升,同时Bounces = 2的烘焙耗时更长,可以设置更高数值的Bounces来取得更好的烘焙效果,但是Bounces = 2 是性价比较高的选择。
    请添加图片描述

    5. 树叶物体的LightmapScale设置为0,节省Lightmap像素。且只在烘焙Shadowmask时打开,其余烘焙阶段关闭,避免影响烘焙结果。	
    

    请添加图片描述

    开始烘焙

    总体思路

    1. 设置参数
    2. 烘焙场景
    3. 把烘焙结果保存到特定路径,以备后用
    4. 重复1至3步骤多次,使用不同的设置和参数,烘焙不同的信息(Shadowmask,AO等)
    5. 合并所有烘焙的结果
    

    Ambient Occlusion

    • 关闭所有光源
    • 设置环境光为三色模式,且三色都是白色
    • 关闭树叶
    • 设置所有物体的CastShadow=Off
    • 开启烘焙AO选项

    烘焙结束后把Lightmap copy一份存放到单独路径下。
    请添加图片描述

    Static Light Area

    • 关闭所有光,只打开Static Light
    • 设置环境光为三色模式,且三色都为黑色
    • 设置所有物体的CastShadow=Off
      请添加图片描述

    Shadowmask

    • 关闭所有光,只打开方向光
    • 设置环境光为三色模式,且三色都为黑色
    • 打开树叶物体
    • 设置所有物体的CastShadow=On
      请添加图片描述

    Skylight Occlusion

    • 关闭所有光
    • 设置环境光为三色模式,且三色都为白色
    • 设置所有物体的CastShadow=On
      请添加图片描述

    Lightmap

    • 打开所有光源,关闭方向光
    • 设置环境光为三色模式,且设置三色都为黑色
    • 设置所有物体的CastShadow=On
      请添加图片描述

    此为止,所有GI分量都烘焙完成,存放目录下目前了这些图:
    请添加图片描述

    最终处理

    • 把后缀为 _shadowmask,_staticlightarea,_ao,_so 的四张图合并到一张图中,合并后保存为png格式图片,作为新的shadowmask图。
    • 把 _light 后缀的图作为新的lightmap图。
    • 更新场景关联的LightmapData
    • 更新LightingData.asset

    注意事项

    Lightmap Quality 设置为 High Quality

    请添加图片描述

    修改Lightmap压缩格式

    • Android: ASTC HDR NxN请添加图片描述

    • iOS:RGB9e5
      内存会变大,1024大小的图用ASTC HDR 8x8 方式压缩大小是 341kb, 用 RGB9e5方式是5.3mb
      请添加图片描述

    色阶

    烘焙结果从 exr 格式图(Lightmap) blit 到 png格式图,颜色的表达范围和精度都下降导致。请添加图片描述

    对比

    请添加图片描述
    请添加图片描述
    请添加图片描述

    请添加图片描述请添加图片描述

    点光强度较大时,使用 ASTC 压缩格式会有偏色现象,ASTC HDR 不会偏色。
    请添加图片描述

    常见问题

    1. UV1 有重叠
      请添加图片描述

    原始UV1有重叠,黄框部分为重叠区域
    请添加图片描述

    修改后的UV1,没有重叠区域。请添加图片描述

    2. 没开doubleSidedGI
    

    请添加图片描述

    最终效果

    请添加图片描述
    请添加图片描述

    昼夜变化

  • 相关阅读:
    云安全之等级保护解决方案及应用场景
    ArcGIS 底图服务前端加载某些级别不显示问题
    Servlet是什么?怎么使用?
    python替换word文件中的图片
    Java面试之数据类型
    赴日开发工程师是做什么的?
    Windows深度学习模型WaveNet
    JCL 学习
    将 ERP 与 PPM 系统集成的 5 个理由
    测试基础知识
  • 原文地址:https://blog.csdn.net/h5502637/article/details/127119407