建模工作流對比與PBR紋理變換教程
來源:
互聯(lián)網(wǎng) |
責(zé)任編輯:傳說的落葉 |
發(fā)布時(shí)間: 2018-09-19 10:27 | 瀏覽量:
本教程向大家說明傳統(tǒng)渲染器下創(chuàng)建的貼圖如何能夠轉(zhuǎn)換為PBR渲染器貼圖,如何實(shí)現(xiàn)PBR工作流貼圖向其他工作流的轉(zhuǎn)換,以及這些工作流之間的差異。這篇教程適合高級業(yè)內(nèi)人士閱讀參考,所以請確保之前有閱讀過Jeff Russell和我寫的兩篇PBR教程,里面有詳細(xì)地介紹PBR中的一些基本概念,而在這篇教程中這些概念只會簡單提及。
Basic Theory ofPhysically-Based Rendering —— Jeff Russell
Physically BasedRendering, And You Can Too! —— Joe Wilson
目錄
PBR:誤解與謬論
PBR:做了哪些改變
傳統(tǒng)工作流概述
貼圖轉(zhuǎn)換:傳統(tǒng)貼圖->PBR貼圖
Metalness工作流 VS Specular工作流
紋理轉(zhuǎn)換:specular -> metalness
紋理轉(zhuǎn)換:metalness -> specular
對比和說明
材質(zhì)邏輯(material logic)
PBR:誤解與謬論
在開始之前,我想先澄清一些事情。目前為止,仍然有許多人對于究竟什么是PBR以及PBR中需要什么樣類型的貼圖存在疑惑。
首先,PBR系統(tǒng)并不要求一定是金屬貼圖(metalness map),使用了高光貼圖(specular map)也并不意味著就一定不是“PBR”。我定期在論壇上有看到關(guān)于這方面的評論,當(dāng)有人看到設(shè)計(jì)師在設(shè)計(jì)高光色澤貼圖的時(shí)候,他們經(jīng)常會問“為什么不用PBR?”,那么就讓我來剖析一下究竟什么是PBR。
PBR基本概念是一系列復(fù)雜的處理真實(shí)物理和光照的渲染器的組合,以及一系列使用標(biāo)準(zhǔn)化的表示真實(shí)材質(zhì)參數(shù)的貼圖。本質(zhì)上,PBR就是一個用于創(chuàng)建貼圖和渲染工作的整體系統(tǒng),在不同的工具和引擎的作用下會產(chǎn)生不同的實(shí)現(xiàn)效果(一般指渲染器模型和貼圖的輸入類型)。
此外,直接將非PBR貼圖載入到PBR渲染器中進(jìn)行渲染,并不能確保得到正確的真實(shí)效果。這種想法跟上面提及的“為什么不用PBR”一樣被人們頻繁誤解。渲染器只是PBR中的一部分,要得到正確的真實(shí)效果,你還要考慮如何正確地校準(zhǔn)以及使用PBR下的貼圖。
最后一個問題,PBR會發(fā)生漫反射還是反射?這兩者本質(zhì)上是一件事,物體的固有色常常能夠轉(zhuǎn)換使用。
PBR:做了哪些改變
想要充分理解如何創(chuàng)建PBR貼圖或者如何將之前模式下的貼圖轉(zhuǎn)換到PBR中,就必須要清楚PBR渲染器做了怎樣的改變。其中一個最大的不同之處就是現(xiàn)代渲染器下光照的計(jì)算方式非常高級。如今PBR使用了動態(tài)光源和實(shí)時(shí)陰影技術(shù),以及提供了基于圖像的光照技術(shù)(image-basedlighting)的精準(zhǔn)環(huán)境漫反射和鏡面反射。這也就意味著我們不用再去將光照、反射、陰影等直接繪制到貼圖上。跟以往相比,我們就能將注意力轉(zhuǎn)移到重現(xiàn)真實(shí)材質(zhì)的屬性上,而不用再去烘焙光照貼圖。
此外,線性空間渲染使得我們不用再在高光貼圖中使用漫反射的補(bǔ)色來獲得真實(shí)的白色高光,同時(shí)PBR微表面算法中的能量守恒(表面越粗糙,漫反射越強(qiáng),整體明暗越亮)將不再需要我們手動在高光貼圖中構(gòu)造粗糙(更黑)和光滑(更亮)的區(qū)域。這就意味著高光貼圖通常只用為每種材質(zhì)類型包含比數(shù)值多一點(diǎn)的信息(表示絕緣體的灰度等級,表示金屬的色彩信息),而大部分的變化則會交給微表面貼圖來定義。
傳統(tǒng)工作流概述
為了展示現(xiàn)代渲染器和傳統(tǒng)渲染器之間的不同,我在這使用之前創(chuàng)作出的狙擊槍作品來舉例。之所以用它來舉例,是因?yàn)樗軌蛘宫F(xiàn)出很多我之后不會在PBR系統(tǒng)中用到的典型方法,例如:
1. 漫反射貼圖太暗,只能在特殊的光照環(huán)境中才能獲得非常好的效果。
2. 環(huán)境光遮蔽(Ambient occlusion)和cavity細(xì)節(jié)直接繪制到了漫反射和高光貼圖上了。AO/cavity應(yīng)該通過單獨(dú)的輸入添加進(jìn)去,這樣能夠讓渲染器更加智能地使用它們。此外,大范圍的AO更不應(yīng)該直接添加到高光貼圖中,因?yàn)樽钃豕饩€并不等同于低反射表面(正如高光貼圖所定義的那樣)。
3. 漸變映射貼圖的信息也被繪制到了漫反射貼圖和高光貼圖中。漸變映射貼圖可以當(dāng)做用來手動創(chuàng)建遮罩實(shí)現(xiàn)局部效果的工具(比如角色更低區(qū)域的臟的信息);但這絕不是將它直接繪制到貼圖中的理由。
4. 這里使用的渲染器并不支持光澤貼圖。這就意味著高光貼圖必須同時(shí)嘗試顯示反射度和微表面細(xì)節(jié),同時(shí)使用一個光澤度值來控制整體的材質(zhì)效果。
5. 這里使用的高光值是通過眼睛測量的,而不是真實(shí)材質(zhì)屬性。那么結(jié)果導(dǎo)致了金屬部分反射太強(qiáng)烈,同時(shí)還毫無理由地偏黃,而且塑料和橡膠部分的材質(zhì)沒有足夠的反光。
貼圖轉(zhuǎn)換:傳統(tǒng)貼圖->PBR貼圖
現(xiàn)在我們已經(jīng)了解了傳統(tǒng)渲染器和PBR渲染器之間的不同點(diǎn),那么就可以在PBR工作流中進(jìn)行人為地更新貼圖信息。
首先,移除漫反射貼圖和高光貼圖中的光照信息和漸變映射信息。AO和cavity信息單獨(dú)作為兩張貼圖,并放置到渲染器相應(yīng)的位置上。然后,將漫反射貼圖適當(dāng)調(diào)亮一些。
由此,將高光信息(specular content)分解成一個光澤貼圖和一個高光貼圖。將原高光貼圖中所有的表面信息移植到新建的光澤貼圖中,然后更新這些值以使它們符合不同材質(zhì)的微表面結(jié)構(gòu)。如果光澤貼圖已存在,那么再次確認(rèn)這些值是否合理。例如,通常步槍底層的金屬原料要比涂層的噴砂面更加平整/光滑,而光滑油漆層中的劃痕則更顯粗糙。
隨著大部分紋理變化信息由高光貼圖轉(zhuǎn)移到光澤貼圖上,我們就能將精力集中到反射率的思考和設(shè)置上?,F(xiàn)在的關(guān)鍵點(diǎn)是區(qū)分物體哪些部分是金屬材質(zhì),而哪些部分是非金屬材質(zhì)(當(dāng)然,即便你并不使用metalness工作流)。理由非常簡單,非金屬的反射沒有顏色并且反射率大概在4%的線性區(qū)間(或者#383838 sRGB),區(qū)間范圍通常在2-16%(除了寶石以外很少有非金屬會超過4%),與之相比金屬的反射率則要高得多,一般介于70-100%。所以辨別清楚你所要表達(dá)的材質(zhì)類型是非常重要的,這關(guān)乎找到正確的反射率值。
補(bǔ)充:如果金屬物體被畫上了或者涂上了其他不同的材質(zhì),那么在確定反射率值的時(shí)候就要作為非金屬來考慮,除非是裸露的金屬材質(zhì)部分。
Metalness工作流 VS Specular工作流
在繼續(xù)深入之前,我們應(yīng)該要清楚Metalness工作流和Specular工作流的基本區(qū)別。大部分游戲引擎只支持兩種中的其中一種;但是,Toolbag 2同時(shí)支持兩種,這樣就能讓我們更直觀地比較兩者的優(yōu)劣。
這兩種工作流之間最大的不同之處在于怎樣在貼圖中呈現(xiàn)diffuse和reflectivity信息。在specular工作流下,這兩者由明確區(qū)分的兩種貼圖來呈現(xiàn)。
另一方面,metalness工作流采用albedo map來同時(shí)包含diffuse和reflectivity信息,而metalness map則用于區(qū)分材質(zhì)是金屬還是非金屬。這么做的原因是因?yàn)榻饘倬哂袑?dǎo)電性,這就意味著絕大多數(shù)光子(即電磁波)會在其表面發(fā)生反射,而其余的光子則會被吸收而不是發(fā)生漫反射,所以金屬沒有漫反射的概念。相反地,絕緣體則會反射一小部分光(大約4%),而大部分的光則發(fā)生漫反射或者在物體表面彈射從而形成均勻分布的顏色。
這就意味著,在metalness工作流的操作中,大部分或者甚至所有的diffuse map和specular map(如果紋理中只包含金屬或者非金屬,但沒有同時(shí)包含兩者的情況下)就是浪費(fèi),但反過來說metalness工作流則更加高效。然而,在一張貼圖中同時(shí)存儲diffuse和specular信息也存在一個缺點(diǎn),那就是在貼圖中的材質(zhì)過渡邊緣會存在明顯的白邊塊效應(yīng)。
Glossmap和roughness map定義了相同的信息,但通常是相反的方向。在gloss map中,亮色表示光滑/光澤,而roughness map中亮色則表示粗糙/無光澤。在一些領(lǐng)域中,光澤度(glossiness)和反射率(reflectivity)意義相近,所以有人認(rèn)為用roughness更不容易造成誤解。當(dāng)然,重要的并不是怎么命名,而是這些數(shù)值所代表的意思,如果還有疑問,可以去請教相關(guān)學(xué)者或工程師。
Specular workflow的優(yōu)點(diǎn)
1. diffusion和reflectance有各自明確的輸入,對于那些使用傳統(tǒng)渲染器進(jìn)行貼圖繪制工作的美術(shù)來說更加適合。
2. 提供了一個完整的色彩輸入,能夠更好地控制非金屬的反射值。
Metalness workflow的優(yōu)點(diǎn)
1. albedo map定義了物體的固有色,完全不用去區(qū)分到底是什么材質(zhì),這對于美術(shù)來說在概念上更好理解。
2. 簡單講材質(zhì)分為金屬和非金屬兩類,有可能對非現(xiàn)實(shí)材質(zhì)的表現(xiàn)造成困難。
3. 占用更少的存儲空間
Specular workflow的缺點(diǎn)
1. 容易對reflectance賦予錯誤的值,從而造成錯誤的結(jié)果。
2. 比metalness workflow占用更多的存儲空間。
Metalness workflow的缺點(diǎn)
1. 金屬過渡邊緣存在白邊塊效應(yīng)。
2. 對于非金屬的反射值缺乏控制和表現(xiàn)。
3. 如果不理解工作流,容易在metalness map中使用錯誤的邏輯值,導(dǎo)致系統(tǒng)癱瘓。
當(dāng)然也有些metalness workflow提供了secondary specular map來對非金屬的反射做更好的控制表現(xiàn),但目前并不可能在Toolbag 2中出現(xiàn)。
有人覺得metalness workflow會更好理解;但個人觀點(diǎn),覺得都一樣。每一種工作流都會因?yàn)槭褂昧隋e誤的邏輯值導(dǎo)致系統(tǒng)崩潰,大家可以根據(jù)自己的經(jīng)驗(yàn)或者喜好去選擇,或者說哪種容易上手就用哪種。本質(zhì)上來說,沒有哪種工作流比另外一種更好,它們僅僅只是不同罷了。
紋理轉(zhuǎn)換:specular->metalness
現(xiàn)在已經(jīng)有了正確的校準(zhǔn)信息,并且已經(jīng)知道了兩種工作流之間的異同之處,所以實(shí)際上轉(zhuǎn)換貼圖是非常簡單的。
首先,通過給所有的材質(zhì)分配光澤度值來創(chuàng)建一個metalness mask(黑色表示非金屬,白色表示金屬,分配哪種值取決于表面是哪種材質(zhì))。如果你的貼圖是PSD格式,那么從一系列圖層中使用mask信息來構(gòu)造金屬貼圖(metalness information)會更容易完成。Metalness map中絕大部分是以灰度值表示的白色和黑色信息,灰度值用于表示“半金屬”、過渡、劃痕或者臟痕跡等。然而,一般這十分罕見。因?yàn)橥ǔ6?,?dāng)金屬物體表面覆蓋了任何一種類型的涂料,金屬物體則表現(xiàn)為絕緣體。
一旦你獲得了metalness map,在PS中新建一個文件,用diffuse map做為背景層。然后,在其上用specular map創(chuàng)建一個圖層,并且以metalness map作為specular層的蒙版層。這樣,你就在metalness workflow中獲得了合適的albedo map。
紋理轉(zhuǎn)換:metalness->specular
Metalnessworkflow到specular workflow的轉(zhuǎn)換也很簡單。我們只需要將diffuse和specular信息從albedo map中分離出來,作為單獨(dú)的diffuse貼圖和specular貼圖即可。
DiffuseMap
1. 新建文件將albedo map載入到Photoshop中
2. 創(chuàng)建一個黑色的填充層
3. 將metalness map復(fù)制到填充層的圖層蒙版中
SpecularMap
1. 新建文件,將albedo map載入Photoshop中
2. 創(chuàng)建一個色值為#383838的填充層
3. 將metalness map復(fù)制到填充層的圖層蒙版中
4. 翻轉(zhuǎn)圖層蒙版
對比和說明
現(xiàn)在,我們可以來比較以上兩種不同的轉(zhuǎn)換工作流的有效性。
有件重要的事情需要在這說明一下,由于我們事先設(shè)置了標(biāo)準(zhǔn)合理的物理參數(shù),所以整個的轉(zhuǎn)換過程中工作正確。假如你的基本信息不是標(biāo)準(zhǔn)的,那么轉(zhuǎn)換后的效果將會有很大的不同。同樣地,如果你使用特定的材質(zhì),比如非金屬的有色反射(通常十分罕見,在傳統(tǒng)渲染器下最具代表性的就是頭發(fā)或者閃光材質(zhì)),那么在轉(zhuǎn)換過程中會丟失部分信息。
所以,理想的情況是為自己選擇的工作流制作相應(yīng)的貼圖,而不是僅僅依靠貼圖轉(zhuǎn)換來適應(yīng)多個工作流系統(tǒng)。
材質(zhì)邏輯(materiallogic)
那么我所說的合理的或者標(biāo)準(zhǔn)的物理參數(shù)是什么意思?不幸的是,這很難回答,因?yàn)檫@些值變化范圍很大,取決于你想嘗試用來表現(xiàn)哪種類型的材質(zhì)。與其建立一個備忘單,還不如用我起的材質(zhì)邏輯(meterial logic)這個名字來進(jìn)行解釋。
說明時(shí)附上圖表和數(shù)據(jù)總是有些幫助的。首先,你不可能找到所有你想重建的材質(zhì)數(shù)據(jù),那么你就需要利用一些邏輯來決定什么樣的值才是合適的。其次,同一材質(zhì)類型的表面品質(zhì)也會有顯著的差異,這取決于一系列諸如年齡、耐久度、涂層等因素。
第一步需要做的事情就是分析出物體到底是由什么類型的材質(zhì)做成的。對于很多物品來說,十分容易,通過照片就能夠簡單的說出它是金屬還是塑料還是橡膠制成的。然而,其他一些物品則更為復(fù)雜,有可能是由多種材質(zhì)共同組成得到的。那么,到網(wǎng)上搜索就可以了,找到參考圖像或者現(xiàn)實(shí)中相似的物品去研究,甚至跑去觀察物品是如何被制造出來的。
一旦你知道了它們是如何制成的,那么你就會得出一系列的結(jié)論。比如,金屬的反射度比絕緣體更高,通常橡膠比塑料更加粗糙,混凝土的albedo比瀝青更亮,等等。大部分的這些結(jié)論都能夠通過簡單的觀察得出。
現(xiàn)在,你可以更加明確地知道你想讓你的貼圖擁有什么樣的材質(zhì)。比如,繪畫常常由一系列不同的罩面漆構(gòu)成(無光澤到有光澤),塑料也是一樣。金屬則變化相對較少,主要取決于其表面的光滑程度。
總之,使用PBR系統(tǒng)進(jìn)行工作時(shí),需要有與游戲美術(shù)一樣的美術(shù)技巧,有觀察并且復(fù)現(xiàn)你周圍生活之中的材質(zhì)的能力。了解PBR系統(tǒng)的基礎(chǔ)概念是非常重要的;但是,最后你也需要相信你自己的美術(shù)直覺。
Physically BasedRendering, And You Can Too! —— Joe Wilson
目錄
PBR:誤解與謬論
PBR:做了哪些改變
傳統(tǒng)工作流概述
貼圖轉(zhuǎn)換:傳統(tǒng)貼圖->PBR貼圖
Metalness工作流 VS Specular工作流
紋理轉(zhuǎn)換:specular -> metalness
紋理轉(zhuǎn)換:metalness -> specular
對比和說明
材質(zhì)邏輯(material logic)
PBR:誤解與謬論
在開始之前,我想先澄清一些事情。目前為止,仍然有許多人對于究竟什么是PBR以及PBR中需要什么樣類型的貼圖存在疑惑。
首先,PBR系統(tǒng)并不要求一定是金屬貼圖(metalness map),使用了高光貼圖(specular map)也并不意味著就一定不是“PBR”。我定期在論壇上有看到關(guān)于這方面的評論,當(dāng)有人看到設(shè)計(jì)師在設(shè)計(jì)高光色澤貼圖的時(shí)候,他們經(jīng)常會問“為什么不用PBR?”,那么就讓我來剖析一下究竟什么是PBR。
PBR基本概念是一系列復(fù)雜的處理真實(shí)物理和光照的渲染器的組合,以及一系列使用標(biāo)準(zhǔn)化的表示真實(shí)材質(zhì)參數(shù)的貼圖。本質(zhì)上,PBR就是一個用于創(chuàng)建貼圖和渲染工作的整體系統(tǒng),在不同的工具和引擎的作用下會產(chǎn)生不同的實(shí)現(xiàn)效果(一般指渲染器模型和貼圖的輸入類型)。
此外,直接將非PBR貼圖載入到PBR渲染器中進(jìn)行渲染,并不能確保得到正確的真實(shí)效果。這種想法跟上面提及的“為什么不用PBR”一樣被人們頻繁誤解。渲染器只是PBR中的一部分,要得到正確的真實(shí)效果,你還要考慮如何正確地校準(zhǔn)以及使用PBR下的貼圖。
最后一個問題,PBR會發(fā)生漫反射還是反射?這兩者本質(zhì)上是一件事,物體的固有色常常能夠轉(zhuǎn)換使用。
PBR:做了哪些改變
想要充分理解如何創(chuàng)建PBR貼圖或者如何將之前模式下的貼圖轉(zhuǎn)換到PBR中,就必須要清楚PBR渲染器做了怎樣的改變。其中一個最大的不同之處就是現(xiàn)代渲染器下光照的計(jì)算方式非常高級。如今PBR使用了動態(tài)光源和實(shí)時(shí)陰影技術(shù),以及提供了基于圖像的光照技術(shù)(image-basedlighting)的精準(zhǔn)環(huán)境漫反射和鏡面反射。這也就意味著我們不用再去將光照、反射、陰影等直接繪制到貼圖上。跟以往相比,我們就能將注意力轉(zhuǎn)移到重現(xiàn)真實(shí)材質(zhì)的屬性上,而不用再去烘焙光照貼圖。
此外,線性空間渲染使得我們不用再在高光貼圖中使用漫反射的補(bǔ)色來獲得真實(shí)的白色高光,同時(shí)PBR微表面算法中的能量守恒(表面越粗糙,漫反射越強(qiáng),整體明暗越亮)將不再需要我們手動在高光貼圖中構(gòu)造粗糙(更黑)和光滑(更亮)的區(qū)域。這就意味著高光貼圖通常只用為每種材質(zhì)類型包含比數(shù)值多一點(diǎn)的信息(表示絕緣體的灰度等級,表示金屬的色彩信息),而大部分的變化則會交給微表面貼圖來定義。
傳統(tǒng)工作流概述
為了展示現(xiàn)代渲染器和傳統(tǒng)渲染器之間的不同,我在這使用之前創(chuàng)作出的狙擊槍作品來舉例。之所以用它來舉例,是因?yàn)樗軌蛘宫F(xiàn)出很多我之后不會在PBR系統(tǒng)中用到的典型方法,例如:
1. 漫反射貼圖太暗,只能在特殊的光照環(huán)境中才能獲得非常好的效果。
2. 環(huán)境光遮蔽(Ambient occlusion)和cavity細(xì)節(jié)直接繪制到了漫反射和高光貼圖上了。AO/cavity應(yīng)該通過單獨(dú)的輸入添加進(jìn)去,這樣能夠讓渲染器更加智能地使用它們。此外,大范圍的AO更不應(yīng)該直接添加到高光貼圖中,因?yàn)樽钃豕饩€并不等同于低反射表面(正如高光貼圖所定義的那樣)。
3. 漸變映射貼圖的信息也被繪制到了漫反射貼圖和高光貼圖中。漸變映射貼圖可以當(dāng)做用來手動創(chuàng)建遮罩實(shí)現(xiàn)局部效果的工具(比如角色更低區(qū)域的臟的信息);但這絕不是將它直接繪制到貼圖中的理由。
4. 這里使用的渲染器并不支持光澤貼圖。這就意味著高光貼圖必須同時(shí)嘗試顯示反射度和微表面細(xì)節(jié),同時(shí)使用一個光澤度值來控制整體的材質(zhì)效果。
5. 這里使用的高光值是通過眼睛測量的,而不是真實(shí)材質(zhì)屬性。那么結(jié)果導(dǎo)致了金屬部分反射太強(qiáng)烈,同時(shí)還毫無理由地偏黃,而且塑料和橡膠部分的材質(zhì)沒有足夠的反光。
貼圖轉(zhuǎn)換:傳統(tǒng)貼圖->PBR貼圖
現(xiàn)在我們已經(jīng)了解了傳統(tǒng)渲染器和PBR渲染器之間的不同點(diǎn),那么就可以在PBR工作流中進(jìn)行人為地更新貼圖信息。
首先,移除漫反射貼圖和高光貼圖中的光照信息和漸變映射信息。AO和cavity信息單獨(dú)作為兩張貼圖,并放置到渲染器相應(yīng)的位置上。然后,將漫反射貼圖適當(dāng)調(diào)亮一些。
由此,將高光信息(specular content)分解成一個光澤貼圖和一個高光貼圖。將原高光貼圖中所有的表面信息移植到新建的光澤貼圖中,然后更新這些值以使它們符合不同材質(zhì)的微表面結(jié)構(gòu)。如果光澤貼圖已存在,那么再次確認(rèn)這些值是否合理。例如,通常步槍底層的金屬原料要比涂層的噴砂面更加平整/光滑,而光滑油漆層中的劃痕則更顯粗糙。
隨著大部分紋理變化信息由高光貼圖轉(zhuǎn)移到光澤貼圖上,我們就能將精力集中到反射率的思考和設(shè)置上?,F(xiàn)在的關(guān)鍵點(diǎn)是區(qū)分物體哪些部分是金屬材質(zhì),而哪些部分是非金屬材質(zhì)(當(dāng)然,即便你并不使用metalness工作流)。理由非常簡單,非金屬的反射沒有顏色并且反射率大概在4%的線性區(qū)間(或者#383838 sRGB),區(qū)間范圍通常在2-16%(除了寶石以外很少有非金屬會超過4%),與之相比金屬的反射率則要高得多,一般介于70-100%。所以辨別清楚你所要表達(dá)的材質(zhì)類型是非常重要的,這關(guān)乎找到正確的反射率值。
補(bǔ)充:如果金屬物體被畫上了或者涂上了其他不同的材質(zhì),那么在確定反射率值的時(shí)候就要作為非金屬來考慮,除非是裸露的金屬材質(zhì)部分。
Metalness工作流 VS Specular工作流
在繼續(xù)深入之前,我們應(yīng)該要清楚Metalness工作流和Specular工作流的基本區(qū)別。大部分游戲引擎只支持兩種中的其中一種;但是,Toolbag 2同時(shí)支持兩種,這樣就能讓我們更直觀地比較兩者的優(yōu)劣。
這兩種工作流之間最大的不同之處在于怎樣在貼圖中呈現(xiàn)diffuse和reflectivity信息。在specular工作流下,這兩者由明確區(qū)分的兩種貼圖來呈現(xiàn)。
另一方面,metalness工作流采用albedo map來同時(shí)包含diffuse和reflectivity信息,而metalness map則用于區(qū)分材質(zhì)是金屬還是非金屬。這么做的原因是因?yàn)榻饘倬哂袑?dǎo)電性,這就意味著絕大多數(shù)光子(即電磁波)會在其表面發(fā)生反射,而其余的光子則會被吸收而不是發(fā)生漫反射,所以金屬沒有漫反射的概念。相反地,絕緣體則會反射一小部分光(大約4%),而大部分的光則發(fā)生漫反射或者在物體表面彈射從而形成均勻分布的顏色。
這就意味著,在metalness工作流的操作中,大部分或者甚至所有的diffuse map和specular map(如果紋理中只包含金屬或者非金屬,但沒有同時(shí)包含兩者的情況下)就是浪費(fèi),但反過來說metalness工作流則更加高效。然而,在一張貼圖中同時(shí)存儲diffuse和specular信息也存在一個缺點(diǎn),那就是在貼圖中的材質(zhì)過渡邊緣會存在明顯的白邊塊效應(yīng)。
Glossmap和roughness map定義了相同的信息,但通常是相反的方向。在gloss map中,亮色表示光滑/光澤,而roughness map中亮色則表示粗糙/無光澤。在一些領(lǐng)域中,光澤度(glossiness)和反射率(reflectivity)意義相近,所以有人認(rèn)為用roughness更不容易造成誤解。當(dāng)然,重要的并不是怎么命名,而是這些數(shù)值所代表的意思,如果還有疑問,可以去請教相關(guān)學(xué)者或工程師。
Specular workflow的優(yōu)點(diǎn)
1. diffusion和reflectance有各自明確的輸入,對于那些使用傳統(tǒng)渲染器進(jìn)行貼圖繪制工作的美術(shù)來說更加適合。
2. 提供了一個完整的色彩輸入,能夠更好地控制非金屬的反射值。
Metalness workflow的優(yōu)點(diǎn)
1. albedo map定義了物體的固有色,完全不用去區(qū)分到底是什么材質(zhì),這對于美術(shù)來說在概念上更好理解。
2. 簡單講材質(zhì)分為金屬和非金屬兩類,有可能對非現(xiàn)實(shí)材質(zhì)的表現(xiàn)造成困難。
3. 占用更少的存儲空間
Specular workflow的缺點(diǎn)
1. 容易對reflectance賦予錯誤的值,從而造成錯誤的結(jié)果。
2. 比metalness workflow占用更多的存儲空間。
Metalness workflow的缺點(diǎn)
1. 金屬過渡邊緣存在白邊塊效應(yīng)。
2. 對于非金屬的反射值缺乏控制和表現(xiàn)。
3. 如果不理解工作流,容易在metalness map中使用錯誤的邏輯值,導(dǎo)致系統(tǒng)癱瘓。
當(dāng)然也有些metalness workflow提供了secondary specular map來對非金屬的反射做更好的控制表現(xiàn),但目前并不可能在Toolbag 2中出現(xiàn)。
有人覺得metalness workflow會更好理解;但個人觀點(diǎn),覺得都一樣。每一種工作流都會因?yàn)槭褂昧隋e誤的邏輯值導(dǎo)致系統(tǒng)崩潰,大家可以根據(jù)自己的經(jīng)驗(yàn)或者喜好去選擇,或者說哪種容易上手就用哪種。本質(zhì)上來說,沒有哪種工作流比另外一種更好,它們僅僅只是不同罷了。
紋理轉(zhuǎn)換:specular->metalness
現(xiàn)在已經(jīng)有了正確的校準(zhǔn)信息,并且已經(jīng)知道了兩種工作流之間的異同之處,所以實(shí)際上轉(zhuǎn)換貼圖是非常簡單的。
首先,通過給所有的材質(zhì)分配光澤度值來創(chuàng)建一個metalness mask(黑色表示非金屬,白色表示金屬,分配哪種值取決于表面是哪種材質(zhì))。如果你的貼圖是PSD格式,那么從一系列圖層中使用mask信息來構(gòu)造金屬貼圖(metalness information)會更容易完成。Metalness map中絕大部分是以灰度值表示的白色和黑色信息,灰度值用于表示“半金屬”、過渡、劃痕或者臟痕跡等。然而,一般這十分罕見。因?yàn)橥ǔ6?,?dāng)金屬物體表面覆蓋了任何一種類型的涂料,金屬物體則表現(xiàn)為絕緣體。
一旦你獲得了metalness map,在PS中新建一個文件,用diffuse map做為背景層。然后,在其上用specular map創(chuàng)建一個圖層,并且以metalness map作為specular層的蒙版層。這樣,你就在metalness workflow中獲得了合適的albedo map。
紋理轉(zhuǎn)換:metalness->specular
Metalnessworkflow到specular workflow的轉(zhuǎn)換也很簡單。我們只需要將diffuse和specular信息從albedo map中分離出來,作為單獨(dú)的diffuse貼圖和specular貼圖即可。
DiffuseMap
1. 新建文件將albedo map載入到Photoshop中
2. 創(chuàng)建一個黑色的填充層
3. 將metalness map復(fù)制到填充層的圖層蒙版中
SpecularMap
1. 新建文件,將albedo map載入Photoshop中
2. 創(chuàng)建一個色值為#383838的填充層
3. 將metalness map復(fù)制到填充層的圖層蒙版中
4. 翻轉(zhuǎn)圖層蒙版
對比和說明
現(xiàn)在,我們可以來比較以上兩種不同的轉(zhuǎn)換工作流的有效性。
有件重要的事情需要在這說明一下,由于我們事先設(shè)置了標(biāo)準(zhǔn)合理的物理參數(shù),所以整個的轉(zhuǎn)換過程中工作正確。假如你的基本信息不是標(biāo)準(zhǔn)的,那么轉(zhuǎn)換后的效果將會有很大的不同。同樣地,如果你使用特定的材質(zhì),比如非金屬的有色反射(通常十分罕見,在傳統(tǒng)渲染器下最具代表性的就是頭發(fā)或者閃光材質(zhì)),那么在轉(zhuǎn)換過程中會丟失部分信息。
所以,理想的情況是為自己選擇的工作流制作相應(yīng)的貼圖,而不是僅僅依靠貼圖轉(zhuǎn)換來適應(yīng)多個工作流系統(tǒng)。
材質(zhì)邏輯(materiallogic)
那么我所說的合理的或者標(biāo)準(zhǔn)的物理參數(shù)是什么意思?不幸的是,這很難回答,因?yàn)檫@些值變化范圍很大,取決于你想嘗試用來表現(xiàn)哪種類型的材質(zhì)。與其建立一個備忘單,還不如用我起的材質(zhì)邏輯(meterial logic)這個名字來進(jìn)行解釋。
說明時(shí)附上圖表和數(shù)據(jù)總是有些幫助的。首先,你不可能找到所有你想重建的材質(zhì)數(shù)據(jù),那么你就需要利用一些邏輯來決定什么樣的值才是合適的。其次,同一材質(zhì)類型的表面品質(zhì)也會有顯著的差異,這取決于一系列諸如年齡、耐久度、涂層等因素。
第一步需要做的事情就是分析出物體到底是由什么類型的材質(zhì)做成的。對于很多物品來說,十分容易,通過照片就能夠簡單的說出它是金屬還是塑料還是橡膠制成的。然而,其他一些物品則更為復(fù)雜,有可能是由多種材質(zhì)共同組成得到的。那么,到網(wǎng)上搜索就可以了,找到參考圖像或者現(xiàn)實(shí)中相似的物品去研究,甚至跑去觀察物品是如何被制造出來的。
一旦你知道了它們是如何制成的,那么你就會得出一系列的結(jié)論。比如,金屬的反射度比絕緣體更高,通常橡膠比塑料更加粗糙,混凝土的albedo比瀝青更亮,等等。大部分的這些結(jié)論都能夠通過簡單的觀察得出。
現(xiàn)在,你可以更加明確地知道你想讓你的貼圖擁有什么樣的材質(zhì)。比如,繪畫常常由一系列不同的罩面漆構(gòu)成(無光澤到有光澤),塑料也是一樣。金屬則變化相對較少,主要取決于其表面的光滑程度。
總之,使用PBR系統(tǒng)進(jìn)行工作時(shí),需要有與游戲美術(shù)一樣的美術(shù)技巧,有觀察并且復(fù)現(xiàn)你周圍生活之中的材質(zhì)的能力。了解PBR系統(tǒng)的基礎(chǔ)概念是非常重要的;但是,最后你也需要相信你自己的美術(shù)直覺。
深入閱讀
Basic Theory ofPhysically-Based Rendering – By Jeff Russell
Physically BasedRendering, And You Can Too! – By Joe Wilson
Basic Theory ofPhysically-Based Rendering – By Jeff Russell
Physically BasedRendering, And You Can Too! – By Joe Wilson
- Tags:max,pbr
-
分享到:
相關(guān)文章
網(wǎng)友評論
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊
關(guān)閉
- 用戶名:
- 密 碼:
- 驗(yàn)證碼: 看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評論:0條
推薦
熱門