【Unity】13.2 通过Lighting Window设置相关参数
分类:Unity、C#、VS2015
创建日期:2016-05-19
一、简介
Unity 5.3.4的Lighting Window有3个选项卡:Object、Scene、Lightmaps。
二、Object(对象选项卡)
利用该选项卡,可以在场景中选择对象的子集并更改其设置,即选择哪些对象应该参与 GI 计算。这些选项设置将会始终应用于你选择的对象组。
1、All
选项卡的顶部是一组场景筛选按钮,即在层次视图中显示哪些类型 ︰ 灯光,渲染,地形。选择【All】将显示所有类型。如果选择其他按钮,则层次视图中将仅显示这些对象类型。
注意,该筛选器并不影响当前选中的对象,它只是有选择地仅显示筛选的对象。
2、Lights
注意该图的下方默认勾选了“Auto”,表示Unity自动对其进行预处理,大部分情况下,你不需要更改它就能得到非常好的效果。
对于光对象,影响 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) 的数量。高采样值将消除半影中的噪点,但会增加渲染次数。
3、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 可能会明显地影响其他对象。这可确保对未优化的对象采用合适的照明效果。
4、Terrains
(1)Lightmap Static
告诉Unity这些对象的位置是固定不变的所以它应该参与 GI。如果对象未标记为静态贴图(Static),还可以继续使用采光点(Light Probes)来照明。
(2)Scale in Lightmap
见Renders下的该属性功能描述。
(3)Advanced Parameters
地形设置默认参数是非常低的分辨率内置组。如果你希望修改它,可修改该组下的参数。
三、Scene(场景选项卡)
场景选项卡应用于场景整体而不是单个对象的设置。这些设置可控制照明效果和优化选项。
注意该图的下方默认勾选了“Auto”,表示Unity自动对其进行预处理,大部分情况下,你不需要更改它就能得到非常好的效果。但是,如果你仍然希望自己手动更改更多的参数,需要先不勾选“Auto”。
1、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增加线程来实现的,对于多内核处理器来说,这种性能损失相对来说要小得多。
2、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 计算中的反射光线分辨率用于烘焙贴图,即两者使用相同的分辨率。这提高了贴图的视觉质量,但代价是增加了在编辑器中的烘培贴图时间。
3、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
以像素为单位的全光照贴图纹理。即:将单个对象的纹理合并后所占用的区域大小。
4、Fog
(1)Fog Color
在场景中绘制的雾的颜色。注意雾在递延渲染路径(Deferred rendering path)下不可用。
(2)Fog Mode
摄像机与雾化的距离。按照雾化升序排列,选项包括:线性(Linear)、指数(Exponential)和指数平方(Exponential Squared)。
(3)Start
(仅可用于线性雾化模式)相机到雾开始处的距离。
(4)End
(仅可用于线性雾化模式)相机到雾完全掩盖场景物体的距离。
四、Lightmaps(光照贴图选项卡)
显示 GI 过程所生成的光照贴图资产文件。
注意该图的下方默认勾选了“Auto”,表示Unity自动对其进行预处理。但是,如果你希望自己手动更改更多的参数,需要先不勾选“Auto”。
单击贴图快照框中的文件名,项目视图将显示对应的资源文件。单击快照框右下角的【Select】,将出现对象选择窗口,通过它可选择不同的光照贴图。
如果重命名当前贴图资源的文件夹,则光照贴图快照将设置为None,下次生成贴图时会创建新的文件。这样就可以使用多个贴图文件,利用这个特点,就可以测试不同GI设置和比较不同的参数集。
贴图快照框中的图像显示预览的贴图,这些贴图仅用于被烘培的光(Baked lights)。对于实时光(Realtime lights)来说,预览将显示为空白。