Unity5灯光烘焙与Unity4 灯光烘焙在实际应用中的差别
翘首以盼的Unity5终于正式发布了,我第一时间将当前项目升级到Unity5.0。在升级过程中遇到了不少问题,我想这些问题很可能也是大家将会遇到的,所以分享出来供大家参考,不足之处还请大家补充。
一、Unity4烘焙面板常用参数
1. Quality(烘焙质量)
烘焙质量一般选择高,以获得较好的烘焙效果。
2. Bounces(反弹)
这个值通常选1。如果选2,烘焙时间会增长约50%,因此设置该值时需谨慎。
3. Sky Light Intensity(天空光强度)
一般不会将其设置得太高。
4. Bounce Boost(反弹增强)
该参数会在同一单位面积内增大光的反射数量。相对而言,增大这个值会直接影响渲染时间。
5. Bounce Intensity(增强光的反射强度)
其作用是增强光的反射强度。
6. Contrast Threshold(对比度)
这个参数只是偶尔会进行调整。
下面是我烘焙大场景时所使用的参数,基本在效果和时间上达到了合理的平衡点。
二、Unity5.X与4.X的区别
首先,光照烘焙技术不同。Unity4.X版本采用的是Autodesk的Beast技术,而Unity5.X版本采用的是PowerVR Ray Tracing和Enlighten技术,所以Lighting Window面板里的参数差别很大。整体的参数介绍可在官网网址查看:http://docs.unity3d.com/Manual/GlobalIllumination.html,这里我只介绍常用的参数。
(一)Object面板
1. Lightmap Static
必须将需要烘焙的物体设置为静态。
2. Scale in Lightmap
该数值的大小与物体的表面积有关,它会影响烘焙时间,值越大,烘焙时间越长,同时也会影响光影图的数量。例如,当Scale In Lightmap设置成0.1时和改成1时,会呈现出不同的效果。
3. Preserve UVs
如果物体没有在3dmax里展好UV,那么这里必须勾选。
(二)Scene面板
1. Skybox
会直接影响环境光。
2. Ambient Source(环境源)
这里选择skybox。
3. Ambient Intensity(环境光强度值)
即环境光的亮度值。
4. Reflection Source(反射源)
这是Unity4.X里没有的参数。烘焙后会在场景文件的同名文件夹中多出一个名为LightmapSnapshot的文件。
5. Realtime Resolution(实时分辨率)
该参数表示这个物体所产生的GI对其它物体的影响程度,值越大,影响越大。例如,将Realtime Resolution参数设成比原默认值小10倍即0.2,调成1后,墙上绿玻璃颜色能更多地影响地面;改成0.4后,绿色墙所产生的环境光影响范围变小。
6. Baked Resolution(烘焙分辨率)
如果数值是10,那么表示每个单位里分布10个纹理元素。实际测试中,将Baked Resolution的参数值调成10后,阴影的边变实;调成1后,阴影的边变得很虚。
7. Indirect Intensity(间接强度)
这个参数和Unity4.x里的参数有些类似,可以简单理解为光的反射强度。
8. Bounce Boost(反弹强度)
同一单位面积内增大光的反射数量,增大这个值会直接影响渲染时间。
9. Default Parameters(默认参数)
这里还可以自己创建参数。一般在预烘焙时选择最低设置。
10. Atlas Size(烘焙图的大小)
在以前的4.X版本中只能通过脚本来调整,现在则更加方便。
(三)灯光参数
需要注意的是,Baking选项里要设置成Baked,否则烘焙不起作用。剩下的两个参数,基本和Unity4.X的参数功能相同。
最后提醒一下,“Scale In Lightmap、Realtime Resolution、Baked Resolution、Atlas Size”这几个参数一定要注意,它们会影响烘焙速度和光影图数量。我当初就因为场景太大,参数没调小,烘了一晚上都没有结果。总体来讲,要想提高烘焙速度,从Scale In Lightmap、Realtime Resolution、Baked Resolution这三个参数入手基本就可以了。
其实升级到Unity5后,我们遇到了很多问题,很多以前的脚本、插件都不好用,需要我们一步步去解决。