Skip to main content

什么是光照贴图?

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

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

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

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

 

  • 阴影遮罩(Shadowmasks) 将烘焙包含环境光的光照贴图,然后烘焙包含方向光阴影的光照贴图。这允许光源使用部分实时光源的优点,例如适当的镜面高光,同时避开场景烘焙部分的实时阴影的性能开销。然后,阴影遮罩可以与动态阴影相结合,看起来漂亮而逼真。或者,您也可以使用遮蔽探针将光源设置为完全烘焙,在这种情况下,Unity 还会在每个光线探针中烘焙一个值,指定其是否被主方向光照射,从而使其看起来基本相同,但没有玩家阴影。
  • 削减式(Subtractive) 模式将烘焙包含场景中所有光源的光照贴图,但如玩家之类的动态对象将仍然投射阴影。这些阴影将在与阴影颜色关联的光照贴图上裁切。这样做十分优化,但是有些许难看。