教你Unity灯光烘焙2 - 如何选择烘焙模式

我将按照unity烘焙的发展来讲述,这样更容易理解。

|光照贴图的诞生

在早期Unity中,所有模型的间接光,只能靠天光提供。如果是室内环境的灰墙房间,依然会因为天光照得发亮。
光照贴图的诞生,实现了 静态模型 之间的间接光效果。
两个小球是实时,房子模型烘焙
现阶段,模型就像分成了Baked和Realtime两个Layer,互相不能影响对方。
特点:
  1. 小球没有房子的间接光
  2. 房子阴影无法投射到小球上
  3. 房子没有实时高光
在那个蛮荒年代,甚至于有人烘焙max的灯光贴图,强行贴回到Unity模型上。(瞎搞)

|Subtractive和光照探头

“不要求精度,我只想把原本错误效果修正到勉强正确。”
Subtractive是第一个混合模式,相比之前,多了三个东西:

1.光照探头记录阴影

每个光照探头会记录它自己是否在阴影内,如果在则小球不会被直接光照亮。
但这也有个问题,光照探头的阴影不精准,房子没法投影到小球上。

2.光照探头记录间接光

.小球实时投影到地面(只能有一个平行光)
平行光下的小球,可以投影到地面上,并且可以自定义阴影的颜色。但阴影不能正确混合。
特点:
  1. 房子依然无高光
  2. 同等Lightmap分辨率下,计算量是三种Mixed灯光里最低的
  3. 只能投射一个平行光的阴影,能改阴影颜色,但阴影不能正确混合
  4. 效果不真实,但是很适合风格化场景
  5. Lightmap分辨率精度不能低

|Baked Indirect

“我只是想要在全实时的基础效果上,加入间接光。”因这个想法诞生了Baked Indirect模式
这个模式如字面意思, 只会烘焙间接光 ,光照贴图里只有天光的蓝色和墙面的红色。
所有模型的亮部和阴影还是实时计算。(所以柱子有高光)
Baked Indirect光照探头的间接光效果和Subtractive一样。
特点:
  1. 原本该有的渲染计算一个没少,还要多计算一张Lightmap和光照探头。
  2. Lightmap分辨率可以很小(才64*64,Subtractive用了512*512)
  3. 实时高光,实时阴影

|Distance Shadowmask

Baked Indirect看似美好,其实有一个问题。
当Shadow Distance很小,阴影到远处建筑就没了。
  • 左:Shadow Distance能覆盖整个场景
  • 右:Shadow Distance无法覆盖整个场景
所以就有了Shadowmask这个模式。(Distance Shadowmask)
在Baked Indirect的基础上, 多烘焙了一张Shadowmask贴图。
在超出Shadow Distance后,模型就会从 实时阴影 切换到 贴图阴影 。
Shadowmask的每个通道对应一盏灯光,也就是一张图最多可以存四个灯光。(这也是为什么偏红)
烘焙间接光只需要低精度 + 远处的阴影只需要低精度
这两个需求正好一致,所以低分辨率Lightmap也能保证好效果。
特点:
  1. 远处烘焙模型也能有阴影。
  2. 远处实时物体的阴影走Subtractive那套。
  3. 低分辨率Lightmap即可保证好效果。
  4. 有实时高光
  5. 多了一张Shadowmask图,一张图能存四盏灯的影子

|没有Distance的Shadowmask

Shadowmask默认是Distance Shadowmask,可以在Quality中切换成全局Shadowmask模式。
效果就是,Shadow Distance等于0时候的Distance Shadowmask。
烘焙物体影子全走Shadowmask。
特点:
  1. 有实时的高光与亮面
  2. 房子无法投影小球(和Subtractive一样)
  3. Lightmap分辨率要求高(和Subtractive一样)
  4. 实时阴影和烘焙阴影能正确混合。
  5. 说实话完全不知道这个模式的使用场景在哪。
  6. 下面是我的artstation地址:
https://www.artstation.com/luteli
当然你也能看看我原来写的文章
https://www.zhihu.com/people/lute-li/posts
如需转载请与作者联系并标注作者名字和原始网址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值