鄭州unity3d培訓 詳解Unity中的全局光照
來源:
奇酷教育 發表于:
鄭州unity3d培訓 詳解Unity中的全局光照。Unity5在圖形仿真和光照特效方面做了重大改變。自從3 0版本開始,Unity的光照效果一直局限于
鄭州unity3d培訓 詳解Unity中的全局光照。Unity5在圖形仿真和光照特效方面做了重大改變。自從3.0版本開始,Unity的光照效果一直局限于烘焙好的光照貼圖。但后續的時間里,我們在全局光照領域有了很大的提升與改進,現在,是時候將其中部分美好的特性從Unity的沙盒中開放出來了。其中之一的新圖形特性就是基于新的和極大改善的光照流程基礎上的全局實時光照。這也是
奇酷介紹本文的重點。
什么是全局光照?
GI算法是基于光傳輸的物理特性的一種模擬。他是一種模擬光在3D場景中各表面之間的傳輸的有效方式,他會極大的改善你游戲的仿真度。不僅如此,他還可以傳達一種意境,如果巧妙的使用,可以有效得改善你的游戲體驗。GI算法不僅考慮光源的直射光,而且還考慮場景中其他材質表面的反射光。傳統上,在游戲中,由于實時性的約束,間接光照的模擬因性能消耗過大而被棄置一旁。
這些都是源于下面這個淺顯的方程:

這個很簡單。從某一觀察點看到的光是從場景中物體表面點入射的光(Le)與從觀察點上方的半球入射的光的疊加。Li描述的是從半球上某一角度w’ 入射的光。反射項p描述的是光線如何反射到觀察點,這項的取值依賴于入射角w’和觀察者的角度w。
細心的讀者可能已經發現L(x,w)在方程的兩邊,而且有一個還在在積分式中。如果不是這種情形,我們也許已經計算出全局光照的結果。由于物理規律是不太可能去修改的,研究協會提出了一套解決方案。
其中最流行(最古老的)的是光線跟蹤算法。這個算法從根本上改善了GI算法,在算法最困難的部分使用了一些比較耗時的技巧。光線跟蹤在電影或者電視的CGI上使用了很多。盡管該領域涌現了大量的研究成果,但是一張圖像的渲染還是要花費數秒的時間(哪怕使用非常先進的GPU)。
光線跟蹤通常使用的是屏幕空間,所以,一張圖像每一幀都需要重新渲染。這意味著,他完全支持完全動態的場景:燈光、材料、幾何形狀自由變換的動畫。這也是一個缺點,因為每當攝像機移動的時候,一張新的圖片需要被渲染,而這張新圖像的收斂融合需要花費數秒鐘的時間。這也導致他無法適用于游戲場景。
一張沒有完全收斂融合的圖像會有很多噪點,而且他是時間不相干的,所以,圖像在完全收斂融合之前會有嚴重的閃爍。可以使用濾波來降低這種影響,但是不能徹底消除。下面是一些在不同收斂融合程度的圖像。
Path traced images at various stages of convergence.
最近,有了很多新的圖像混合的算法,其中大部分都在GPU中運行,例如體椎追蹤。這些算法中的大部分需要在具有一定內存大小的臺式GPU上運行,他們只適合于高端PC系統。為了讓全局光照在更多的平臺(包括手機)下運行,這里做出了一些妥協。
以上就是奇酷教育
鄭州unity培訓老師為大家講解的“
Unity中的全局光照”希望大家能學會。