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

本文详细介绍了Unity光照烘焙的过程,包括不同光源类型、压缩格式和贴图大小的选择,以及烘焙参数设置。重点讲解了静态光照、环境光遮罩、环境闭塞、天光遮罩等各个通道的烘焙,并给出了烘焙步骤和注意事项,如关闭低模物体的全局光照、开启双面GI等。最后,阐述了如何合并烘焙结果并更新场景配置,确保高质量的光照效果。

在这里插入图片描述

背景

光源信息

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

自发光物体
请添加图片描述
即设置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

请添加图片描述

最终效果

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

昼夜变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值