Unity - Mixed Lighting混合光照使用记录

Unity - Mixed Lighting混合光照


Unity的Mixed Lighting混合光照是提供一种介于全烘培光照和全实时光照的一种折中方案,即某些物体的光照采用烘培另一些物体的光照采用实时计算。混合光照在最新版本中提供了三种模式:Baked Indirect、Shadowmask、Subtractive。

Mixed Lighting开启方法

这里写图片描述
这里写图片描述
开启Baked Global Illumination,灯光选Mixed模式,静态物体勾选Static。注意同时开启Realtime GI和Baked GI后我们可以选择Ambient Mode,即环境光的模式,Realtime采用实时模式运行时改变灯光的属性即可看到效果,Baked把环境光也烘培起来,运行时改变灯光无效。
这里写图片描述

Lightmapper

渐进光照贴图(Progressive Lightmapper),最新的烘培方式,能很快看到改进后的烘培效果,很大的改善了光照烘焙的工作流程。
这里写图片描述

Lightmapping重要参数

这里写图片描述

  • Direct Samples 直接光照采样 影响质量、速度
  • Indirect Samples 间接光照采样 影响质量、速度
  • Indirect Resolution 间接光照分辨率 影响质量、速度
  • Lightmap Resolution Lightmap分辨率 影响质量、速度、大小
  • Lightmap Size Lightmap尺寸 影响质量、速度、大小
  • Filtering 影响烘培阴影边缘

Mixed Lighting三种光照模式

这里写图片描述

  • Baked Indirect

    只烘培间接光照,直接光以及阴影进行实时计算。运行时改变灯光,直接光照和阴影就会变,但间接光不变(如果间接光弱,视觉影响不大)。只减少间接光照的实时计算,适合对光照要求较高的场景,内存消耗小,当然性能的消耗也大。
    这里写图片描述
    这里写图片描述


  • Shadowmask

    在上一部的基础上,对静态物体直接光照产生的阴影也会被烘培到ShadowMask中,动态物体不受影响。运行时改变灯光只有间接光照和静态物体的阴影不受影响。内存中多了一份Shadowmask,比上一部少了静态物体阴影的计算,占用性能小了一点。注意开启Shadowmask需要在QualitySettings设置Shadowmask Mode为Shadowmask
    这里写图片描述
    这里写图片描述


  • Subtractive

    静态物体:直接光和间接光都烘焙到光照贴图中;动态物体:接收直接光,可以在静态物体上投射主方向光的阴影。运行时改变光照,静态物体直接光、间接光、阴影不受影响,动态物体的直接光、主灯光(平行光)投射的阴影受影响、其他灯光无阴影。性能消耗最小,应用广。
    这里写图片描述
    这里写图片描述