Substance Designer to Unity HDRP Work flow

前言

之前跟大家介紹了Substance designer的基本製作流程,需要看範例製作的請到這裡,接著就到了最重要的output到Unity的部分了,當然製作出來的材質球當然一定要支援Unity HDRP才能算是一顆好的材質球,Designer跟painter不太一樣沒有預設的HDRP選項可以選擇,只能輸出成sbsar材質球來使用,但是在Desginer裡面又沒有預設的Mask map可以串接,所以接下來會跟大家一起用簡單的流程製作出mask map。

  1. 首先因為我們製作好的材質球裡面少了HDRP世界裡面最重要的Mask map,所以這邊我們首先建立一個Output Node,並在在Output Node裡面的Integration Attributes 的 Usage 新增一個 item,這個item裡面需要RGBA正是我們需要的mask map通道,這邊的Identifier 跟labal都可以先將名字取名mask。

2. 設定好output node之後我們需要一個Alpha Merge接收RGBA通道,因為mask map裡面最重要的就是RGBA。

3. 在HDRP裡面的Mask map 需要RGBA四個通道,如果有興趣更了解mask map通道的由來請到這裡複習一下。基本上Mask map是由以下四個通道所組成的

R-Metallic Map

G-AO Map

B-Detail Map

A-Smoothness

Metallic 跟AO 都直接將原本在Designer建立好的最後輸出node串連過來就好,但是Smoothness map 在designer裡面是沒有的,所以我要用Roughness去反轉黑白它當作mask map裡面的Smoothness, 這邊建立一個Invert Grayscale Node 將 Roughness 串連過來,再將輸出好的node串聯到 Alpha Merge 的Alpha通道,這樣就完成了我們在Unity可以用的Mask map。

4. Mask map 處理好以後我們就可以來Publish了,因為其他的map我們之前就做好了,這邊點選Exploer的Publish selected element,找個地方儲存就可以得到傳說中的 sbsar材質球了。

5. 接著我們打開Unity HDRP, 將剛剛儲存好的 sbsar材質球 丟進來,丟進來你會發現這棵材質球根本不直接支援Unity 的HDRP,是不是很生氣!沒關係我們可以用painter的做法來設定這顆材質球。

5-1 首先點開材質球你會發現裡面充滿了很熟悉的材質,但我們需要的是唯一一個上面有Substance Logo的材質。

5-2 選擇了材質後可以在右邊的視窗看到有一個Generate All output的選項,將這個選項打開,就可以將我們在Designer輸出的map通通叫出來。

5-3 因為Unity HDRP裡面Height map不會出現,所以記得要點開Displacement mode選擇Pixel displacement 這樣 Height map 的通道才會出現。

6. 接著就是使用過B2M 或是painter的人最熟悉的做法,首先建立一個新的材質球,一樣一個蘿蔔一個坑,該去哪裡的map就把他丟進去。

將新建好的材質球設定完成後丟到模型,最後我們就完成了Substance Designer to Unity HDRP Work flow了。

小結:

其實Designer跟painter最後的輸出到Unity HDRP一樣無法直接在Unity上使用,算是有點小麻煩!還是需要手動去放置map才能完成材質球,但是designer可以利用函數的方式製作可調整的屬性參數,也算是另一種製作材質球的選擇。

練習參考:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *