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如下
也可以選中結果圖片后在貼圖窗口里直接導出圖片