Unity优化丨光照烘焙

提示:选中右侧目录,可快速找到所需内容

正在更新中,等我找个更好的场景,来展示不同设置渲染出来的都是什么样子。。。

本系列博客链接:传送门

 

本节博客讲解内容:

  • 烘焙的优点
  • 讲解烘焙物体变黑的原因
  • 讲解如何烘焙
  • 推荐的烘焙参数与效果

 

 

一、烘焙的优点

减少Setpass Calls(CPU发给GPU改变渲染状态的指令),因此也同时减少了GPU渲染次数,优化了程序运行速度、耗电量等。

实时计算由于要保证渲染速度,不能计算很多的光照信息,但烘焙可以预先进行更加真实的光照反射等信息计算,因此拥有比实时渲染更丰富的光照细节,烘焙后也更加真实。

 

 

二、烘焙为何变黑

现象如下:

Unity优化丨光照烘焙_第1张图片

 

问题原因:

未打开变黑fbx模型的GenerateLightmapUVs

Unity优化丨光照烘焙_第2张图片

 

解决后:

同时我们也能看到,SetpassCalls 从30 降到 17。

Unity优化丨光照烘焙_第3张图片

 

 

 三、烘焙方法

a、把被光照到的物体勾选上Lightmap Static

b、把所有光源的Mode设置为Baked

c、window ——> Lighting ——> Settings:

取消Auto Genenrate,点击Generate Lighting。

d、现在可关闭所有光源,场景内光照不变。

问题:以上a-d设置,实现了基本的烘焙效果。但是你可能会发现一个问题,就是:拿起场景中的一个物体,移动时它没有影子了,它的影子很诡异的停在原地。

那么我们怎么解决呢?

  1. 这个物体不要设置Lightmap Static
  2. 场景灯光设为Mix
  3. 烘焙,不关闭光源。Enjoy。

原理:Bake光照只烘焙Lightmap Static的对象。Mix光照既有烘焙功能,并且还有实时光的效果,该实时光的效果只对不是Lightmap Static的物体有效果。

 

 

四、推荐的烘焙参数与效果

1、效果1

unity版本:2018.4.11c

  • Lightmapper调整为Progressive CPUProgressive GPU(加速渲染速度)。
  • Lightmap Resolution修正为4
  • Lightmapp Size修正为512
  • Compress Lightmaps容易出问题,取消勾选
  • Auto Generate 取消勾选

Unity优化丨光照烘焙_第4张图片

Unity优化丨光照烘焙_第5张图片

 

2、LWRP效果

unity版本:2018.4.11c

参考官方LWRP场景

Unity优化丨光照烘焙_第6张图片    Unity优化丨光照烘焙_第7张图片

效果:(左为未烘焙,右为烘焙后) 

Unity优化丨光照烘焙_第8张图片

 

3、HDRP效果

参考官方HDRP的场景

Unity优化丨光照烘焙_第9张图片  Unity优化丨光照烘焙_第10张图片

 Unity优化丨光照烘焙_第11张图片

 

4、3D Extra效果

参考自官方3D Extra场景

Unity优化丨光照烘焙_第12张图片  Unity优化丨光照烘焙_第13张图片

 

你可能感兴趣的:(#,性能优化)