_2_在效果和性能间进行权衡

Posted heyuchang666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了_2_在效果和性能间进行权衡相关的知识,希望对你有一定的参考价值。

第8章 基于光照贴图的烘焙照明
    Lightmap即光照贴图,是游戏中应用很广泛的、便宜而且很出效果的一种模拟光照的方法。这种光照贴图需要提前渲染,因此可以应用在静态效果图中,是应用很广泛的全局照明技术。但是,这种方法一般只适用于静态物体。当然,Unity做了很多工作,可以让我们混合使用静态的光照贴图和动态的实时光源,无缝地照亮场景中静态或动态的物体。

    光照贴图不只可以在Unity中被创建,事实上,我们可以使用任何可渲染软件来创建,但这里只提及使用已经整合到Unity中的Beast。

Resolution 分辨率: 每世界单位中光照图分辨率的大小。因此当设置分辨率为50的一个10单位乘以10单位的平面将产生一张500*500像素的光照贴图。
Scale In Lightmap 光照图比率: (只作用于可渲染网格)特别大的数值将分配给可渲染网格更大的分辨率。最终分辨率比例(光照图缩放)*(物体世界坐标空间所占面积)*全局分辨率烘培设置)如果设置为0物体将不被烘培。(但是它依旧对其他的物体有影响)

Quality 质量: 高质量(比较好的效果)和低质量(计算速度快)的预设值。它们将影响最终聚集光线数量和对比度的数值以及其他有关最终聚集和抗锯齿的设置。

8.2在效果和性能间进行权衡
8.2.1影响全局的Resolution i选项

       首先打开Lab 2文件夹下的场景,这里有1个烘焙过的场景,打开Lighting(5.0以后版本是Lighting,以前的版本是:Lightmapping)面板,然后 选择Scene,当然,可以考虑降低光照贴图的质量,怎么降低呢?Bake面板下的Quality(质量)以及Bounces选项只会影响烘焙的时间,并不会影响最终烘焙出的贴图大小。

下图为烘培后的场景:


下图为Lighting控制面板(版本5.0以上的):

       


    在影响Altas大小的地方,我们首先可以考虑Scene(Bake)面板最下而的Resolusion选项这是一个影响全局的选项,当前的Resolusion为50时,


生成4张光照贴图


降低一半到25,然后烘焙一下看看。


在这里,烘焙之后的光照贴图变为两张,压缩格式下只有21.3MB图为所示。




8.2.2影响单个物体的Scale In Lightmap选项
    除了Resolusion这个影响全局的选项之外,我们还可以有选择性地 让某个被烘焙的物体对应的贴图部分变小,比如说我们觉得地而不重 要,想让它的光照贴图部分变小。这个选项在Lighting的Object 子面板上。我们将所有对象的Scale In Lightmap数值设为0.25 即只为原来的四分之一大小,如下图所示,Resolusion改回50,然后 我们再烘焙看看。



    结果在我们牺牲光照图比率的情况下,烘焙结果为1张光照贴图,压缩格式下大小为10.7MB,比较 刚开始时的4张,少了三张贴图。

以上是关于_2_在效果和性能间进行权衡的主要内容,如果未能解决你的问题,请参考以下文章

读Java性能权威指南(第2版)笔记13_堆内存下

性能测试学习第十一天_Analysis

iOS_2_button控制物体形变

ShaderLab学习小结通过Shader变换物体形状

物体出身效果

小白_Unity引擎_Light光照探针技术