Ray-MMD教學4️⃣—fx及Conf修改
type
status
date
slug
summary
tags
category
icon
password
修改前的準備
語法高亮處理
在講解及修改Fx之前,我們先做高亮處理,這裡我只講Notepad++的部分。
像這樣用顏色區分以後,就可以很清楚的知道自己要修改那些地方了!
這個語言高亮可以在上面下載,下載完之後我們就開始講講怎麼使用吧。
修改前的路徑概念
處理完高亮之後,接著來講講怎麼修改吧,我先講一下修改的一些要點以及這些材質共通的地方。
絕對路徑
MMD的東西除了使用絕對路徑(PMM存檔使用),以及特效常用的相對路徑(EMM存檔使用)絕對路徑就是包含著C槽D槽等等這種完整的路徑,比如:“F:\M_Liang的RAY教學用\ray-mmd-dev\Materials\Hair\material_hair_sss.fx”可以看到,這一行裡面包含了從磁碟區出來的,非常的長,且使用的符號是“\”
相對路徑
他的表示方法就簡短很多了,從看到檔案的位置當起點算上層下層,以Materials中的Hair資料夾內為例:這些材質內的最後一行連結到前置檔案的方式“../material_common_2.0.fxsub”這就表示這個前置檔案的位置是位於Hair資料夾上層的資料夾,也就是代指:“F:\M_Liang的RAY教學用\ray-mmd-dev\Materials”這個資料夾內。
而這個部分的“../”指的就是上層,這段路徑可以很多組一起使用,比方我想從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
修改語法需要注意的地方
接下來怎麼改參數只要遵循以下內容。
- 等號(=)及分號(;)不要刪除
- define行對應的代號請輸入正整數
- 路徑文字不要將引號(")刪除
- 僅有float3行可以輸入顏色代碼
到這裡為止,最主要的內容就是講「怎麼改」,並不會給參考值,因為每個材質的細項都環環相扣,這部分需要自行拿捏,只要會出錯就是因為上面這幾條犯了,除此之外理論上不會有任何問題,如果有狀況可以對著錯誤訊息全選加貼上到留言裡,我會注意看。
整體設定(Conf)
在此節講解一下ray.conf的內容,ray_advanced.conf並不會提到,因為它只是關於光源亮度、效果強度等部分的最小值及最大值,如果直接在表情滑塊輸入大於1或者小於0的數值也可以突破這個限制。
要注意的是,Conf、fxsub並不像fx一樣可以隨時更新,需要按下MME列表中的全部刷新或者重開MMD才會生效。
MMD主光設定(Sun light)
SUN_LIGHT_ENABLE
- 0為不啟用MMD主光源
- 1為開啟
- 2為按照光照角度調整光強
Sun Shadow Quality
主光陰影的品質,如果電腦還不錯,維持在4足以。
基於圖像的光照(Image Based Lighting)
如果使用帶有文字的天空球並且反射到渲染場景內可能會有左右顛倒的情況,啟用可以將天空球垂直翻轉
霧氣標籤(Fog Tab)
如果不啟用,霧氣將無效
多光源標籤(Light Tab)
如果不啟用,多光源將無效
輪廓線(Outline Tab)
啟用後可使用,選項差異是抗鋸齒類型
輪廓線啟用後模型必須使用PE打開輪廓線才可以使用此功能,如下圖。
toon材質(Toon-shading material)
0為不啟用,1、2選項差異——是否帶有柔光
環境光遮蔽及直接遮蔽(Screen Space Directional Occlusion)
採樣越高品質越好,但同時也會讓畫面越髒。
螢幕空間反射(Screen Space Reflection)
啟用後可反射天空球以外的內容,若要開啟,維持在選項2足以。
螢幕空間次表面散射(Screen Space Subsurface Scattering)
磨皮
景深(Bokeh Depth Of Field)
啟用後可使用Ray的景深,具體說明請看Ray-MMD教學3️⃣—控制器與天空球 的景深調整。
人眼適應(Eye Adaptation)
自動調整曝光
泛光(Bloom)
HDR_BLOOM_MODE
選項差異是泛光產生時的條件,只有選項1的泛光帶有顏色(但極容易範圍過大)
Simple lensflare
鏡頭面向光照時的眩光,如下圖
Simple glare star
泛光時呈現的樣子
- 0為不啟用
- 1、2為一字型泛光,前者只會泛藍色光,後者會因為選擇的Bloom模式有顏色差異
- 3、4為十字形泛光,選項差異如同上一條,只是前者變成橘色
顏色過濾(Tonemapping)
可以自行調整代號感覺一下顏色差異,每個模型用的感覺不一樣。
抗鋸齒(Anti-Aliasing)
AMD顯卡可能吃不到
色彩偏移(Postprocess Dispersion)
色彩偏移的方式差異
材質系統
主要項目
- 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 -自訂材質分類,逗號以後分別是CustomA、CustomB)
- 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,Main也是適用的,雖然僅限於非透明材質
手動製作帶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 | 暫無作用 |
使用NormalMap時,請確定使用的是OpenGL的貼圖。
Last update: 2023-10-07