1. 程式人生 > >unity再戰PBR材質流程與材質製作實踐

unity再戰PBR材質流程與材質製作實踐

這篇在上一篇的基礎上增加了對PBR的認識,主要包括了金屬度和粗糙度(光滑度)的測試

unity裡PBR流程,PBR材質屬性具體分析

傳統模型到PBR的流程,一些PBR製作轉換工具介紹

以前這篇http://blog.csdn.net/shenmifangke/article/details/50587290

先上一張unity Scene場景的實時效果圖(材質的貼圖來自網路經過修改)

這兩種材質都是基於unity自帶材質球就是standard

下面就說說這個建立材質球后預設的材質

Unity5中重點推出了一套基於物理的著色(Physically Based Shading,PBS)的多功能Shader,叫做標準著色器(Standard Shader)。這套Shader的設計初衷是化繁為簡。想用這樣的一個多功能Shader,來代替之前多種多樣的Shader各司其職,對於不同的材質效果,需要不同的Shader的局面。

 Unity 5中目前有兩個標準著色器,一個名為Standard,我們稱它為標準著色器的標準版,另一個名為Standard(Specular Setup),我們稱它為標準著色器的高光版,它們共同組成了一個完整的PBS光照明模型,且非常易於使用。其實這兩個Shader基本差不多,只是有細微的屬性引數上的區別。標準版這邊的_Metallic(金屬性)、_MetallicGlossMap(金屬光澤貼圖),被高光版的_SpecColor(高光顏色)、_SpecGlossMap(高光顏色法線貼圖)所代替。

標準著色器主要是針對硬質表面(也就是建築材質)而設計的,可以處理大多數現實世界的材質,例如石頭、陶瓷、銅器、銀器或橡膠等。同時,它也可以非常出色地處理一些非硬質表面的材質,例如面板、頭髮或布料等。

上面一段理論摘自http://blog.csdn.net/poem_qianmo/article/details/49556461

下面是我翻譯的官方金屬度流程的截圖(我認為金屬度流程的更通用,但是由於技術限制也會有一些效果無法用這種材質實現)

可以看出光滑度(粗糙度)是儲存在金屬度的透明通道里的

這也就是為什麼沒有放貼圖的時候有個smooth滑塊,但是放了貼圖以後就沒有這項了,因為這項需要被一個通道的圖片控制

下面我們來做個測試


可以在ps裡做一張如上圖所示的tiff或者tga格式,(估計psd也行吧)

注意可以新建一個通道,單獨在上面繪製,不需要可見

另外說下png不行,它的透明通道是自動的

另外把紅色通道做的和其他不一樣也方便測試高光材質流程(這個可以自己調整材質測試)

然後就能得到下面圖的效果


可以發現這兩個引數還是非常重要的,嚴重影響了視覺效果

一般性的如果需要在unity裡有好的PBR效果,需要三張貼圖(可以說是四張圖 因為金屬度和粗糙度合併了)

顏色貼圖

金屬度+粗糙度

法線貼圖

如果需要更好的效果可以再增加height map ,occlusion map ,細節貼圖等等

需要注意到是occ貼圖在unity中遇到光照會自動計算,能顯著增加空間效果

另外說下金屬度和高光流程,其實兩種是可以在一定程度上相互轉化的,substance就可以搞定(可以看後面講到)

兩種其實也沒有強求用哪種,只是金屬度的引數更加理性,其他的還是要看專案的藝術效果

當然雖然兩種材質在效果上有很大重合空間,也有不能達到的地方,舉個例子,對於黑色幾乎不反光的物體

http://blog.csdn.net/shenmifangke

金屬度不能做到高光流程那麼黑的效果(除非去掉環境球)

下面是金屬度和流程的區別,我加了自己的想法(需要更多內容可以關注或者加我qq)


PBR圖製作流程

流程上有很多東西可以使用,我這裡說的主要是substance designer軟體

因為unity直接支援它的材質,sbsar格式能直接在unity中使用,而且據說還有其他軟體的支援性

Quxel\Substance\Maya\3dsMax\UE\U3D5\ce已經全線PBR向進化,Disney Principled BRDF就是一個很好的範例,Hyperion和最新的RenderMan都採用了這個技術。虛幻引擎4中的材質系統也是基於這個模型的簡化版(Real Shading in UE4)。

SP(substancepainter)、SD(substance designer)、Quxel(NDO、DDO、3DO以及MegaScan材質庫,四個合起來叫做Quixel Suite套件)這些生產工具使得美術在工作時增加了效率,理清了思路,越來越趨向於及時反饋和所見即所得,而且與幾大引擎介面互導也方便了許多,很大程度的減輕了純美術方面的負擔。

下面是簡單操作流程圖

具體的就不說了,自己可以搜教程有很多的,需要注意到是軟體有兩個

substance designer是修改和建立材質的,如果需要直接刷貼圖可以用substance painter 可以直接看到刷上去的效果

他們之間可以互相導,主要還是看工作流程,下面這張就是工作關係


substance designer可以匯出可供unity使用的材質球

substance painter可以畫貼圖到substance designer看效果並修改

link貼圖和模型


這裡記得雙擊專案才能關聯帶有多套uv的模型(原始模型不好看還有版權問題 所以打個碼)


這是處理後的效果,可以看出沒打碼的部分更加真實了

http://blog.csdn.net/shenmifangke

一般匯出的時候可以直接將粗糙度貼圖併入金屬度的alpha通道里

要匯出材質的話可以之際publish如下

也可以選中結果圖片後在貼圖窗口裡直接匯出圖片