tutorial_lighting - seraph526/godot-se GitHub Wiki

灯光 (Lighting)

介绍

灯光物体发射光线与材质混合,产生最终的可视效果。场景中的灯光有几种来源:

  • 来自材质本身,以emission颜色的形式(虽然它在不烘焙的情况下不会影响周围的物体)。
  • 灯光节点:平行光,泛光灯和聚光灯
  • 场景(Environment)中的环境光.
  • 烘焙灯光(查看Baked Light教程)

emission颜色是材质的一个属性,如前面材质教程中看到的(如果你还不了解,请先阅读)

## 灯光节点 (Light Nodes)

如前面中提到的,有三种类型的灯光节点:平行光,环境光和聚光灯。每种都有不同的用途,下面将逐一说明,但是,首先让我们看下常用的灯光参数:

平行光 (Directional Light)

这是最常用的用来代替太阳光效果的灯类型,这也是最节省资源的灯光类型,当允许的情况下,要使用此类型(虽然它不是最节省shadow-map计算消耗的灯,但是不久会是的)。灯光节点在场景中显示为一个大箭头,箭头方向表示灯光方向,但是,节点的位置不会影响灯光效果,它可以在场景中的任意位置。

泛光源 (Omni Light)

泛光源是一个发光点,有一个用户可以设置的发光半径(距离)。此光源强度随着距离变弱,当到达边缘时,强度为0。它用来代表灯或其他的点光源。

聚光灯 (Spot Light)

聚光灯和泛光灯很像,除了灯光角度(或"cutoff").它可以用来模拟手电筒,车灯等等。这种灯在其灯光相反的方向上也有衰减。

环境灯 (Ambient Light)

环境灯可以在世界环境的属性中找到(记住,每个场景只能初始化一个这种类型的灯),环境灯组成一个统一的灯和能量。这种灯对渲染场景上每个单独的象素的影响都一样,除了使用了烘焙效果的物体。

烘焙灯 (Baked Light)

烘焙灯用来表示预处理的环境灯。它可以用于多种不同的目的,如烘焙不实时发光的灯光,烘焙反射实时的灯光,以便让场景变得更真实 (查看 Baked Light 教程获取更多信息).