Unity User Manual (2017.3) / Graphics / Graphics Overview / Lighting / Lighting Window

本文详细介绍Unity中的光照窗口功能,包括Global Illumination设置、环境光、反射、雾效及光晕等,帮助读者掌握如何通过调整光照窗口的各项属性来优化场景显示效果。

原文链接:Lighting Window

光照窗口

光照窗口(菜单:Window->Lighting->Settings)是设置Global Illumination最重要的地方。unity中默认的GI设置就能提供不错的显示效果,但是光照窗口中的属性能让你调整GI处理过程,定制你的场景或者根据需要优化显示质量、速度以及存储空间。这个窗口还包含环境光、光晕、cookies纹理以及雾等效果的设置。

Overview

光照窗口包含3个标签:
- Scene标签对整个场景而不是单个GameObjects进行设置。这些设置控制光照效果和优化选项
- Global maps标签显示GI光照处理时生成的所有lightmap asset文件
- Object maps标签显示当前选中GameObject的预览GI光照纹理(including shadow masks)
这个窗口的下方有一个Auto Generate勾选框。选中这个勾选框时,每次编辑场景后Unity会自动更新lightmap数据。更新过程通常需要花费几秒钟,而不是立刻完成。如果取消这个勾选框,你需要通过Generate Lighting按钮手动触发lightmap更新。Generate Lighting会清除场景中的baked数据,但是不会清除GI Cache

场景标签

场景标签包含下列设置:
- Environment
- Realtime Lighting
- Mixed Lighting
- Lightmapping Settings
- Other Settings
- Debug Settings

环境(Environment)

环境光设置包括天空盒,散射光和反射。
这里写图片描述

  • 天空盒材质:天空盒显示在场景中所有物体的后面,用来模仿天空或者远距离背景。这个属性用来选择场景的天空盒材质。默认值是Standard Assets中的Default-Skybox材质
  • 太阳光源:使用天空盒后,可以使用这个属性指定一个有directional light组件的GameObject,用来表示太阳的方向(或者是其他照明场景的远距离大光源)。默认值为None,此时场景中亮度最高的directional light会被当作太阳光源
  • 环境光:这些设置控制远距离环境光
    • Source:环境散射光不来源于具体的光源,遍布场景所有地方。这个属性用来定义source的颜色,默认值是Skybox.
      • Color:这个选项为场景中所有的环境光指定唯一的颜色。
      • Gradient:这个选项可以用来为天空散射光的horizon and ground指定不同的颜色,并且在两者之间进行平滑过渡。
      • Skybox: 这个选项使用天空盒的颜色(如果在天空盒材质中指定了)来决定不同角度的环境散射光。效果比Gradient更准确。
    • Intensity Multiplier:设置场景中环境光的亮度,范围是0-8,默认值是1。
    • Ambient Mode:设置场景中环境散射光使用的GI模式。只有同时启用real-time lightingbaked lighting时才可设置。
      • Realtime:场景中的环境光会实时计算更新。
      • Baked:将环境光预处理后写入场景。
  • 环境反射:控制与Reflection Probe相关的全局设置,以及影响全局反射的设置。
    • Source:用来选择反射效果的来源,可以使用天空盒或者自定义的cube map。默认值是Skybox
      • Skybox:使用天空盒作为反射的源。选择Skybox后,会出现Resolution选项,可以用来设置天空盒反射效果的分辨率。
      • Custom:使用立方体地图作为反射的源。选择Custom后,会出现Cubemap选项,用来自定义天空盒的立方体地图,以生成反射效果。
    • Compression:是否压缩反射纹理,默认值是Auto
      • Auto:压缩格式合适时压缩反射纹理。
      • Uncompressed:不压缩反射纹理。
      • Compressed:压缩反射纹理。
    • Intensity Multiplier:反射源(在Reflection Source中指定的skybox或cube map)对反射物的可见程度(亮度?)
    • Bounces:当一个物体的反射光被另外一个物体反射时称为bounce。反射光会被场景中的Reflection Probes捕获。这个属性用来设置Reflection Probe收集反射光时,反射光的最大反射次数。设置为1时,Unity将只考虑初始反射光(在Reflection Source中指定的Skyox或者cube map)。

Realtime Lighting

alt text
- Realtime Global Illumination: 选中这个选项时,Unity会实时计算更新光照。详细信息请参见文档Realtime Global Illumination

Mixed Lighting

alt text

  • Baked Global Illumination: 选中这个选项时,Unity会precompute光照并且在运行时写到场景中。详细信息请参见文档Baked Global Illumination
  • Lighting Mode: 这个选项决定Mixed Light和阴影作用到场景中GameObjects的方式。修改Lighting Mode后,需要re-bake场景,设置了Auto Generate时会自动开始,否则需要通过Generate Lighting手动触发。
  • Realtime Shadow Color:定义实时渲染的阴影的颜色。当Lighting Mode设置为Subtractive时可用。

Lightmapping Settings

alt text

  • Lightmapper:指定计算场景中lightmap时使用哪个内部光照计算软件,选项有EnlightenProgressive(试验)。默认值时Enlighten。更多关于试验功能Progressive Lightmapper的信息请参见文档Progressive Lightmapper
  • Indirect Resolution:用来指定计算间接光时每个unit的纹理点数量。增大这个值能提高间接光的显示效果,同时也会增加bake时间。默认值时2。
  • Lightmap Resolution:用来指定计算lightmap时每个unit的纹理点数量。增大这个值能提高lightmap的质量,同时也会增加bake时间。默认值时40。
  • Lightmap Padding:用来指定baked lightmap中独立形状之间的间隔(纹理点单位)。默认值时2。
  • Lightmap Size:将所有独立的对象纹理合并到整个lightmap纹理的像素数量。默认值时1024。
  • Compress Lightmaps:压缩的lightmap占用较小的存储空间,但是会将错误的视觉效果引入到纹理中。默认这个值时选中的。
  • Ambient Occlusion:选中时,会出现用来控制ambient occlusion表面相对亮度的设置集。较大的值表示遮挡部分与完全光照区域的对比度更高。这个设置只对GI系统计算的间接光有效。默认时启用的。
    • Max Distance:控制射线的距离以判断一个对象是否被遮挡。较大的值会产生更长的射线,从而在lightmap中生成更多阴影,反之则生成的阴影较少。0表示射线距离无限长。默认值是1。
    • Indirect Contribution:用来调节最终形成的lightmap中间接光的亮度(也就是环境光,物体对象反射或发出的光)。范围从0到10,默认值是1。
    • Direct Contribution:用来调节直接光的亮度。范围从0到10,默认值是0。值越大直接光的对比度越高。
  • Final Gather:启用时,GI生成的反射光会用baked lightmap一样的分辨率进行计算。这样能提高lightmap的显示效果,但是会增加bake时间。
  • Directional Mode:设置lightmap存储物体表面上每个店的主要入射光。详细信息请参见文档Directional Lightmapping。默认模式是Directional
    • Directional:Directional模式下,会生成另外一个lightmap,用来存储入射光的主方向,这能让漫反射法线贴图材质和GI一起工作。Directional模式需要两倍的存储空间来存储增加的lightmap数据。Directional lightmaps 在SM2.0硬件和GLES2.0上不能解码,将退回到Non-Directional lightmaps。
    • Non-directinoal:关闭Directional lightmap。
  • Indirect Intensity:控制realtime和baked lightmaps中间接光的亮度,范围从0到5,默认值是1。大于1时将增加反射光的亮度,反之降低反射光的亮度。
  • Albedo Boost:通过增加场景中材质的反射率控制光线的反射,范围从1到10。默认值是1,即符合自然物理规律,不人为增加反射率。
  • Lightmap Parameters:处理Lighting window的属性外,Unity还使用了一些列的通用参数用来生成lightmap。有少数几个默认值可以从下拉菜单选择,也可以创建自己的lightmap parameter。详细信息请参见Lightmap Paramters。默认值是Default-Medium
  • Other Settings
    alt text

  • Other Settings:与雾,光晕,镜头光晕和Cookies纹理相关的设置。

  • Fog:启用或禁用场景中的雾效果。使用Deferred rendering path时雾效果不可用,Post-processing fog effect也许能满足要求。
    • Color:设置场景雾效果的颜色。
    • Mode:定义随着于相机距离增加雾效果加强的方式。
      • Linear:雾效果浓度随着距离线性增加。
        • Start:雾效果的开始距离。
        • End:雾效果完全遮挡场景的距离。
      • Exponential:雾效果浓度随距离指数增加。
        • Density:雾效果的浓度。
      • Expoential Squared:雾效果随距离指数平方增加。
        • Density:雾效果的浓度。
  • Halo Texture:设置lights周围Halo的纹理。
  • Halo Strength:定义lights周围光晕的可见性,范围从0到1。
  • Flare Fade Speed:设置lens flares出现后从视角中消失的时间(秒数)。默认值时3秒。
  • Flare Strength:定义镜头光晕,范围从0到1。
  • Spot Cookie:设置spot lightsCookie纹理。

Debug settings

alt text

  • Debug Settings:与场景调试相关的设置。
  • Update Statistics:选中后,光照设置窗口下的统计窗口会随着场景变化更新。这回影响Play模式下的性能,取消这个功能可以提高Play模式下的性能。
  • Light Probe Visualization:用来过滤场景视图中Light Probes的显示。默认值时**Only Probes Used By Selection。
    • Only Probes Used By Selection:只有影响当前选中物体的光探测器才会显示。
    • All Probes No Cells:场景中所有光探测器都会显示。
    • All Probes With Cells:场景中所有光探测器和用来进行光探测器插值的四面体都会显示。
    • None:不显示光探测器。
  • Display Weights:启用时,Unity会用线将选中物体使用的光探测器与插值用的四面体连起来。这个方法可以用来调试探测器插值和探测器位置问题。
  • Display Occlusion:启用时,如果Mixed lighting模式时Shadowmask,Unity会显示光探测器的遮挡数据。
    场景标签的下方时Statistics窗口,列出了场景中Lights信息。Lights按类型划分,包括Meshed,发光材质,光探测器和反射探测器。
    alt text

注意还有一个可停靠的Light Explorer窗口,可以用来查看更多的Lights信息。

Global maps tab

Global maps tab用来查看光照系统使用的实际纹理。包括亮度光照图,阴影遮掩和主方向图。只有使用Baked lightingMixed lighting时可用,使用Realtime lighting这个预览时空白的。
alt text

Object maps tab

Object maps tab用来预览当前选中GameObject的baked纹理和阴影遮掩。
alt text

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值