切換
舊版
前往
大廳
主題

Ray-MMD渲染教學—Material講解、修改方式、手動製作PBR材質

Nagongze | 2021-02-05 11:11:46 | 巴幣 1002 | 人氣 1926

NEW

後續文章統一到我的網站進行更新了,除了圖文還包括了影片教學,如有問題也歡迎至網站內詢問。

Material這個部分需要慢慢看,在講解及修改Fx之前,我們先做高亮處理,這裡我只講Notepad++的部分。
像這樣用顏色區分以後,就可以很清楚的知道自己要修改那些地方了!這個語言高亮可以在上面下載,下載完之後我們就開始講講怎麼使用吧。

Material 講解

這一小節會介紹Materials資料夾中的內容物,紅色字為dev及more_materials分支才有的更多材質。

_MaterialMap

Materials資料夾內各材質的材質貼圖。
  • Fabric02_N by 2gou:二狗先生做的布料法線貼圖
  • skin:皮膚用的法線貼圖
  • shift:目前使用於含各向異性的頭髮材質

ClearCoat

清漆材質。
  • albedo:帶材質自帶基本色的清漆材質
  • black:黑色的材質
  • black_clearcoat:黑色的清漆材質
  • metal_clearcoat:純金屬的清漆材質
  • thin_khaki:卡其色的材質
  • white:白色的清漆材質

Cloth

  • black_coat:黑色大衣材質
  • cloth/cloth_full:一般布料材質
  • cloth_normal:帶絨毛感的布料材質
  • cloth_normal_x2:帶更多絨毛感的布料材質
  • white:白色布料材質

Editor

可使用pmx控制器靈活調整材質參數,帶without map結尾的內容都沒有載入基本色貼圖,使用時分別載入fx及對應pmx,比如使用skin_1.fx就使用skin_1.pmx調整參數。
  • Anisotropic:各向異性
  • ClearCoat:清漆
  • Cloth:布料
  • Glass:玻璃
  • Skin:皮膚
  • Standard:一般
  • Subsurface:次表面

Test

這個分類只有dev及more_materials分支才有,具體分類如下:
英文 中文 同類檔名區分辦法
DielectricAnisotropic 介電各向異性 各向異性、光滑度
DielectricSmoothness 介電光滑度 光滑度
Metallic 純金屬 光滑度
MetallicAnisotropy 金屬各向異性 各向異性、光滑度
MetallicSmoothness 金屬光滑度 光滑度、金屬度
Metalness 含金屬 金屬度

Emissive

自發光材質及科技感滿點的BodyLine,帶Blink字樣代表他會閃爍,x1~x4則是發光強度。

Hair

頭髮材質,各向異性效果放在頭髮上就是俗稱的"天使光",也就是這種頭髮的光澤,圖片這裡
  • hair:一般的頭髮材質
  • hair_sss:會讓頭髮比較透亮的材質
  • hair_with_anisotropy、anisotropy2:帶各向異性的頭髮材質
  • hair_with_anisotropy_rough:帶各向異性的頭髮材質,且比上面兩個乾燥一點

Metallic

金屬材質。
  • Flat ingot rough:較粗糙的金屬材質(不容易反射)
  • Flat ingot smooth:較光滑的金屬材質(較容易反射)
  • Flat ingot worn:帶破損質感貼圖的金屬材質
  • Ingot Bricks:帶磚形質感貼圖的金屬材質
    • brass:黃銅
    • copper:銅
    • gold:黃金
    • iron:鐵
    • Metal:金屬(會使用原底圖)
    • silver:銀

Programmable

特殊性質的材質。
  • Water:純水面材質,沒有水花,需使用裡面的pmx。
  • Wetness:濕潤地面材質,修改fx。

Skin

皮膚材質,帶有次表面效果,可以使用磨皮(SSSS)以外,會帶點"被強光照射時散出的紅色",如下圖這樣,圖片這裡
  • Human:仿真人材質,如果使用模型的皮膚底圖沒什麼妝可以嘗試。
  • TDA:TDA專用版,且WYKP不適用,因為載入了專用厚度貼圖使得透光更漂亮。
  • 剩下的檔案差別在於乾燥(skin)、光滑(body)、顏色深淺(dark)和有無乘算底圖(melanoderm)

Subsurface

和皮膚類似,同樣是次表面效果,這個資料夾裡面放的是玉石之類的。

Transparent

這資料夾裡面放的是玻璃材質,以及帶有金屬度的玻璃材質。

Video

可以將渲染的結果作為此材質的底圖使用(也就是演唱會之類的螢幕捕捉可以用),需要加入Extension中的DummyScreen.x

根目錄的內容

  • material_2.0.fx:預設材質
  • material_skybox.fx:只要是天空球就必須載入的材質
  • README.md:材質系統的說明文件(英文)
  • README_chs.md:材質系統的說明文件(簡體中文)
  • material_common_2.0.fxsub:材質系統的前置檔案,如果想將自己的材質打包給別人,但怕別人沒有一點基礎修改路徑的話,請將這個文件給包進去。

Material修改前注意

了解完什麼材質是什麼作用的以後,接著來講講怎麼修改吧,我先講一下修改的一些要點以及這些材質共通的地方

絕對路徑以及相對路徑

MMD的東西除了使用絕對路徑(PMM存檔使用),以及特效常用的相對路徑(EMM存檔使用)
絕對路徑就是包含著C槽D槽等等,這種完整的路徑,比如(由於會被吃掉改以全型代替):
"F:M_Liang的RAY教學用ray-mmd-devMaterialsHairmaterial_hair_sss.fx"
可以看到,這一行裡面包含了從磁碟區出來的,非常的長,且使用的符號是""
相對路徑呢?他的表示方法就簡短很多了,從你看到檔案的位置當作起點算上層下層,以上面Hair的資料夾內為例好了:
這些材質內的最後一行連結到前置檔案的方式"../material_common_2.0.fxsub",這就表示這個前置檔案的位置是位於Hair資料夾上層的資料夾,也就是代指"F:M_Liang的RAY教學用ray-mmd-devMaterials"這個資料夾內,而這個部分的"../"指的就是上層,這段路徑可以很多組一起使用,比方我想從Hair資料夾去抓Main資料夾的01.png,它的相對路徑寫法就是"../../Main/01.png"
那如果我想抓Hair資料夾內的tex資料夾中02.jpg的話該怎麼做?
這個就屬於下層,由於../是屬於上層的東西,所以在這種部份是不用寫到的,只需要寫"tex/02.jpg"
可以發現連原本的Hair資料夾都不用寫到,從這個規則可以知道,如果要取得在Hair資料夾內的03.bmp,因為它位於同層只需要這樣寫"03.bmp"

顏色代碼格式

在fx內如果想變換顏色,有兩種寫法。
第一種是 = (1.0, 1.0, 1.0)*1.0
第二種是 = (255, 255, 255 )/255*1.0
上面兩種顏色都是白色,順序皆為RGB


Material文件的內容
  • 主要項目
    • Albedo -材質主底色
    • AlbedoSub -材質副底色
      • ALBEDO_SUB_ENABLE,副底色的啟用格式
        • 0 -無效
        • 1 -與主底色乘算(常用)
        • 2 -與主底色指數運算
        • 3 -與主底色加算(常用)
        • 4 -黑色素(常用)
        • 5 -與透明通道混合
    • Alpha -半透明材質
    • NormalMap -法線貼圖
      • MapScale -貼圖強度/深度,越大越深,可以是負值
      • MapLoopNum -貼圖循環次數,循環次數越多,貼圖越細
    • NormalSubMap -副法線貼圖
    • Smoothness -光滑度
      • 0 -光滑度 (常用)
      • 1 -計算光滑度通過1 - 粗糙度 ^ 0.5
      • 2 -使用粗糙度 (常用)
    • Metalness -金屬度
    • Specular -環境反射
    • Occlusion -環境光遮蔽(可烘焙貼圖,實時的遮蔽就是SSAO)
    • Parallax -視差/高度,此選項動畫慎用,會有扭曲
    • Emissive -自發光
      • MORPH_INTENSITY,強度
        • 將多光源中的(Intensity+/-)表情用於材質
      • APPLY_BLINK,閃爍
        • 0 -無效
        • 1 -數值越大閃爍速度越快
        • 2 -可使用pmx內的Blink表情改變閃爍速度
    • Shading Mode、CUSTOM_ENABLE -自訂材質分類,逗號以後分別是CustomACustomB)
      • 0 -通常,沒有特殊功能
      • 1 -皮膚,透亮程度透出顏色
      • 2 -自發光,A及B設定無效
      • 3 -各向異性,各向異性程度效果清晰程度
      • 4 -玻璃,折射程度散射色(啟用此項須在pmxeditor設定非透視率<1才能正常使用)
      • 5 -布料,絨毛程度絨毛色
      • 6 -清漆,光澤度、無效
      • 7 -次表面,透亮程度透出顏色
      • 8 -硬邊卡通著色,陰影範圍(0.5為正常值)陰影色
      • 9 -軟邊卡通著色,陰影範圍(0.5為正常值)陰影色
  • 共通組合設定
    • MAP_FROM(材質顏色路徑)
      • 0 -只要該段落的參數類型屬於可變動顏色的,就會從參數裡頭取顏色
        • 比如Albedo、AlbedoSub、emissive、customB
      • 1 -使用靜態圖片,採用相對/絕對路徑,路徑輸入在MAP_FILE
        • 可使用bmp, png, jpg, tga, dds, gif, apng
      • 2 -使用動態圖片,採用相對/絕對路徑,路徑輸入在MAP_FILE
        • 可使用gif, apng
      • 3 -使用pmx中tex插槽內的貼圖
      • 4 -使用pmx中spa插槽內的貼圖
      • 5 -使用pmx中toon插槽內的貼圖
      • 6 -將此材質使用於背景AVI或者螢幕捕捉的內容
        • 需使用Extension中的DummyScreen.x
      • 7 -使用pmx中的環境色
      • 8 -使用pmx中的反射色
      • 9 -使用pmx中的反射強度
        • 此代號僅可使用於光滑度
    • UV_FLIP(UV翻轉)
      • 0 -不翻轉
      • 1 -X軸翻轉,也就是左右翻轉
      • 2 -Y軸翻轉,也就是上下翻轉
      • 3 -X軸、Y軸皆翻轉,上下左右都翻轉
    • MAP_SWIZZLE(從貼圖內的通道獲取資訊)
      • 0 -從R通道獲取
      • 1 -從G通道獲取
      • 2 -從B通道獲取
      • 3 -從Alpha(透明)通道獲取
    • APPLY_SCALE(MAP_FROM使用的代號為1~6,又想在fx內改顏色就必須啟用,純色則沒有關係)
      • 0 -不啟用
      • 1 -啟用,且做乘算處理(常用)
      • 2 -啟用,且做指數運算處理
    • APPLY_DIFFUSE(將pmx的擴散色乘算到貼圖上)
      • 0 -不啟用
      • 1 -啟用(常用)
    • APPLY_MORPH_COLOR(pmx內有名為R+G+B+這三個表情,可啟用選項換顏色,啟用後會純黑)
      • 0 -不啟用(常用)
      • 1 -啟用

修改方式

改好高亮、也講完Material的內容大概講什麼,接下來怎麼改參數只要遵循以下內容。
  1. 等號(=)及分號(;)不要刪除
  2. define行對應的代號請輸入正整數
  3. 路徑文字不要將引號(")刪除
  4. 僅有float3可以輸入顏色代碼
到這裡為止,最主要的內容就是講「怎麼改」,並不會給參考值,因為每個材質的細項都環環相扣,這部分需要自行拿捏,只要會出錯就是因為上面這幾條犯了,除此之外理論上不會有任何問題,如果有狀況可以對著錯誤訊息全選加貼上到留言裡,我會注意看。

手動製作帶PBR貼圖的Material

如果覺得上一篇裡面關於已經製作好文件的材質不夠用,可以嘗試手動製作,這邊講一下對應的名字!

CC0 Texture

CC0 Texture貼圖名稱 Ray渲貼圖對應名稱
Color Albedo
Normal NormalMap
Roughness Smoothness(須將type設置成2)
AmbientOcclusion Occlusion
Displacement Parallax
IdMask 暫無作用


FreePBR

此篇僅做UE版貼圖的示範。
FreePBR(UE) Ray渲貼圖對應名稱
Preview 預覽材質用的截圖,沒有使用效果
albedo Albedo
ao Occlusion
height Parallax
metallic Metalness
normal-dx NormalMap
roughness Smoothness(須將type設置成2)










Texture Haven

Texture Haven Ray渲貼圖對應名稱
ao Occlusion
diff Albedo
disp Parallax
nor NormalMap
rough Smoothness(須將type設置成2)
rough_ao 暫無作用


創作回應

更多創作