unity 烘焙参数 设置_(已更新)Lightmap光照贴图:烘焙树林的光影

369c952c4167e66a5e1dec739731ee5b.png

这两天在做一个树林的效果的练习,做完效果后用Lightmap做资源优化的过程中遇到了一些问题,在这里记录一下。

在做完颜色差异化、背光次表面着色、树叶体积感渲染后,发现资源消耗比较大。用一棵树的模型复制、旋转、缩放形成100棵树的树林,在渲染时面数为104.4k、顶点数为159.3k、Shadow Casters为191、Batches为396。

d78a2136b7d92064f009825572293f8a.png

加入光照贴图

然后就想到了可以用光照贴图来代替实时的光照计算来减少资源消耗。按照光照贴图的设置:

  • 树和地面标记为Static
  • 灯光的Light Mode选为Baked
  • Lighting选项卡中勾选Baked Global Illumination

LightMapper使用渐进式的Progressive GPU来进行烘焙。烘焙完成后运行场景,资源消耗确实是真的小

e4f3e79293282cc98c364863d2b6b254.png

但是场景的渲染结果却出现了问题

d708ba31dd7721730b332ba695787335.png

可以很明显的看出来总共是两个问题:

  • 树的着色渲染完全错误
  • 树的影子变成了块状

树的颜色差异化渲染完全没有了,而且移动摄像机也发现着色渲染也完全是错的,树的影子在边缘还是可以的,但是在中间和靠近光源这边影子就完全消失了。那接下来就挨个解决这两个问题:

树的着色

这个问题其实比较简单,简单分析一下然后进行测试就能发现问题,同材质的物体标记Static会被进行静态合批,合批之后就会变成一个mesh,然后使用同一个材质同一个shader进行着色渲染,我这里树的颜色差异化是根据位置来计算的,合成一个Mesh后这个计算就会没有差异。

而且如果树都用光照贴图进行光照渲染的话,这片树林需要的贴图数量也会是一个很大的量,这个内存和资源的消耗也要比直接使用实时光照的开销要大的多,所以取消使用Lightmap对树本身进行光照计算。

所以树的Static需要选择为Contribute GI,只有在烘焙Lightmap的时候才是静态的物体,然后树不能使用Lightmap的光照,还是需要实时的光照进行渲染,所以树物体的Receive Global Illumination需要选择为Light Probes。

影子

影子的问题就比较难搞了,调整Lightmap

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值