【轉載】基于物理規則的渲染(PBR),你也可以做到!

? ? ? ?這篇教程將涵蓋美術內容創作的基礎知識,以及各種基于物理規則的渲染標準背后的一些理論推導(并沒有太過技術性的內容),并清除一些常見的誤解。杰夫·羅素(Jeff Russell)撰寫了一本關于《基于物理規則渲染的理論》的優秀教程,我強烈建議你在閱讀本文之前先閱讀下這個教程。

一個新的標準

由于計算能力的提高和對美術內容標準化的普遍需求,基于物理規則的渲染(PBR)迅速成為游戲行業的標準,基于物理規則的渲染(PBR)旨在重新定義我們如何創建和渲染美術資源。

基于物理規則的渲染(PBR)這個概念是指使用真實的渲染/光照模型以及測量得到的表面值來準確地表示真實世界中的材質。

基于物理規則的渲染(PBR)更多的是一個概念,而不是一套嚴格的規則,因此,基于物理規則的渲染(PBR)系統的實際實現會有一些變化。然而,由于每個基于物理規則的渲染(PBR)系統都是基于幾乎相同的想法(盡可能準確地進行渲染),許多概念可以很輕松的在項目之間或是引擎之間進行移植。Toolbag 2支持大多數你期望在基于物理規則的渲染(PBR)系統中能找到的常用輸入。

除了渲染質量之外,一致性是使用測量值的最大原因。擁有具有一致性的基礎材質,可以讓那些獨立美術的材質創作不需要做什么猜測。這也使得從美術制作方向的角度來說事情會變得更容易,以確保美術團隊創造的內容在每個光照條件下都會看起來很棒。

常被問到的有關基于物理規則的渲染的問題

在開始之前,重要的是要介紹下人們在談論基于物理規則的渲染(PBR)時通常會問的常見問題。

1)我不知道如何使用基于物理規則的渲染(PBR)系統,我需要重新學習如何創建美術資源么?

在大多數情況下,你不需要重新學習如何創建美術資源。 如果你有過在上一代著色器中使用逐像素的動態光照經驗的話,那么你已經擁有創建基于物理規則的渲染(PBR)系統內容所需的大量知識。術語往往是美術最大的障礙之一,所以我在下面有一節專門記錄了各種術語并進行了翻譯。這里大部分的概念是很容易上手理解的。

如果你的經驗主要在于手繪/移動工作,那么學習這里概述的新技術和工作流程可能會面臨更大的挑戰。然而,可能不會比采用傳統的基于法線貼圖的工作流更難。

2)?美術是否需要使用某種偏振相機系統來為每種他們希望創建的材質捕獲攝影參考?

不,一般來說,你的工作室一般會為你提供常見的材質參考。或者,你可以找到各種來自第三方來源的已知值,如Quixel的Megascans服務。創建自己的掃描數據是非常需要技術和耗時的過程,而且在大多數情況下不是必需的。

3)?如果我使用的是基于物理規則的渲染(PBR)著色器,這是否意味著我創作的資源是物理準確的?

并不一定如此。簡單地使用基于物理規則的渲染(PBR)著色器不會使你創作的資源在物理上是準確的。一個基于物理規則的渲染(PBR)系統是物理上精確的光照、渲染和正確校準的美術資源的組合。

4)我需要使用一張金屬貼圖來讓美術資源符合基于物理規則的渲染(PBR)嗎?

不需要,金屬貼圖只是確定反射率的一種方法,并且通常來說,不比使用鏡面高光顏色/強度圖具有更多的物理準確性。

5)我需要使用折射率(IOR)來讓美術資源符合基于物理規則的渲染(PBR)嗎?

不,跟金屬貼圖一樣,折射率(IOR)只是定義反射率的替代方法。

6)?鏡面高光反射強度不再需要了么?

不完全是。鏡面高光反射強度或反射率仍然是基于物理規則的渲染(PBR)系統中非常重要的參數。你可能沒有可以直接設置反射率貼圖(例如在使用金屬貼圖的工作流程那樣),但在基于物理規則的渲染(PBR)系統中仍然需要鏡面高光反射強度。

7)需要用光澤度貼圖替換鏡面高光貼圖么?

不,光澤度貼圖或是粗糙度貼圖定義了材質的微觀表面(到底這個材質是多么粗糙或是平滑),而不是用來替換鏡面高光貼圖的。但是,如果你不習慣使用光澤度貼圖,你可以把某些細節放在光澤度貼圖而不是鏡面高光貼圖中進行調整。

8)可以使用基于物理規則的渲染(PBR)系統來創建具有自己風格的美術資源嗎?

是的,沒問題。如果你的目標是創建一個科幻風格的有自己風格化的世界,具有準確的材質定義仍然非常重要。即使你正在創造一個頭頂彩虹的獨角獸,你通常也希望獨角獸能夠遵守光和物體的物理學規則。

這方面的一個很好的例子就是皮克斯的作品,他們的作品非常有自己的風格,而且經常處于材質精確度的前沿。這里有一篇關于《怪獸大學》里面的基于物理規則的渲染(PBR)的很棒的文章:fxguide feature onMonsters University

輸入和術語

不熟悉基于物理規則的渲染(PBR)系統概念的美術通常認為在基于物理規則的渲染(PBR)系統下美術資源創作是非常不同的,這通常是由于使用的術語造成的這種印象。如果你已經使用過現代的著色器和美術資源創作技術,那么你已經對基于物理規則的渲染(PBR)系統許多概念有過了經驗。

確定要創建什么類型的美術資源,或如何將你的美術資源插入基于物理規則的渲染(PBR)著色器可能會令人困惑,所以這里讓我們從一些常見的術語和概念作為開始。

能量守恒

能量守恒的概念表明,物體不能反射的光比它所獲得的光更多。

在實踐中,使用了更多漫反射和更粗糙的材質將反射出更亮更集中的亮點,而更光滑、更反光的材質將反射出更亮更集中的亮點。

反照率

反照率是基本顏色輸入,通常被稱為漫反射貼圖。

反照率貼圖定義了漫反射光的顏色。基于物理規則的渲染(PBR)系統中的反照率貼圖與傳統漫反射貼圖之間的最大差異之一是缺乏方向光或環境遮擋。方向光向光在某些光照條件下看起來不正確,而環境遮擋應該在單獨的環境遮擋(AO)槽中添加。

反照率貼圖有時包含的東西會多于漫反射顏色,舉個簡單的例子來說,當使用金屬貼圖的時候,反照率貼圖定義了絕緣體(非金屬)的漫反射顏色和金屬表面的反射率。

微觀表面

微觀表面定義了材質表面的粗糙度或是平滑度。

在這里,我們看到了能量守恒原理如何受到材質的微觀表面的影響,較粗糙的表面將顯示更寬但是更暗的鏡面反射,而較光滑的表面將顯示更亮但卻更清晰的鏡面反射。

取決于你進行資源創作的引擎,你的紋理可能稱為粗糙圖貼圖而不是光澤度貼圖。實際上,這兩種類型之間幾乎沒有區別,盡管粗糙圖貼圖里面可能包含的是反轉過的貼圖,也就是:暗值等于光澤/光滑值,而亮值等于粗糙度/無光澤。 默認情況下,Toolbag希望用白色定義最平滑的表面,而黑色定義最粗糙的表面,如果要加載反轉后的光澤度/粗糙度貼圖,請單擊光澤模塊中的反轉復選框。

反射率

反射率是光在表面反射的百分比。 所有類型的反射率(也稱為基礎反射率或是F0)輸入,包括鏡面高光反射,金屬和IOR,都定義了當從上方看的時候表面的反射程度,而菲涅爾定義了表面在掠角時的反射率。

重要的是要注意絕緣材質的反射率范圍有多窄。結合能量守恒的概念,很容易得出結論,表面變化通常應在微觀表面貼圖中表示,而不是在反射率貼圖中表示。對于給定的材質類型,反射率往往保持恒定。反射顏色對于絕緣體來說往往是中性/白色的,僅僅在金屬的情況下才有顏色。 因此,在有專門金屬貼圖的情況下,可以丟棄專門用來描述反射強度/顏色(通常稱為鏡面高光貼圖)的貼圖。

當使用金屬貼圖的時候,絕緣表面?-金屬貼圖中被設置為0.0(黑色)的像素-被賦予固定的反射率值(線性:0.04 sRGB:0.22),并使用反照率貼圖作為漫反射值。對于金屬表面?-金屬貼圖中被設置為1.0(白色)的像素金-?鏡面高光的顏色和強度取自反照率貼圖,漫反射的值在著色器中設置為0(黑色)。金屬貼圖中的灰度值將被視為部分金屬,并將從反照率貼圖中取出反射率,并將漫反射值與該值成比例地變暗(部分金屬的材質并不常見)。

再次強調,金屬貼圖不會比標準的鏡面高光貼圖更加精確。然而,這是一個可能更容易理解的概念,并且可以將金屬貼圖映射到灰度級插槽中以節省內存。在鏡面高光貼圖上使用金屬貼圖的缺點是對絕緣材質的精確值會失去控制。

傳統的鏡面高光貼圖提供了對鏡面高光強度和顏色更多的控制,并且在嘗試復制某些復雜材質的時候提供了更大的靈活性。面高光貼圖的主要缺點是它通常會保存為24位文件,從而導致更高的內存占用。它還要求美術對物理材質的屬性有非常好的了解,從而設置正確的數值,根據你的角度來說,這可能是優點也可能是缺點。

一個有用的提示:金屬貼圖應該使用0或1的值(某些漸變可以用于轉換)。 像涂漆金屬材質不應被設置為金屬,因為油漆是絕緣體。金屬值應代表材質頂層的屬性。

IOR是定義反射率的另一種方法,相當于鏡面高光和金屬輸入。與鏡面高光輸入的最大差異在于IOR值是用差分刻度來定義的。IOR刻度確定的是光線相對于真空穿過這個材質的速度。IOR值為1.33(水)意味著光通過水比它穿過真空的速度慢1.33倍。你可以在Filmetrics折射率數據庫中找到更多的測量值。

對于絕緣體,IOR值不需要顏色信息,可以直接輸入到索引字段,而消光字段應設置為0。對于反射帶有顏色的金屬來說,你需要輸入紅色,綠色 和藍色通道的值。這可以通過圖像來映射一個輸入(其中映射的每個通道都包含正確的值)來完成。還需要為金屬設置消光字段,你通常可以在包含IOR值的庫中找到這個值。

通常不建議使用IOR來代替鏡面高光或是金屬輸入,因為它通常不用于游戲,并且在具有多種材質類型的紋理中獲得正確的值是很困難的。?Toolbag 2中所支持的IOR輸入更多是出于科學用途而非實用用途。

菲涅爾

菲涅爾是表面在掠射角對光反射的百分比。

菲涅爾通常應設置為1(并且與金屬反射率模塊一起鎖定為1),因為所有類型的材質在掠射角的時候都變為100%反射。通過光澤貼圖的內容,微表面差異會自動計算導致表面更亮或是更暗的菲涅爾效應。

注意:Toolbag 2目前不支持紋理貼圖來控制菲涅爾強度。

菲涅爾,在Toolbag 2和大多數基于物理規則的渲染(PBR)系統中,由雙向反射分布函數來自動近似,在這種情況下是Blinn-Phong或是GGX,通常不需要額外的輸入。然而,Blinn-Phong?雙向反射分布函數的菲涅爾還需要一個額外的控制,這意味著對它的使用可能會導致在物理上不準確的結果。

環境遮擋

環境遮擋(AO)表示的是大規模被遮擋的光,通常是從3d模型中烘焙得到。

將環境遮擋添加為單獨的貼圖,而不是將其烘焙到反照率貼圖和鏡面高光貼圖中,這樣可以使得著色器能夠以更智能的方式使用它。舉個簡單的例子來說,環境遮擋功能僅阻擋環境漫反射光(Toolbag 2中基于圖像的光照系統的漫反射分量),而不是來自動態光的直接漫反射光或是任何類型的鏡面高光反射。

環境遮擋通常不應乘以鏡面高光貼圖或是光澤貼圖中的值。將環境遮擋疊加在鏡面高光貼圖上可能是過去常見的技術,以減少不適當的反射(舉個簡單的例子來說,在渲染物體上對天空的反射),但是在現代的技術下,局部屏幕空間反射在表示物體間反射方面做得更好。

空腔貼圖

空腔貼圖表示小規模被遮擋的光照,并且通常由3d模型或是法線貼圖烘焙得來。

空腔貼圖應僅包含表面的凹的區域(凹坑),而不該包含凸的區域,因為空腔貼圖的值會被乘以其他值。內容大部分應該為白色,較暗的部分表示光線被困住的表面凹陷區域。空腔貼圖影響環境和動態光源的漫反射和鏡面高光反射。

或者,反射遮擋貼圖可以被加載到空腔槽中,但是當這樣做的時候,請確保將漫反射空腔值設置為0。

找到材質正確的值

使用基于物理規則的渲染(PBR)系統最困難的挑戰之一是找到準確和一致的值。互聯網上有各種測量值,但是要找到一個有足夠信息可以依靠的庫真的很痛苦。

Quixel的?Megascans服務在這種情況下非常有用,因為它們提供了一個從現實世界數據掃描得來的大型校準后的紋理庫。

大多數庫中材質的值往往是在實驗室條件下從原材質中測量出來的,你在現實生活中很少能看到這種情況。材質的純度、年數、氧化和磨損等因素可能會導致給定物體的真實反射率值會有一些變化。

雖然Quixel庫的掃描是對實際材質測量得來的,但是根據上述各種條件,特別是當涉及光澤度/粗糙度的時候,通常也會在相同的材質類型內發生變化。 上圖中的值更應該被認為是調整的起點,而不是剛性/絕對的參考。

創建紋理資源

有許多方法可以為基于物理規則的渲染(PBR)系統創建紋理資源,你所選擇的確切方法將取決于你的個人偏好和你可以使用的軟件。以下是我用來創建鏡頭的方法的簡要介紹:

首先,使用來自Megascan庫的平鋪紋理和已知材質的測量數據為每種表面類型在Toolbag中創建基本材質,這可能會缺少適當的參考、邏輯和觀察結果來確定這些值。 在Toolbag中創建基礎材質可以快速調整這些值,并提供非常準確的預覽結果。通常,我將基礎材質直接分配給我的高精度模型,以便在進行最終烘烤之前,了解紋理組合在一起的效果。

在設置我的基礎材質之后,我將值和紋理帶入了Photoshop,并開始以合乎邏輯的方式進行分層。黃銅位于底部、鍍鎳、啞光底漆、半光澤紋理漆、刻字用油漆,最后是紅色光澤塑料。這種分層設置提供了一種簡單的方式能夠以簡單的遮罩來顯示下面的各種材質。

可以通過諸如dDo,MariSubstance Designer等應用來實現類似的分層功能。

在我的基層設置完成以后,各種材質混合在一起代表各種磨損階段,我又添加了一些額外的細節。首先我用dDo來生成一個灰塵和污垢渲染通道,然后在光澤貼圖上完成了細微的表面變化。

用于為基于物理規則的渲染(PBR)系統創建內容的確切方法比最終結果重要得多,因此請隨時嘗試并找出最適合你需求的方法。然而,你應該避免在特定的光照環境中調整材質的值使得它在這種特殊的環境下看起來更好。為你的材質使用一個合理的基礎值可以大大簡化調整的過程,并在大型項目增加一致性和資源的復用性,還能確保你的資源無論在何種光照條件下總是看起來很棒。

對美術的一些問答

自從Toolbag 2發布以來,上面有一些作品一直讓我們印象非常深刻,并希望借此機會突出一些特別的作品,并向創作者詢問幾個與基于物理規則的渲染(PBR)相關的幾個問題。

WOJCIECH KLIMAS

Wojciech Klimas是來自波蘭的藝術家,他在DNV工作,目前正在為調查模擬器項目工作。Wojceich也做一些自由職業的工作。

問:適應基于物理規則的渲染工作流程最困難的方面是什么?

答:我認為最困難的地方是要記住維護準確的反照率、反射率和粗糙度值。你可以隨時調整這些值,以在一個特定的光照條件下看起來效果很好,但這可能會在其他光照條件下看起來不太好。如果你正確的設置了這些值的話,讓這些值在物理上是準確的,它會在所有情況下看起來都很好,因為沒有什么比現實更好了。

一開始我在一個屏幕上使用了Photoshop,另一個屏幕則是打開不同材質的反射值的參考圖,但是隨著你的經驗越來越多,事情會變得更加容易,你將不再需要經常檢查這些參考值。

問:你如何決定對材質使用哪些值?

答:通過研究互聯網上提供的參考值。自己進行測量的話是超出了我的范圍,但我想自己嘗試一下,因為我覺得我可以學到很多東西。

問:可以分享一個成為如此棒的藝術家的經驗嗎?

答:這是一個很難回答的問題。我可以給出的最好的建議是學習物理學。學習物理學真的有助于了解材質為什么是這樣的表現。其實捷徑,要讓你的作品非常驚艷,你只需要練習、練習、練習。

JOERI VROMMAN

Joeri Vromman是來自Belguim的藝術家,他將在DAE繼續深造,也可以在他學習期間做一些自由職業方面的工作。

問:適應基于物理規則的渲染工作流程最困難的方面是什么?

答:最困難的部分是將來自不同來源的信息拼湊在一起,作為一個獨立工作的美術,我無法訪問許多工作室所擁有的工具和資源,這在最初工作的時候似乎是非常難以解決的。然而,一旦你深入進來,并且越來越熟悉這個過程,它就會很快地結合在一起。憑借經驗,這一步并不會像剛看來那么大,并且為符合物理規則的著色器制作紋理可以快得多。

問:你如何決定對材質使用哪些值?

答:我喜歡的工作方式包括以下步驟:

l收集對象的每種材質類型/部分的參考對象。

l首先對每種材質類型進行粗加工,這不一定要準確,但應該足夠接近,以便你有一個很好的基礎可以開始調整。

對于每種材質,我從反射率值開始設置,這些值可以在網上的各種圖表中找到,如果我找不到某種材質的反射值,我會試著用邏輯推理來確定它(比如說,磨損的橡膠的反射會少一些,黃銅是銅和鋅的混合物等等)。

反射值是最容易開始的部分,并為你提供其他貼圖的良好基礎。對于絕緣體,最重要的是保持它的值在非金屬通常在的范圍內。對于金屬來說,重要的是首先設置漫反射顏色為黑色,然后找到適當的反射率值。此后,我將快速分配一個粗糙度值,通常只需將材質分為3類(閃亮、中間或是粗糙)。然后我選擇反照率顏色,注意在這里需要保持一致性,而且不要太暗。 我還在各種天空進行切換,以確保材質在各種光照條件下的表現是一致的。一旦這個初始階段結束,我將回頭微調這些值,因為每種材質都是不同的,要牢記基于物理規則的渲染(PBR)的概念。 在這一點上,我喜歡為法線貼圖添加一個基礎的疊加層,用于那些有比較強烈表面變化的材質,例如說不平的塑料。

重要的是要記住反射率圖中的值只有當材料實際變化的時候才會發生變化。

問:你可以分享一個成為如此棒的藝術家的經驗嗎?

答:在我看來,雖然某些東西已經變得更容易了(像反射率值可以從中選擇),但這并不意味著你只能依靠這些方法。獲得可信材質的關鍵仍然是觀察,并能夠令人信服地將你所看到的內容轉換成最終的紋理。

參考文獻

·Sebastien Lagarde’sAdopting a physicallybased shading model

·Sébastien Lagarde’s summary ofRendering Remember Me

·Slideshow ofReal Shading in UnrealEngine 4

·Mike Seymour’sMonsters University:rendering physically based monsters

轉載地址:http://blog.csdn.net/yinzhitongqing/article/details/73992141

【后記】

想學好SP和SD軟件嗎?好好看看這篇文章吧,如果看不懂,看下篇我來講解。哈哈......

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容