分类:Unity、C#、VS2015编辑器
建立日期:2016-05-19性能
Unity 5.3.4的Lighting Window有3个选项卡:Object、Scene、Lightmaps。测试
利用该选项卡,能够在场景中选择对象的子集并更改其设置,即选择哪些对象应该参与 GI 计算。这些选项设置将会始终应用于你选择的对象组。优化
一、All线程
选项卡的顶部是一组场景筛选按钮,即在层次视图中显示哪些类型 ︰ 灯光,渲染,地形。选择【All】将显示全部类型。若是选择其余按钮,则层次视图中将仅显示这些对象类型。翻译
注意,该筛选器并不影响当前选中的对象,它只是有选择地仅显示筛选的对象。htm
二、Lights对象
注意该图的下方默认勾选了“Auto”,表示Unity自动对其进行预处理,大部分状况下,你不须要更改它就能获得很是好的效果。blog
对于光对象,影响 GI 的主要属性是【烘培(Baking)】和【反弹强度(Bounce Intensity)】。内存
(1)颜色 (Color)
灯光颜色。实时渲染采用相同属性。
(2)烘培(Baking)
若是选择了【Baked GI】,该选项指定使用哪一种烘培方式。选项有:
Mixed:利用全局光照(GI)对静态的场景进行光照烘培,而且在运行时显示烘培结果并给非静态对象直接照明。该方式能兼容早期的版本。
Realtimes:对“实时GI”进行预处理,并且在运行时显示烘培结果并给非静态对象直接照明。该方式仅适用于Unity 5,早期的版本中没有此选项。
(3)强度 (Intensity)
直接光的强度。注意“直接光”不是“方向光”。
(4)反弹强度 (Bounce Intensity)
间接光的强度,即直接光照射到物体上反弹的光的强度,该值大于1时值越大物体反射的阴影越轻(整个场景看起来越明亮),小于1时该值越小物体反射的阴影越重,该值为0表示无阴影。
(5)其余
下面的参数仅在有些光源下才能显示出来:
【阴影半径 (Shadow Radius)】:(仅用于点光源和聚光灯)增长该值造成直接软阴影,增长该灯光投影(而非照明)的覆盖面积计算。
【阴影角度 (Shadow Angle)】:(仅用于方向灯)增长该值造成直接软阴影,增长该灯光投影(而非照明)的角度覆盖面积计算。
【阴影采样 (Shadow Samples)】:若是将阴影半径 (Shadow Radius) 或角度 (Angle) 值设为大于零的数,将相应增长阴影采样 (Shadow Samples) 的数量。高采样值将消除半影中的噪点,但会增长渲染次数。
三、Renderers
(1)Lightmap Static
控制是否对静态对象在渲染时使用光照贴图。勾选表示标记为Static的对象其位置是固定的因此它应该参与 GI。若是对象未标记为Static,还能够继续使用光探头(Light Probes)来照亮它。
网格渲染器和地形 (Mesh Renderers and Terrains) 须标为静态才能进行烘培。
(2)Scale in Lightmap
静态贴图的范围比例。该值影响贴图纹理中用于所选对象的像素数,默认值为1.0,表示用于对象的光照贴图像素数只依赖于它的表面积 (即同一像素数目每单位面积为全部对象),即:影响光照贴图分辨率(lightmap resolution),值越大分辨率越高。值大于 1.0 增长像素数;小于 1.0 时下降像素数。
最终分辨率将按比例呈现,即:光照贴图缩放 (Scale))Í(对象的世界坐标空间所占面积)Í(全局烘培设置分辨率 (Resolution) 值)。值设置为 0 表示不烘培对象(但仍会影响其余烘培对象)。
利用此属性可优化光照贴图的质量,以便更准确地照亮重要的须要详细渲染的区域。例如,在建筑物中,色彩缤纷的摩托车应该使用高比例值,而与其一块儿呈现的其余建筑物等对象应该使用低光照贴图规模(小于 1.0 的值)。
(3)Preserve UVs
是否保护 UVs。Unity能够从新计算用于实时光照贴图纹理的 UV 坐标,以提升其存储和性能。注意:从新计算流程有时可能会致使不连续的UV映射。例如,锋利的边缘可能会被误解为一个连续的表面,从而致使焊缝出如今不该该出现的地方。
若是启用了保护 UVs 而后烘焙,则对象的UVs 都将被翻译成贴图保留下来以避免对其形成影响。
若是关闭了保护 UVs ,则Unity将基于baked UVs来计算实时光照贴图,经过加入相邻的"图表"使贴图更紧凑。这种计算基于两个参数的设置:最大距离(max distance)和最大角度(max angle)。实时图表会自动挤满半像素的边框,以确保获得无尖峰呈现。
(4)Auto UV Max Distance
自动计算 UV 的最大距离。即:经过合并 UV 图表自动生成简化的 UVs。若是图表之间的世界空间距离小于此值,则只简化图表。
(5)Auto UV Max Angle
经过合并 UV 图表自动生成简化的 UVs。若是图表之间的夹角小于此值,则只合并图表,而不生成简化的 UVs。
(6)Important GI
告诉Unity光反射是否很重要。若是选中,表示物体发出的GI 可能会明显地影响其余对象。这可确保对未优化的对象采用合适的照明效果。
四、Terrains
(1)Lightmap Static
告诉Unity这些对象的位置是固定不变的因此它应该参与 GI。若是对象未标记为静态贴图(Static),还能够继续使用采光点(Light Probes)来照明。
(2)Scale in Lightmap
见Renders下的该属性功能描述。
(3)Advanced Parameters
地形设置默认参数是很是低的分辨率内置组。若是你但愿修改它,可修改该组下的参数。
场景选项卡应用于场景总体而不是单个对象的设置。这些设置可控制照明效果和优化选项。
注意该图的下方默认勾选了“Auto”,表示Unity自动对其进行预处理,大部分状况下,你不须要更改它就能获得很是好的效果。可是,若是你仍然但愿本身手动更改更多的参数,须要先不勾选“Auto”。
一、Environment Lighting(与环境相关的光照贴图参数)
(1)Skybox
若是是室内,此项应为None,此时场景的总体效果还须要靠其余灯光来照亮。若是是室外,可经过此项选择使用哪一个天空盒。
(2)Sun
当使用天空盒时,能够经过该属性指定“太阳”光的方向(或大小、光源的距离等)。若是该属性设置为None,表示用场景中最亮的定向光表明太阳。
(3)Ambient Source
环境光是指全部周围的场景并非来自任何特定的光源对象。环境光的光源有三个选项。
颜色(Color):全部的光线在场景中使用的颜色。
梯度(Gradient):从天空、地平线和地面分别选择环境光的颜色,而后对其进行渐变融合。
天空盒(Skybox):使用天空盒的颜色来肯定来自不一样角度的环境光的光线,这种方式比简单的简便融合效果更好。
(4)Ambient Intensity
场景中光线的亮度。
(5)Ambient GI
是否容许指定应用于处理光线的 GI 模式 (Precomputed Realtime或Baked)。除非为场景启用了这两种模式之一,不然此属性不起做用。
(6)Reflection Source
是否使用天空盒的反射效果。默认为“是”。“否”表示用另一个立方体贴图来替代。若是选择了用天空盒做为源,则还会提供一个附加的选项,用于设置天空盒的反射。
(7)Reflection Intensity
反射源(天空盒或立方体贴图)的反射强度在对象中是否可见。
(8)Reflection Bounces
一个对象被另外一个对象“反弹”光发生的反射,该属性是经过对场景中捕获的反射探头(Reflection Probes)来计算的。此属性表示经过设置的采光点(probes)来计算对象之间来回反弹的次数。若是该属性值为1,则只将其初始化为从天空盒或立方体贴图反射源属性中指定的值。
(9)Realtime Resolution(实时分辨率)
实时分辨率。该属性设置用于被“realtime GI”点亮的每单位纹理的像素数(即"纹理像素")。该属性值一般设置为1 比较好,表示根据场景中物体的大小来决定分辨率。但对于地形和巨大对象来讲,一般要缩小该值。能够在光照贴图(Lightmap)属性中使用贴图参数(Lightmap Parameters)或网格渲染规模(Mesh Renderer’s Scale)来下降分辨率。
注意,若是已启用了Realtime和Baked GI,此属性也将设置间接光的分辨率。
(10)CPU Usage(CPU占用率)
设置是否应在运行时评估Realtime GI占用CPU的时间。CPU使用率太高虽然会提升光照贴图的反应效率,但可能影响帧率等其余渲染性能。
在编辑器中执行的预计算过程并不会影响运行时的CPU使用率。
注意,提供CPU利用率的办法是经过为GI增长线程来实现的,对于多内核处理器来讲,这种性能损失相对来讲要小得多。
二、Baked GI(烘培GI)
(1)Baked Resolution(烘培分辨率)
被烘培对象每单位长度占用的纹理像素数,(即"纹理像素")。通常将其设置为比实时分辨率(Realtime Resolution)高十倍左右。
(2)Baked Padding
烘焙贴图中被分离的形状之间的间隔大小。
(3)Compressed
是否对应烘焙的贴图纹理进行压缩。压缩的贴图须要的存储空间更少,但压缩过程可能引入不但愿出现的多余的纹理痕迹。
(4)Indirect Resolution
间接光的分辨率(仅在禁用了Precomputed Realtime GI的状况下该属性才可用)。
计算间接照明时使用的分辨率。该值等价于使用Precomputed Realtime GI时使用的实时分辨率(Realtime Resolution)。
(5)Ambient Occlusion
环境遮挡表面的相对亮度(例如局部遮挡的光线,室内角落里的光线等)。值越高表示的闭塞和彻底点亮区域的对比度越高。该属性仅适用于GI系统中间接光的计算。
(6)Final Gather
是否启用最后收集选项。启用时,最后把GI 计算中的反射光线分辨率用于烘焙贴图,即二者使用相同的分辨率。这提升了贴图的视觉质量,但代价是增长了在编辑器中的烘培贴图时间。
三、General GI
(1)Directional Mode(定向模式)
在光照贴图中存储对象表面的入射光信息。即存储占主导地位的每一个点的入射光信息。在定向模式中(Directional mode),生成的第二个贴图用来存储传入的主导方向光。这会致使用于GI的材质的法线贴图弥漫(diffuse)在场景中。在定向镜面反射模式中(Directional Specular mode),容许存储更多数据来归入镜面反射和法线贴图全遮光产生的阴影(full shading)。
非定向模式(Non-directional mode)关闭了这两个选项。与非定向模式相比,定向模式须要多一倍的存储空间来附加贴图数据;定向镜面反射模式须要四倍的存储空间来保存关照贴图占用的纹理内存。
进一步的详细信息,请参见定向烘焙。
(2)Indirect Intensity(间接光的亮度)
最后生成的光照贴图间接光的亮度。将此设置为 1.0 使用默认亮度。小于 1.0 下降照亮的强度,大于 1.0 增长亮度。
(3)Bounce Boost
从表面到其余表面上的光要增长的反弹量的缩放值。默认值是 1.0,表示没有增长。
(4)Default Parameters
在Unity 5的Lighting窗口的属性中,除了光照贴图外,其余均使用一组通用的参数。此属性菜单已经给出了一些默认值。此外,你还能够经过建立本身的光照贴图参数文件来建立新的选项。更多详细信息请参阅光照贴图参数页。
(5)Atlas Size
以像素为单位的全光照贴图纹理。即:将单个对象的纹理合并后所占用的区域大小。
四、Fog
(1)Fog Color
在场景中绘制的雾的颜色。注意雾在递延渲染路径(Deferred rendering path)下不可用。
(2)Fog Mode
摄像机与雾化的距离。按照雾化升序排列,选项包括:线性(Linear)、指数(Exponential)和指数平方(Exponential Squared)。
(3)Start
(仅可用于线性雾化模式)相机到雾开始处的距离。
(4)End
(仅可用于线性雾化模式)相机到雾彻底掩盖场景物体的距离。
显示 GI 过程所生成的光照贴图资产文件。
注意该图的下方默认勾选了“Auto”,表示Unity自动对其进行预处理。可是,若是你但愿本身手动更改更多的参数,须要先不勾选“Auto”。
单击贴图快照框中的文件名,项目视图将显示对应的资源文件。单击快照框右下角的【Select】,将出现对象选择窗口,经过它可选择不一样的光照贴图。
若是重命名当前贴图资源的文件夹,则光照贴图快照将设置为None,下次生成贴图时会建立新的文件。这样就可使用多个贴图文件,利用这个特色,就能够测试不一样GI设置和比较不一样的参数集。
贴图快照框中的图像显示预览的贴图,这些贴图仅用于被烘培的光(Baked lights)。对于实时光(Realtime lights)来讲,预览将显示为空白。