相關主題
Unity 的光照系統(tǒng)與它的許多其他效果和系統(tǒng)之間會彼此影響。
質量設置 (Quality settings)
Quality settings?窗口包含的很多設置都會影響光照和陰影。
播放器設置 (Player settings)
Unity Player settings?窗口允許您選擇渲染路徑和顏色空間。
攝像機檢視面板 (Camera Inspector)
Camera Inspector?允許您根據攝像機來覆蓋有關渲染路徑的 Unity 播放器設置。還可以在此處激活 HDR。
渲染路徑
Unity 支持許多渲染技術,也稱為“路徑”。在啟動項目時需要做出的一個重要的早期決定就是使用哪條路徑。Unity 的默認路徑是“前向渲染”。
在前向渲染中,對于每個對象,都會根據每個影響該對象的光源以“pass”的形式渲染該對象。因此,根據范圍內的光源數量,每個對象可能會被渲染多次。
這種方法的優(yōu)點是它可以非???,這意味著硬件要求低于其他方法。此外,前向渲染為我們提供了廣泛的自定義“著色模型”,可以快速處理透明度。這種方案還允許使用諸如“多重采樣抗鋸齒”(MSAA) 之類的硬件技術,這些技術在其他替代方案(例如延遲渲染,這種方案會對圖像質量產生很大影響)中是沒有的。
然而,前向路徑的一個顯著缺點是我們必須為每個光源付出渲染成本。也就是說,影響每個對象的光源越多,渲染性能將越慢。對于某些具有大量光源的游戲類型,這可能導致成本過高。但是,如果能夠管理游戲中的光源數量,則前向渲染實際上可成為一種非常快速的解決方案。
另一方面,在“延遲”渲染中,我們將光源信息的著色和混合推遲到第一個 pass 之后在屏幕進行,此情況下每個表面的位置、法線和材質作為一系列的屏幕空間紋理渲染到“幾何緩沖區(qū)”(G 緩沖區(qū))。然后,我們將這些結果與光照 pass 合并在一起。這一方法的主要優(yōu)點在于,光照的渲染成本與光源照亮的像素數量(而不是光源自身的數量)成正比。因此,您不再受到需要在屏幕上渲染的光源數量的限制,對于某些游戲而言,這是一個關鍵優(yōu)勢。
延遲渲染提供了高度可預測的性能特征,但通常需要更強大的硬件。此外,某些移動端硬件不支持延遲渲染。
有關延遲渲染路徑、前向渲染路徑和其他可用渲染路徑的更多信息,請參閱主文檔頁面。
高動態(tài)范圍
高動態(tài)范圍渲染可讓您模擬比傳統(tǒng)方法廣泛得多的顏色。反過來,這通常意味著必須選擇要在屏幕上顯示的亮度范圍。通過這種方式,可以模擬亮度的巨大差異,比如,我們場景中的室外光照與著色區(qū)域之間的亮度差異。我們還可以創(chuàng)建“泛光”或發(fā)光等效果,只需將效果應用于場景中的這些明亮顏色。像這樣的特殊效果可以為粒子或其他可見光源增添真實感。
有關 HDR 的更多信息,請參閱相關的手冊頁。
色調映射
色調映射是顏色分級后期處理效果的一部分,在描述如何將 HDR 中的顏色映射到您在屏幕上可以看到的顏色時,色調映射不可或缺。有關更多信息,請參閱顏色分級 (Color Grading)?效果。
反射
雖然沒有明確的光照效果,但若要逼真地顯示反光的材質(例如閃亮的金屬或玻璃),反射非常重要?,F代著色技術(包括 Unity 的標準著色器)將反射集成到材質的屬性中。
有關更多信息,請參閱反射部分。
線性顏色空間
除了選擇渲染路徑之外,在實施項目光照之前選擇“顏色空間”(Color Space) 也非常重要。顏色空間確定了在光照計算中混合顏色或從紋理中讀取值時 Unity 使用的數學算法。這可能會對游戲的真實感產生巨大影響,但在許多情況下,決定使用哪個顏色空間可能會受到目標平臺硬件限制的影響。
要實現逼真渲染,首選的顏色空間是“線性”。
使用線性空間的一個顯著優(yōu)點是,隨著光源強度的增加,提供給場景中著色器的顏色會以線性方式增亮。如果使用替代方案“伽馬”顏色空間,那么隨著值的增加,亮度將迅速變?yōu)榘咨@對圖像質量不利。
有關更多信息,請參閱線性渲染。
光照故障排除和性能