Displacement Map

displacement map一直廣泛使用在asset當中

但常常有朋友會問使用的細節與方式

​雖然有很多教學講述這一塊的操作,但相關的限制與後端的銜接卻很少提及.

導致模型修得很混亂,RIG,texture更新的很痛苦,lighting拆層沒頭緒....算出來對不上

不論從ZB輸出或是其他管道,其實操作上都有滿多要注意的事項.

我將生成方式歸類為3種

1.雕刻(MUBOX,ZBRUSH….)

2.圖像轉換(NDO,B2M;photoshop…..)

3.混和編輯.........

SampleA

雕刻(MUBOX,ZBRUSH….)

雕刻注意事項

  1. 避免非深度類型的筆刷做過強的處理(pinch,nudge,blob......)
    尤其是嚴重影響topology的都要注意....無法正確還原貼圖的筆刷我是不建議用

     

  2. ​物件的scale維持1,單位都請先在3D軟體做好確認.多花5分鐘比你後面搞3-5天划算得多
     

  3. 不要雕刻超過base model輪廓過大的細節,會這樣只代表base model大輪廓做的不夠完整.硬是用雕刻處理會延伸出貼圖拉扯與animation做表演時無法可視化的困擾.簡單說就是把模型做好啦.....

​準備好UV處理完成的頭部,進入Zbrush(請先不要使用udim方式,後續會再補充).

請處理以下幾件事:

  1. 還未建立任何SDiv前,請先在morph traget StoreMT

  2. 建立SDiv,並作雕刻

  3. create displacement

我們需要了解一件事情,在經過雕刻之後模型原始的外型是被改變的.displacement map是比較最低跟最高的差異所求出的資訊.如果不清楚最後在哪個模型上使用相符的貼圖,最後輪廓上會有過大的差異.

如圖所見兩者在產生的圖像上就已經有相當大的區別.

大多人的處理都會忽略一個重點,就是需要避免掉subdivid所產生的資訊,正確的資訊應該只有我們雕刻的細節

可是GOZ也沒這樣做啊....他算出來也是正確的阿.....

沒錯!對應base model以及產生的貼圖的確可以達到非常接近的效果,但是你了解模型與輸出關系的話有幾個好處

  1. 可以判斷各種階段的圖像輸出(例如進入RIG,shape已經不適合再做改變)

  2. 進入混和編輯階段避免過多的資訊相加

  3. ​可獨立進行動態編輯

​(左)未經雕刻與經過雕刻(右)的base model,以及使用morph traget產生displacement的差別

那就開始輸出與render設定,基本上有使用morph target的朋友都知道.它像是個陷害型按鈕.忘了回不去,按了回不來.基本上我也是看狀況去使用它.我常使用的方法有兩種

  1. 先在原始狀態建立StoreMT,雕刻完畢回到SDiv1使用morph target swicth為原始狀態.再產生displacement map(產生完記得再按一次swicth變換為雕刻後的變形狀態...)
     

  2. 雕刻完畢回到SDiv1,存檔並import原始obj,再產生displacement map.檔案也需要重新開啟

這兩種作法其實原理是一樣的,只是做法2會在忘了做morph target後還是可以得到一樣的資訊.

使用MAYA render 與ZB的一致結果,在有32bit之後省去了不少麻煩.在此我們使用ARNOLDER RENDER為設定基礎

  1. texture color balance alpha gain = 1  alpha offset = alpha gain*-0.5 (使用16bit需紀錄ZB內的dispacement 強度=alpha gain)

  2. texture file attributes color space = Raw

  3. shape arnold subdivision type=catclark(這部分會再補充),iterations =4

  4. uv smoothing = linear

  5. dispacement attributes bounds padding =1,auto bump on

  6. ​geo scale = 1

SampleB

圖像轉換(NDO,B2M;photoshop…..)