PBR 基礎知識乾貨總結

(1)什麼是PBR?
基於物理的渲染過程。
PBR是一種着色和渲染技術,用於更精確的描述光如何與物體表面互動。
PBR的優勢:
(1)方法論和算法基於精確的計算公式,免除創作表面的猜想過程。
(2)在任何光照環境都能表現出正確的結果
(3)爲不同的藝術家,提供統一的工作流程

PBR有兩種工作流,一種是基於金屬的,一種是基於鏡面反射的

對應的Unity引用Enlighten光照引擎之後,帶來的兩種新的Shader,Standard 和Standard(Specular Setup)

以及

(2)金屬工作流:(不易出錯,省內存,但是白邊現象更明顯)
(a)base color:(RGB-sRGB)
包含信息:絕緣體,反射顏色。金屬,反射率。
最亮色不應超越240RGB。
最暗色應在30-50RBG之間。
base color不要包含其他光照信息,比如 amblient occlusion。
金屬反射率應該在70%-100%之間。也就是RGB 180-255
油漆和氧化的部分應該按照絕緣體處理。

(b)matallic map:(Grayscale-Linear)
描述哪些區域是金屬,那些是絕緣體。
1 表示純金屬。0表示絕緣體。
如果matalic map的灰度值低於235,那麼對應的basecolor的反射率也應該降低一些。

(c)roughness map:(Grayscale-Linear)
描述表面引起光纖漫反射的不規則程度。這將改變光纖的方向,但是不會改變光線的強度。
光滑表面會有小而亮的高光,而粗糙表面將會出現大而暗淡的高光。
在這個灰度圖裏面,0代表光滑表面,而1代表粗糙表面。
roughness map是一個“有故事”的貼圖,它會告訴你這個表面經歷過那些嚴酷(或者平和)的環境。

而公用的貼圖爲環境光吸收,法線和高度貼圖。


(3)Specular工作流:
爲何鏡面反射工作流容易出錯呢,因爲Specular包含了全部的絕緣體F0信息,1.0的Diffuse 和 1.0的Specular將會使得反射折射能量大於輸入能量,這違背了能量守恆定律。也就是說在繪製貼圖時,你無法預覽結果。

diffuse:(RGB-sRGB)
包含albedo color,但是不包含任何反射率信息。
純金屬爲黑色,因爲純金屬沒有顏色,油漆和鏽跡是需要帶有顏色的。
基礎顏色應不包含光照信息,除了micro-occlusion
黑色不應低於30-50sRGB
亮色不應高於240sRGB

specular:(RGB-sRGB)
灰度值,表示非金屬F0
RGB值,表示金屬吸收的不同波長的光線
這種貼圖允許使用不同的F0值來表現非金屬。

glossiness:
與Roughness相反,0代表粗糙表面,而1代表光滑表面。

(4)Ambient Occlusion
表示有多少環境光,可以被表面上的一個點吸收。
AO應該隻影響Diffuse部分,而不應該阻塞Specular部分。

(5)Height Map
用於視差映射,通過增加可見的深度感來提高渲染的真實性。

(6)Normal Map
不論PBR還是非PBR,NormalMap都是用來模擬表面細節,同時還會影響Roughness和Glossiness映射。

發佈了54 篇原創文章 · 獲贊 50 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章