Skip to main content

什么是光照贴图?

就像如同一个模型可能包含基本反射/颜色贴图和一个法线贴图等等贴图一样,光照贴图同样是一个作用于模型表面的纹理贴图。使用 Bakery 或其他的工具,我们能够使用比实际场景中支持的更高质量更高来预先计算明,然后将其保存到贴图中

这意味着你的使用光照贴图的模型需要 单独一组 UV 以储存光照贴图。这些 UV 可以通过在模型文件中启用 "Generate Lightmap UVs(生成光贴图 UV UV)"功能在 Unity 中自动生成,也可以在建模工具中手动创建第二个 UV 通道。Blender 可以获取现有的 UV 并重新拆包作为光照贴图 UV,使得这个过程更加简单。

Unity 为光照贴图提供了三个选项,提 Bakery 使用。它们是:

    间接烘焙(Baked
  • Indirect) 
  • 间接烘焙(Baked Indirect) 将非直接的光照烘焙入光照贴图中,允许你选择是将主光源包括在内 还 单独添加在顶部。这意味着你可以在场景中使用烘焙的光照贴图,同时仍包含带有动态阴影的实时日光或月光等光源。这样做的性能开销相当高,因为主光源仍需要为每个物体渲染实时阴影,但视觉效果也是最好的。

  • 阴影遮罩(Shadowmasks)

    阴影遮罩(Shadowmasks) 将烘焙包含环境光(ambient light)的光照贴图,然后还会烘焙包含方向光阴影(directional light shadow)的光照贴图。这允许光源使用获得部分实时光源的优点,例如适当的镜面高光(specular highlights),同时避开场景烘焙部分的实时阴影的性能开销。然后,阴影遮罩(Shadowmasks)可以与动态阴影(realtime shadows)相结合,看起来漂亮而逼真。或者,您也可以使用遮蔽探针(Occlusion Probes)将光源设置为完全烘焙,在这种情况下,Unity 还会在每个光线探针中烘焙一个值,指定其是否被主方向光照射,从而使其看起来基本相同,但没有玩家阴影。

  • 削减式(Subtractive)

    削减式(Subtractive) 模式将烘焙包含场景中所有光源的光照贴图,但如玩家之类的动态对象将仍然投射阴影。这些阴影将在与阴影颜色关联的光照贴图上裁切。这样做十分优化很好,但是有些许难看。