光照窗口(Window->Lighting->Settings)是Unity的全局光照特点的主要控制点。尽管unity中的GI在默认设置下已经有了比较好的效果,窗口的属性允许你调整GI过程的不同方面来定制你的场景或者你想要的优化质量、速度、内存空间。窗口也包含光照相关的在5.0以前版本中设置在Render Setting下面属性。包括环境光、光晕、cookie和雾。
总述
光照窗口分为3个签页:
scene签页的设置会应用到整个场景,而不是单个物体。这些设置控制了光照效果和优化的选项。
Global Map签页显示了由Gi光照过程生成的所有lightMap资源文件集。
Object Map前夜显示了当前所选物体的GI光照贴图(包含shadow mask)的预览。
不管哪个签页被选择,一个Auto的复选框在最底下。如果勾选上了,那么当你编辑场景的时候lightmap的数据会实时更新(你要知道更新不会立即完成而是会花费几秒钟时间)。更新一般花费几秒钟而不是立即发生。如果Auto没有被勾选,那么Build按钮会激活。在需要的时候用这个按钮触发lightmap的更新。Build按钮也有一个下拉菜单,可以选择是否清除scene中的烘焙数据(不清除Gi缓存)。
Scene
scene签页包含了应用于整个场景而不是单个物体的设置。Scene签页包含几部分:Environment,Realtime Lighting,Mixed Lighting,Lightmapping Settings,other settings,Debug Settings。
Environment
skybox Material:天空盒的材质球:场景中出现在其他物体后面的用来模拟天空或者其他远处背景的材质球。这个属性用来选择场景中的天空球材质。
sun Source:当用了天空盒,可以用sun来指定一个包含指定“太阳”的方向光组件的物体。如果设为none,则场景中最亮的方向光就会被假设代表sun;
Environment Lighting:这些设置影响了从远处环境中传来的光。Source:Diffuse环境光(也叫ambient光)是在整个scene中显示的光,而不来自于某个指定的物体。环境光的光源有3种选择。Color类型表示仅仅使用一个颜色光代表环境光。Gradient类型可以使你分别选择sky的环境光、horizon的环境光、地表的环境光,并且在他们之间缓慢地混合。Skybox:用skybox的颜色决定不同角度环境光,比简单的渐变光提供更加准确的效果。
Intensity Multiplier:用来指定场景中diffuse环境光的亮度。值在0到8之间,默认是1.
Ambient Mode:指定了场景控制环境光的GI模式。这个选项只有在场景中实时光照和烘焙光照都开启的时候才可用。
Realtime:如果你想让场景中的环境光实时计算和更新就选realtime;
Baked:如果你想让环境光预计算,在运行时设置到场景中,就选择Baked;
Environment Reflection:这些控制控制包含涉及反射探针烘焙的全局设置和影响全局反射的设置。
Source:让你指定是用skybox来表现反射效果还是用cubemap表示。默认是skybox。如果选择skybox,那么会有个额外选项选择设置用来反射的skybox的分辨率。如果选择cubemap,则出现Cubemap选项来选择用来反射的天空盒的cubemap。
compression:用来定义反射贴图是否压缩,默认是auto。Auto:如果压缩格式合适,反射贴图格式是压缩的。uncompressed:反射贴图不压缩存在内存中,Compressed:贴图是压缩的。
Intensity Multiplier:反射源可以在反射的物体上被看到的程度。
Bounce:反射”反弹“发生表示从一个物体发生的反射被另一个物体反射。场景中的反射通过“Reflection Probes”的使用被捕获。这个属性可以用来设置探针检测到的物体间反射的次数。如果设为1,那么只有第一次反射(从上面设置的反射源如skybox或cubemap)被考虑。
Realtime Lighting
Realtime Global Illumination:如果复选框勾选上,unity实时计算更新光照。
Mixed Lighting
Baked GLobal Illumination:如果这个复选框被勾选上,unity预计算光照,在运行的时候设置到场景中。
Lighting Mode:决定了混合光照的模式和场景中物体的阴影的模式。注意:如果你改变了lighting 模式,你需要重新烘焙场景。如果光照窗口中的自动生成是开启的,会自动烘焙,否则需要点击按钮进行烘焙。
Realtime Shadow Color:定义用来渲染实时阴影的颜色。只有light mode设置为Subtractive的时候这个选项才有用
Lightmapping Settings
Lightmapper:这个属性用来指定用哪个内部光照计算软件来计算场景中的光照贴图,选项是Enlighten和Progressive,前者是默认选项。
Indirect Resolution:用来指定每个单元上间接光照计算所用的纹素个数。增大这个值会改善间接光照的视觉品质,但增大了烘焙lightmap的时间。
Lightmap Resolution:指定每个单元上用在光照贴图上的纹素数。增大这个值会提高lightmap质量,增长烘焙时间,默认值是40.
Lightmap Padding:烘焙光照贴图中分开的形状之间的距离。默认值是2。
Lightmap Size:整个lightmap贴图的大小,集成了单个对象贴图的分开的区域,默认值是1024.
Compress Lightmaps:压缩lightmap需要更少的存储空间,但压缩处理会给贴图带来影响,默认勾选。
Ambient Occlusion:当勾选上时,开启了许多 允许你控制环境遮挡的表面相对亮度的设置。值越大表面遮挡区域和全照明的区域之间的对比更大。这仅仅对用GI计算的间接光照有影响,默认是开启的。
最大距离:用来控制检测一个物体是否被遮挡所用的射线投射的距离。值越大射线越长,light map中阴影更多。值越小,射线越短,只有物体之间距离较近的时候才会有阴影。值为0,会投射一个无限长的射线,没有最大距离。默认值为1.
间接强度:控制最终lightmap中间接光照的明暗度,范围是0到10,默认为1,小于1减小强度,大于1增强。
直接强度:0-10控制直接光强度,默认是0,值越大,应用到直接光上的对比越强。
Final Gather:
CPU Usage:设置运行时用来计算实时GI所花费的Cpu时间的大概值。高的cpu利用率会带来对光的更快的反应,但可能会影响帧率。这不影响编辑器中进行的对CPU利用率的预计算过程。更高的cpu利用率通过增加给GI的线程数目达到。
Baked Resolution:设置被烘焙GI所照亮的物体单位长度的纹理像素数量。一般比Realtime Solution大10倍。
Baked Padding:在烘焙lightmap中分开的形状之间的距离。
Compressed:压缩会节省存储空间,但可能会失真。
Indirect Resolution:(只有在预计算实时GI关闭的情况下有用)间接光照计算的分辨力。相当于使用预计算实时GI时的Realtime Resolution。
Ambient Occlusion:环境光闭塞的情况下,物体表面的相对亮度。值越大表明闭塞的地方和全部照射的地方对比越明显。只对被GI系统计算的实时分辨率来说可用。
Final Gather:当Final Gather选项被勾选上,GI计算中最后的光的反射将会和烘焙的lightmap一样的分辨率进行计算。这会提高lightmap的视觉品质,但会在编辑器中花费额外的烘焙时间。
Directional Mode:lightmap可被用来存储对象表面的任意一个点的主导的入光信息。在Directional模式下,第二张lightmap会被生成,用来存储占主导地位的入射光线的方向。这允许法线映射漫反射材质和GI合作。Directional Specular模式,更多的数据用来存储全阴影和高光反射和法线映射。None-directional 模式将这两种选择关掉。Directional模式要求两倍的存储空间来存储另外一张lightmap数据。Directional Specular要求4倍的存储空间和两倍的贴图内存。
Indirect Intensity:该值用来scale在最终的lightmap中间接光照的亮度。设置为1,则用默认的倍数,小于1降低强度,大于1增强亮度。
Bounce Boost:一个scale值,增加从表面到其他表面的光的数量。默认值为1,表示没有增加。
Default Parameters:Unity用了一些其他的参数来表示lightmap,除了light窗口中的。一些默认的通过这个属性的菜单就可以使用,但你也可以创建自己的light参数文件,用create new选项。
Atlas Size:合并了每一个单独的对象贴图的整个lightmap贴图的像素大小。
Fog Color:用来在场景中绘制雾的颜色。
Fog Mode:雾根据与相机的距离进行积累的方式。有Linear,Exponential和Exponential Squared3中(这些是递增的顺序雾随着距离的积累)
Start:雾开始的地方与相机的距离。
End:雾完全掩盖了场景对象时与相机的距离。
Halo Texture:用来在光周围绘制Halo的贴图。
Halo Strength:光周围光晕的可见度。
Flare Fade Speed:镜头要办从最开始出现到最后淡出视图所经过的时间。
Spot Cookie:聚光灯所用的Cookie贴图。
Scene签页
object签页可以让你选择物品的集合,将设置应用到它们身上。
签页最上面是一系列场景过滤按钮,可以让你将hierarchy面板物体限制为某种指定类型的物品,比如光照,Render或者地形,选择All和默认情况下是一样的。
如果你选择了其他按钮,左侧会只显示该类型的对象。
这个过滤不会影响当前所选的物体,所以你可以选择地形对象,尽管hierarchy里只显示了过滤后的light对象。
filter按钮的关联性在于这三种对象类型的每一种都有自己的属性集合。
Lights
一个light对象的object签页内容和它自己的 inspector内容一致。这些属性里影响Gi的是Baking和BOunce Intensity属性。
Baking允许你 选择这个光是否被烘焙如果Baked GI被选择的话。Mixed也会烘焙,但这个光也会实时的在游戏运行时用方向光照射非静态的物体。Realtime既包含预计算的实时GI,又包含不用全局光的情况。
Bounce Intensity允许你改变间接光的强度(比如,光从一个物体反射到另一个物体)。这个值是GI系统计算的多个默认的光照的集合。如果你设置该值大于1,那么反射光会更强,如果小于1,会更淡。这个很重要,比如当影子中一个暗的表明需要被渲染地更亮,以使细节更明显。或者,如果你想要总体上使用预计算实时GI,淡想要留一个光只有方向光,你可以设置它的Bounce Intensity为0.
Renderers
Renderer是有以下属性:
Lightmap Static:这个告诉Unity,物体的位置是固定的,该物体会参与到GI。如果一个物体没有被标记为Lightmap Static,那么他仍会被Light Probes点亮。
Scale in Lightmap:这个值会影响lightmap贴图中用于这个物体的像素数量。默认值1,用于该物体的lightmap像素数仅仅取决于它的表面面积(比如,所有物体单位面积的像素数目一致)。大于1的值增加了这个物体所用的像素数,而小于1减少了。你可以用这个属性来优化lightmap,使重要和细节多的地方更精确地光照。比如,一个单独的平坦神色的强有一个小的lightmap scale会看起来更好,而一系列五颜六色的离的很近的摩托车可能需要大的lightmap scale值。
Preserve UVs:Unity可以重新计算用于实时lightmap贴图的uv坐标以提高它的存储和性能特性。重新计算可能会对原来的不连续的uv映射错误判断。比如,一个故意尖锐的边缘可能会被误认为是连续的表面,使原来应有的缝隙消失。如果Preserve UVs开启,那么物体的映射uv会被翻译为lightmap以保持故意留下的缝隙。如果Preserve UV关掉,那么Unity会计算实时lightmap UV基于烘焙uv。
Important GI:这个属性告诉Unity,该物体反射或发出的光显著地影响其他物体。这个可以保证该物体发出的轻微的光不会被优化掉。
Terrains:
属性是renderers的属性的子集。
Lightmap Static
scale in lightmap
Advanced Parameters
Build按钮会启动光照烘焙过程。右面的下拉列表有清楚烘焙数据,和清楚GICache不一样。
Lightmap签页
使设置和放置lightmap资源文件更简单。
Scene
scene签页包含了应用于整个场景的设置。预计算实时GI和Backed GI,可以被enable或disable通过他们后面的复选框。
skybox:设置场景中天空盒的集。
sun:当用了天空盒,可以用sun来指定一个方向光物体。如果设为none,则场景中最亮的方向光就会被假设代表sun;
Ambient SOurce:方向光是整个场景中显示的光,而不来自于某个指定的物体。环境光的光源有3种选择。Color类型表示仅仅使用一个颜色光代表环境光。Gradient类型可以使你分别选择sky的环境光、horizon的环境光、地表的环境光,并且在他们之间缓慢地混合。Skybox:用skybox的颜色决定不同角度环境光,比简单的渐变光提供更加准确的效果。
Ambient Intensity:场景中环境光的强度。
Ambient GI:指定了被用于控制环境光的GI模式(预计算的实时光或烘焙)。这个选项只有在两种光都可以用在环境中的时候有用。
Reflect Source:让你指定是用skybox来表现反射效果还是用立方体贴图表示。如果选择skybox,那么会有个额外选项选择设置用来反射的skybox的分辨率。
Reflection intensity:反射光可以在反射的物体上被看到的程度。
Reflection Bounce:反射发生表示从一个物体发生的反射被另一个物体反射。场景中的反射通过“Reflection Probes”的使用被捕获。这个属性可以用来设置探针检测到的物体间反射的次数。如果设为1,那么只有第一次反射(从上面设置的反射源如skybox或cubemap)被考虑。
Realtime Solution:用来设置被实时GI点亮的物体的单位长度所用的贴图纹素的数量。每个单元像素为1同城代表一个好的值(取决于场景中对象的数量)。但是对于地表和大的物体,通常想将像素值降低。可以用lightmap Resolution和Mesh Render的Scale in lightmap属性来降低分辨率。需要注意,需要设置Indirect resolution如果实时和烘焙Gi都可用的时候。
CPU Usage:设置运行时用来计算实时GI所花费的Cpu时间的大概值。高的cpu利用率会带来对光的更快的反应,但可能会影响帧率。这不影响编辑器中进行的对CPU利用率的预计算过程。更高的cpu利用率通过增加给GI的线程数目达到。
Baked Resolution:设置被烘焙GI所照亮的物体单位长度的纹理像素数量。一般比Realtime Solution大10倍。
Baked Padding:在烘焙lightmap中分开的形状之间的距离。
Compressed:压缩会节省存储空间,但可能会失真。
Indirect Resolution:(只有在预计算实时GI关闭的情况下有用)间接光照计算的分辨力。相当于使用预计算实时GI时的Realtime Resolution。
Ambient Occlusion:环境光闭塞的情况下,物体表面的相对亮度。值越大表明闭塞的地方和全部照射的地方对比越明显。只对被GI系统计算的实时分辨率来说可用。
Final Gather:当Final Gather选项被勾选上,GI计算中最后的光的反射将会和烘焙的lightmap一样的分辨率进行计算。这会提高lightmap的视觉品质,但会在编辑器中花费额外的烘焙时间。
Directional Mode:lightmap可被用来存储对象表面的任意一个点的主导的入光信息。在Directional模式下,第二张lightmap会被生成,用来存储占主导地位的入射光线的方向。这允许法线映射漫反射材质和GI合作。Directional Specular模式,更多的数据用来存储全阴影和高光反射和法线映射。None-directional 模式将这两种选择关掉。Directional模式要求两倍的存储空间来存储另外一张lightmap数据。Directional Specular要求4倍的存储空间和两倍的贴图内存。
Indirect Intensity:该值用来scale在最终的lightmap中间接光照的亮度。设置为1,则用默认的倍数,小于1降低强度,大于1增强亮度。
Bounce Boost:一个scale值,增加从表面到其他表面的光的数量。默认值为1,表示没有增加。
Default Parameters:Unity用了一些其他的参数来表示lightmap,除了light窗口中的。一些默认的通过这个属性的菜单就可以使用,但你也可以创建自己的light参数文件,用create new选项。
Atlas Size:合并了每一个单独的对象贴图的整个lightmap贴图的像素大小。
Fog Color:用来在场景中绘制雾的颜色。
Fog Mode:雾根据与相机的距离进行积累的方式。有Linear,Exponential和Exponential Squared3中(这些是递增的顺序雾随着距离的积累)
Start:雾开始的地方与相机的距离。
End:雾完全掩盖了场景对象时与相机的距离。
Halo Texture:用来在光周围绘制Halo的贴图。
Halo Strength:光周围光晕的可见度。
Flare Fade Speed:镜头要办从最开始出现到最后淡出视图所经过的时间。
Spot Cookie:聚光灯所用的Cookie贴图。