影视和引擎当中的PBR材质和线性色彩空间
pbr
Pbr材質應該都熟悉吧,就是如今游戲影視廣泛應用的物理材質,pbr有很多種實現方式,而且不同的pbr有不同的特點。如今pbr總是和線性空間聯系在一起,雖然兩者并不是絕對依賴,但都是為了讓渲染更加真實更加理性化的方式。
pbr在非固有色貼圖上需要更明確定義貼圖是是線性的,原因是一般固有色貼圖需要人的感知,而且因為歷史遺留問題,大多數固有色貼圖都是需要人眼感知的,人眼感知就會產生gamma校正問題,技術就不細說了,因為很多技術博客都提到了,通俗點的說法就是人眼看到物體的顏色其實已經經過視覺和大腦的處理了,并不是物體以前的顏色了。
Untiy3d默認使用左側gamma方式容易曝光,右側是線性的,不容易曝光
?
線性空間下物體效果,最大的優勢就是光照的自然,特別是在光影在物體表面的衰減上
下面是對比圖
離線渲染下也是非線性空間下的物體容易過度曝光,或者灰蒙蒙的
?
?
所以固有色通常標記為srgb,表示這是人眼里看到的顏色,這樣計算機就能將這類圖片在內部轉換成線性的,來讓整個場景貼圖計算更符合自然
而非srgb貼圖,通常是可視化制作出來的(比如如今的substance painter之類),
實時渲染
Unity3d總的線性空間和圖片srgb設置
Unity3d默認是gamma空間,這是因為線性空間需要支持OpenGL ES 3.0,部分手機和蘋果機不支持
Unreal4當中的默認就是線性空間,這也是為什么很多ue4項目質感很不錯的
貼圖處理格式還是要制作者根據實際情況調整
離線渲染
(這里以maya2016 arnold4為例)
以前老版本設置比較繁瑣,這也是為什么以前很多渲染項目中效果不如引擎中的,不僅需要自己改色彩空間,設置圖片是否是線性還需要再連節點(因為以前版本arnold不能識別maya中的貼圖信息)。但是2017以后arnold5已整合如maya默認即線性空間,只需要關系圖片是raw還是srgb了。
?
可以看出線性空間和PRB都是必要的。
?
制作環節
這里要說下一般有顏色的貼圖都是srgb的
法線貼圖是線性的,但以前軟件一般都能自動把法線貼圖認對,很多制作人員可以手繪法線貼圖,這是為什么呢,因為熟練...
還有以前使用的HDR環境貼圖其實也是線性的,有人問那么mask貼圖或者3s貼圖等是線性的嗎?答案就要看你的制作環境了,如果如今在pbr相關dcc軟件中制作,那么這些貼圖都是線性的,如果是以前的素材,那八成都是srgb的了,因為以前軟件多為非線性空間,貼圖效果都靠對著湊,所以如今在線性空間里都是可以算srgb的,雖然大多數貼圖還是要重新湊。
?
一般制作人除非項目指定某種金屬(或者高精度項目),其實并不需要關心哪種顏色代表的是金屬度多少多少,粗糙度多少多少,因為我們只需要在相關軟件里觀察調整質感導出貼圖,在其他軟件里放上,或渲染或實時,整體效果是對的就可以了。現在相關貼圖軟件比如sp,sd之類直接就能在正確的線性空間下預覽pbr材質的效果。
?
?
總結
以上是生活随笔為你收集整理的影视和引擎当中的PBR材质和线性色彩空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链+人工智能,如何颠覆我们已知生活
- 下一篇: 散光的人,夜间模式会让你不清醒!!!