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