unity5 全局光照怎么使用

   更新日期:2024.05.11
Unity5在图形仿真和光照特效方面做了重大改变。自从3.0版本开始,Unity的光照效果一直局限于烘焙好的光照贴图。但后续的时间里,我们在全局光照领域有了很大的提升与改进,现在,是时候将其中部分美好的特性从Unity的沙盒中开放出来了。其中之一的新图形特性就是基于新的和极大改善的光照流程基础上的全局实时光照。这也是本文的重点。

什么是全局光照?

GI算法是基于光传输的物理特性的一种模拟。他是一种模拟光在3D场景中各表面之间的传输的有效方式,他会极大的改善你游戏的仿真度。不仅如此,他还可以传达一种意境,如果巧妙的使用,可以有效得改善你的游戏体验。GI算法不仅考虑光源的直射光,而且还考虑场景中其他材质表面的反射光。传统上,在游戏中,由于实时性的约束,间接光照的模拟因性能消耗过大而被弃置一旁。

这些都是源于下面这个浅显的方程:

这个很简单。从某一观察点看到的光是从场景中物体表面点入射的光(Le)与从观察点上方的半球入射的光的叠加。Li描述的是从半球上某一角度w’ 入射的光。反射项p描述的是光线如何反射到观察点,这项的取值依赖于入射角w’和观察者的角度w。

细心的读者可能已经发现L(x,w)在方程的两边,而且有一个还在在积分式中。如果不是这种情形,我们也许已经计算出全局光照的结果。由于物理规律是不太可能去修改的,研究协会提出了一套解决方案。

其中最流行(最古老的)的是光线跟踪算法。这个算法从根本上改善了GI算法,在算法最困难的部分使用了一些比较耗时的技巧。光线跟踪在电影或者电视的CGI上使用了很多。尽管该领域涌现了大量的研究成果,但是一张图像的渲染还是要花费数秒的时间(哪怕使用非常先进的GPU)。
光线跟踪通常使用的是屏幕空间,所以,一张图像每一帧都需要重新渲染。这意味着,他完全支持完全动态的场景:灯光、材料、几何形状自由变换的动画。这也是一个缺点,因为每当摄像机移动的时候,一张新的图片需要被渲染,而这张新图像的收敛融合需要花费数秒钟的时间。这也导致他无法适用于游戏场景。

一张没有完全收敛融合的图像会有很多噪点,而且他是时间不相干的,所以,图像在完全收敛融合之前会有严重的闪烁。可以使用滤波来降低这种影响,但是不能彻底消除。下面是一些在不同收敛融合程度的图像。

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网