前言
在真實的世界裡面,玻璃不可能永遠都是這麼清澈透亮的,隨著下雨、人為因素等等多多少少在玻璃上都會留下歲月的痕跡,這篇主要就是簡單的透過Substance painter作出擁有髒污的Texture並實際運用在Unity HDRP上面,也可以透過Painter強大的功能做出玻璃上有刮痕或是其他立體效果的表現。
- 開啟Substance Painter後的第一件事情就是先修改一下Shader Setting,開啟Shader Setting 後點選 pbr – metal – rough-with -alpha,這樣就可以做出透明的材質,接著在Texture Set Settings 點選加號新增Opacity Channel。

接著新增一個fill layer當作Glass的顏色以及透明度圖層,這時候就可以調整Base color 以及Opacity的強度了

2. 接著我們來做一些玻璃上歲月痕跡的效果,首先因為為了要清楚看到玻璃上的效果,我們先在Glass layer留下color即可

另外新增一個fill layer 當作Roughness 並調高Roughness的量

然後我們在Roughness的圖層點選右鍵建立一個Black mask 遮罩,建立好遮罩建立好後再遮罩的圖層再新增一個Fill layer圖層,在Fill layer裡面找到Gray Scale 選擇Grunge Rough Dirty,這時候其實已經看到一點玻璃上的痕跡效果。

讓我們將Channel 轉到Roughness看一下實際上的效果,接著回到Glass的圖層將Rough channel打開並將數值調整致0.5 ,同時間也記得要打開Glass圖層的OP Channel才看得到目前的效果。

我們將Channel轉回到Material 並轉動一下光源看一下效果,這時候發現玻璃上已經充滿了相當多的痕跡

因為剛剛看得出來玻璃上的的痕跡相當的多且平均,看起來有點太髒了所以我們來進行調整一下,接著我們在遮罩上面點選右鍵選擇新增Level,新增好Level後就可以依照自己所需要的需求進行調整玻璃上痕跡的強度。

3. 目前的效果看起來不錯不過有點太過於單一,所以我們在新增一個效果讓玻璃上的痕跡更為豐富。

調整好以後我們來看一下效果

因為是四方連續的關係,我們目前看到的使用痕跡看起來還是很有規律的感覺不夠真實,所以我們在新增fill選擇其他的source玻璃的紋路看起來更加自然,這方面蠻像在photoshop裡面製作的流程。
基本上的流程跟之前fill的流程一樣就不再贅述,這邊大家可以選擇自己覺得不錯的source或是調整到你覺得滿意的效果。

調整好以後我們來看一下效果如何

4. 如果覺得光是玻璃上的紋路不夠表現髒汙玻璃的話,這邊我們來加強玻璃上髒汙的效果,首先我們將Dirt的Smart Material 拖曳到圖層使用,一開始看到的髒污太重了,所以我們先調整透明度到覺得舒服的程度,並且大家可以玩一下Dirt Smart Material裡面的各種參數調整到覺得適合的感覺。

調整好以後如果有想要先在Painter裡面看一下Render出來的效果可以到Vray視窗,先到Shader Setting裡面調高Refraction這樣透明玻璃才會顯現效果。

看起來沒什麼問題以後我們就可以開始Export Texture了,如何Export Unity HDRP 的 Texture 可以看這篇,這邊就不再贅述了。

5. 最後我們打開Unity HDRP ,打開後就像以製作Material一樣新建一個Material並依照Texture名字放入,就可以看到玻璃就像在Painter Vray裡面看到的帶有痕跡的玻璃了。

在Unity HDRP裡面可以清楚看到我們在painter裡所做的髒汙效果清楚的在Unity HDRP裡面呈現,是不是很簡單呢!

小結
Substance 在玻璃的材質上有相當程度的自由度可以製作不同的玻璃材質,這次使用的是Substance 的painter 軟體製作,比較像3D軟體的Photoshop利用source來製作髒汙效果,未來會為大家介紹利用Designer所製作的另一種串接Node方式來製作玻璃材質。
參考資料:https://youtu.be/T4_EgHx5GhA