Unity-標準著色器
Unity 標準著色器是一個包含一整套功能的內(nèi)置著色器。此著色器可用于渲染“真實世界”的對象,如石頭、木頭、玻璃、塑料和金屬,并支持各種著色器類型和組合。只需在材質(zhì)編輯器中使用或不使用各種紋理字段和參數(shù)即可啟用或禁用此著色器的功能。
標準著色器還包含一種稱為__基于物理著色 (Physically Based Shading)__ 的高級光照模型?;谖锢碇?(PBS) 以一種模仿現(xiàn)實的方式模擬材質(zhì)和光照之間的相互作用。PBS 最近才在實時圖形中成為可能。在光照和材質(zhì)需要以直觀而逼真的狀態(tài)共存的情況下,這種光照模型的效果最佳。
我們基于物理著色背后的理念是創(chuàng)建一種用戶友好的方法,在不同的光照條件下實現(xiàn)一致、合理的外觀。它模擬了光在現(xiàn)實中的表現(xiàn),而不使用可能有效或無效的多個臨時模型。為此,它遵循物理學原理,包括能量守恒(意味著對象反射的光絕不會多于接受的光)、菲涅耳反射(所有表面在掠射角處具有更高的反射率)以及表面如何遮擋自身(所謂的幾何術語)等等。
標準著色器在設計時就考慮了硬表面(也稱為“建筑材質(zhì)”),能夠處理大多數(shù)現(xiàn)實世界的材質(zhì),如石頭、玻璃、陶瓷、黃銅、銀或橡膠。甚至對于皮膚、頭發(fā)和布料等非硬質(zhì)材質(zhì)也表現(xiàn)得很不錯。

通過標準著色器,可將大量著色器類型(例如漫射、鏡面反射、凹凸鏡面反射、反射)組合到同一個可處理所有材質(zhì)類型的著色器中。這樣做的好處是,在場景的所有區(qū)域都使用相同的光照計算,從而在使用該著色器的所有模型中提供逼真、一致且可信的光照和著色分布。
標準著色器光照數(shù)學實現(xiàn)方案對漫射組件使用?Disney 模型,對鏡面反射使用?GGX 模型,并采用?Smith 聯(lián)合 GGX 可見性術語和?Schlick 菲涅耳近似法。
術語
在談論 Unity 中的基于物理著色時,有許多概念非常有用。這些概念包括:
能量守恒 (Energy conservation)?- 這是一種物理學概念,可確保對象反射的光絕不會多于接受的光。材質(zhì)的鏡面反射越強,其漫射就應該越弱;表面越平滑,高光越強且高光面積越小。

高動態(tài)范圍 (High Dynamic Range, HDR)?- 這是指超出常規(guī) 0–1 范圍的顏色。例如,太陽很容易比藍天亮十倍。有關深入討論,請參閱 Unity 手冊?HDR?頁面。
