unity光照窗口

2017年04月26日 16:32 1 点赞 0 评论 更新于 2025-11-21 21:25

光照窗口(Window -> Lighting)是Unity全局光照特性的主要控制点。尽管Unity中的全局光照(GI)在默认设置下已经能呈现出较好的效果,但该窗口的属性允许你根据不同形式的GI过程,定制所需的场景,或者对指令、速度和内存空间进行优化。此外,该窗口还包含了在Unity 5.0以前版本中设置在Render Setting下的与光照相关的属性,如环境光、光晕、cookie和雾。

总述

光照窗口分为3个标签页:

  • Object标签页:允许你选择场景中物体的子集。这对于确定哪些物体需要参与GI计算,以及将设置同步到一组物体上非常有用。
  • Scene标签页:包含可应用于整个场景的设置,而非针对单个物体。这些设置控制着光照效果和优化选项。
  • Lightmap标签页:可以显示由GI过程生成的Lightmap资源文件集。

无论选择哪个标签页,窗口底部都有一个Auto复选框。若勾选该复选框,当你编辑场景时,Lightmap数据会实时更新(需注意,更新并非立即完成,而是需要花费几秒钟时间)。若未勾选Auto,则Build按钮将被激活,你可以在需要时使用该按钮触发Lightmap的更新。Build按钮还有一个下拉菜单,可选择是否清除场景中的烘焙数据(不清除GI缓存)。

Auto复选框下方是一个显示Lightmap数据的面板。

Object标签页

Object标签页可让你选择一组物体,并将设置应用到这些物体上。

标签页顶部有一系列场景过滤按钮,可将Hierarchy面板中的物体限制为指定类型,如光照、渲染器(Renderer)或地形。选择All与默认情况相同。若选择其他按钮,左侧将仅显示该类型的对象。

需要注意的是,这种过滤不会影响当前所选的物体。例如,即使Hierarchy面板中仅显示过滤后的光照对象,你仍可以选择地形对象。

过滤按钮的关联性在于,这三种对象类型各自拥有不同的属性集合。

Lights

光照对象在Object标签页中的内容与其在Inspector面板中的内容一致。其中,影响GI的属性是BakingBounce 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 UVs,Unity会基于烘焙UV计算实时Lightmap UV。
  • Important GI:该属性告知Unity,该物体反射或发出的光会显著影响其他物体。这可以确保该物体发出的微弱光线不会被优化掉。

Terrains

地形的属性是渲染器属性的子集,包括:

  • Lightmap Static
  • Scale in Lightmap
  • Advanced Parameters

Scene标签页

Scene标签页包含应用于整个场景的设置。预计算实时GI和烘焙GI(Backed GI)可通过其后的复选框启用或禁用。

场景相关设置

  • Skybox:用于设置场景中的天空盒。
  • Sun:当使用天空盒时,可以使用Sun指定一个方向光物体。若设置为None,则场景中最亮的方向光将被视为代表太阳。
  • Ambient Source:环境光并非来自某个特定物体,而是整个场景中显示的光。环境光的光源有三种选择:
  • Color:仅使用一种颜色光代表环境光。
  • Gradient:允许你分别选择天空、地平线和地表的环境光颜色,并在它们之间实现平滑过渡。
  • Skybox:使用天空盒的颜色来确定不同角度的环境光,比简单的渐变光提供更准确的效果。
  • Ambient Intensity:设置场景中环境光的强度。
  • Ambient GI:指定用于控制环境光的GI模式(预计算的实时光或烘焙)。该选项仅在环境中同时可用这两种光时才有效。
  • Reflect Source:允许你指定是使用天空盒还是立方体贴图来表现反射效果。若选择天空盒,还可以额外选择设置用于反射的天空盒的分辨率。
  • Reflection intensity:设置反射光在反射物体上的可见程度。
  • Reflection Bounce:反射表示从一个物体发生的反射被另一个物体再次反射。场景中的反射通过“Reflection Probes”捕获。该属性可用于设置探针检测到的物体间反射的次数。若设置为1,则仅考虑第一次反射(从上面设置的反射源,如天空盒或立方体贴图)。

分辨率和性能设置

  • Realtime Solution:用于设置被实时GI点亮的物体单位长度所用的贴图纹素数量。通常,每个单元像素为1是一个不错的值(具体取决于场景中对象的数量)。但对于地形和大型物体,通常希望降低像素值。可以使用Lightmap ResolutionMesh RenderScale in Lightmap属性来降低分辨率。需要注意的是,若实时和烘焙GI都可用,需要设置Indirect resolution
  • 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模式需要四倍的存储空间和两倍的贴图内存。
  • Indirect Intensity:用于缩放最终Lightmap中间接光照的亮度。设置为1时使用默认倍数,小于1会降低强度,大于1会增强亮度。
  • Bounce Boost:一个缩放值,用于增加从一个表面反射到其他表面的光的数量。默认值为1,表示不增加。

其他设置

  • Default Parameters:Unity使用一些其他参数来表示Lightmap,除了光照窗口中显示的参数外,一些默认参数可以通过该属性的菜单使用,你也可以使用Create new选项创建自己的Light参数文件。
  • Atlas Size:设置合并了每个单独对象贴图的整个Lightmap贴图的像素大小。
  • Fog Color:用于设置场景中雾的颜色。
  • Fog Mode:设置雾根据与相机的距离进行积累的方式,有LinearExponentialExponential Squared三种模式(雾随着距离的积累程度依次递增)。
  • Start:设置雾开始出现时与相机的距离。
  • End:设置雾完全掩盖场景对象时与相机的距离。
  • Halo Texture:用于设置在光周围绘制光晕的贴图。
  • Halo Strength:设置光周围光晕的可见度。
  • Flare Fade Speed:设置镜头光晕从开始出现到最终淡出视图所经过的时间。
  • Spot Cookie:设置聚光灯所用的Cookie贴图。

点击Build按钮将启动光照烘焙过程。右侧的下拉列表可选择清除烘焙数据,这与清除GI缓存不同。

Lightmap标签页

该标签页的作用是使Lightmap资源文件的设置和放置更加简便。

作者信息

孟子菇凉

孟子菇凉

共发布了 3994 篇文章