EnLighten

EnLighten是unity5后引用的一套实时全局光照解决方案。
  在我们VR设计中都是使用PBR技术理论制作出的PBR贴图,但是仅仅使用PBR贴图是无法达到我们VR中理想的效果的,所以我们还得借助一个良好的光照环境作为辅助。EnLighten在图形渲染和仿真方面,不在局限于烘焙好的,而是通过GI去为游戏实时渲染提供一套很好的解决方案,通过较少的性能消耗使场景变得更加的真实丰富,为我们提供了全系列的光照流程。
  EnLighten用于模拟实时的间接光照,可以运用到一些需要实时更新的功能上。运用好EnLighten我们就可以获得更加真实的光照环境,甚至实现昼夜更替的效果。

  • 只有直接光照的情况:我们可以看到其他物体都被阴影所覆盖
EnLighten_第1张图片
Paste_Image.png
  • 只有间接光照的情况:间接光照相较于直接光照,是在直接光照的基础上,光到达物体上经过多次反射后达到的样本效果。
EnLighten_第2张图片
Paste_Image.png
  • 直接光照,间接光照加上物体表面色的情况:场景变得十分的真实
EnLighten_第3张图片
Paste_Image.png

现在我们来模拟一个非常简单的实时光照环境。

  • 我们构建一个如下场景,并把里面的物体都选择为lightingmap static。
EnLighten_第4张图片
Paste_Image.png
  • 我们可以看见黄色的墙上有着绿色球的漫反射。
EnLighten_第5张图片
Paste_Image.png
  • 如果不够明显我们可以在Game视图下选择Irradiance(间接光照视图)来进行观察。
EnLighten_第6张图片
Paste_Image.png

EnLighten光照系统中有着两个十分重要的Probe(探头)。我们的动态物体是不给他们设置光照信息的,当他们进入一个光照环境时会显得和这个环境十分的不协调,这时就需要使用到探头。探头的作用是为一些没有设置为静态的物体,当这些非静态物体进入光照区域时,为他们赋予一个符合周围环境的光照。

  • Light Probe:当动态物体进入光照环境时,可以使用光照探头去采集周边的光照信息,为进入这个区域的动态物体提供一个真实的光照信息。
  • Reflection Probe:反射探头,通过采集周围的反射信息作用到在这个区域中模型对应的材质上让它们表现出反射信息。

在官方给出的例子中有使用了全局实时光照结合PBR贴图的例子,Viking Village,在场景有有着许多的反射探头,我们只需更改全局光的强度和颜色就可以模拟阴天,晴天,黄昏的不同环境效果,并且由于是PBR,基于物理的渲染效果,场景中的游戏对象也会随着环境光照的变化而产生相应的表现。

你可能感兴趣的:(EnLighten)