Unity学习-光源组件Light

517 阅读5分钟

一.引言

游戏场景中除了Camera和视野有关外,还有光源,对光源组件不同的配置,就能看见不一样的效果,下面将对光源组件进行详解

二.光源组件细节整理

光源参数说明1.png 光源参数说明2.png 总览效果如上图所示,下面根据重要程度分别细说

  1. 导入本文会用到的资源
    点击工具栏的Window->Asset Store->搜索Standard Assets image.png
    随后点击在Unity中打开,Unity中会弹出资源列表,下载本次的Standard Assets即可,然后导入Effects目录下的两个Light资源目录,后续会用到
  2. 光源类型(Type)
    不同的光源类型光照效果不同,比如光照范围,轮廓
    • Point:点光源,实际效果像一个灯泡
      点光源有一个可调节的属性Range,用于控制光照范围,如下图
      PointLight_.gif
    • Spot:聚光灯,效果类似于一个手电筒的发射状
      1. Range:控制光照范围
      2. Spot Angle:控制光束开口大小 SpotLight_.gif
    • Area:面光源,比较特殊的是它是烘焙状态下有用
      这里解释一下烘焙状态,通常情况下,比如聚光灯,都是实时渲染,就是说移动光源,照射的物体会改变,会重新渲染,比较耗性能,但效果好,如果场景中光源数量很多,并且都是实时渲染,有可能会造成卡顿。而烘焙状态就是一开始就计算好渲染状态,将它"临摹"到一张图片上,然后将这张图片贴到场景中去,那么场景中的物体改变,不会重新进行渲染,从而达到节约性能的目的
    • Directional:方向光,简单理解就是太阳光,自然状态,平行光源
  3. Mode:光源模式
    • Realtime:实时光源,每帧实时计算,效果好,性能消耗大
    • Baked:烘焙光源,事先计算好,无法动态变化(后面会着重介绍)
    • Mixed:混合光源,预算计算+实时运算 下面主要展示光的颜色(Color)和光源的亮度(Intensity)的改变 LightModify_.gif
  4. Shadow Type:阴影模式
    • NoShadows:关闭阴影
    • HardShadows:生硬阴影
    • SoftShadows:柔和阴影 性能消耗依次递增,效果如下图: Shadows_.gif
  5. Cookie:投影遮罩,或者说是灯光贴图,投射出一种图案
    可以进行拖拽生效,也可以进行选择 LightCookie_.gif
  6. 光晕(Draw Halo)以及耀斑(Flare)效果
    主要针对点光源吧,光晕效果直接勾选即可。耀斑需要搭配一个耀斑资源,前面已经导入过,将其拖入关联即可,此外,耀斑效果要在Game窗口中可见,还需给摄像机加上一个Flare Layer耀斑脚本 LightFlare_ (1).gif
  7. Culling Mask:剔除遮罩层,决定哪些层(Layer)的对象受到该光源的影响,下面通过动图来展示效果,听上去有点抽象
    CullingMask_.gif
  8. Indirect Multiplier:调节间接光的强度(反射光线)
    • 小于1,每次反射会使光线变暗
    • 大于1,每次反射会使光变亮 一般不用调节,默认1即可
  9. 关于RealtimeShadows:实时阴影效果,这里就不罗列具体调节项了,其中Resolution可以使用Project Settings中的配置,下图中会展示关联,其余看上面的思维导图即可,一般都不会调节 RealtimeShadows_.gif 另外关于Cookie Size只有Direction Light才有,太阳光源一般都不会使用贴图,不然场景会很奇怪,所以这个Size的调节也基本不会使用,Render Mode也只做一个了解,看上面的思维导图即可,知道它有什么内容就行

三.光源面板参数的调节

光面板说明1.png 光面板说明2.png 现阶段可能会用到的参数如上图所示,按照如下路径打开光源面板参数
Windows->Rendering->Lighting image.png

  1. 环境Environment相关设置
    • Skybox Material(天空盒材质):可以改变天空的样式,所谓天空盒其实就是一个6面体,只要给一个6面体指定每一个面的图片样式即可,可以通过新建Material来改变
    • Sun Source(太阳光来源):如果场景中有多个光源,那么你可以指定一个光源作为太阳光,不指定就会默认使用创建场景时自带的Light
    • Environment Lighting(环境光):决定环境光和场景中的物体叠加后显示的颜色,通常使用天空盒,不用自己去指定Gradinent,天空、地平线颜色等。环境光强度搭配烘焙模式使用
  2. Other Settings
    • Fog(雾的开光)
      存在雾的颜色以及雾的强度算法两个配置,颜色通常都是灰色的,而雾的强度有三种模式,具体的通过下面的动图来展示效果 Fog_.gif
      开雾很消耗性能,手游一般不会开雾
    • 和Halo有关的两个设置,用于配置光环的形状以及强度
    • 和Flare有关的两个配置,一是用于决定耀斑淡出的时间,而是可见性的设置
    • Spot Cookie用于设置所有探照灯的投影模样,和设置贴图一个道理

四.总结

关于光源组件的配置细节特别多,主要掌握Inspector窗口中的配置详情即可,面板参数暂做了解,目前还剩一个烘焙模式,后面会做介绍