眼津さんのMMD ~ザラザラからツヤツヤまで編~


着衣服ごと瞳残し仰け反り呆け顔ザラザラ石化派の眼津さんです
眼津さんのMMDのやり方を呟くコーナー第2弾
今回はRay-MMDの質感調整について紹介します
ちょっと難解かもですが自分なりに落とし込んでもらえればと


まずはサンプルでお試し


Ray-MMDの質感調整には「材質ファイル」と呼ばれるものを用意する必要があります
最初からいくつかのサンプルがあるのでまずはそちらでお試しです
MMDを起動してRay-MMDとモデルを読み込んだ状態にしてください

前回までの状態

エフェクトの割り当ては前回とほとんど同じ手順です
MMDの画面から「MMEffect」→「エフェクト割り当て」→「MaterialMapタブ」の順に開いていきます

材質ファイルの割り当てを行う「MaterialMapタブ」

デフォルトでは「material_2.0.fx」という材質ファイルが割り当てられています
「material_2.0.fx」は見た目が変わらない標準の材質になります
キャラクターのモデル名が書いてある行をダブルクリックすると他の材質ファイルを選択できます
今回は標準で用意されている材質ファイルから以下を選んでみましょう

~\ray-mmd-1.5.0\Materials\Metallic\Flat ingot rough\material_rough_brass.fx


カチーン...

ファイルを適用するとこんな感じになります!
"brass"なので黄銅といったところでしょうか
全身がカチカチで鈍い光沢を放つ金属になりました
とりあえずMaterialsフォルダに入ってる材質ファイルを色々と試すだけでも楽しいですが中には適用するだけで激重になるエフェクトもあるので要注意です

こんな感じで「MaterialMaps」に材質ファイルを適用すればモデルの見た目をガラッと変えることができます
今回は自分好みの材質ファイルを自作する方法を紹介します


材質ファイルの作成に必要なもの


  • テクスチャ画像
  • 法線マップ画像
  • テキストエディタ

事前準備として上記のものが必要です

1つ目はMMDで固めをやるなら必須装備のテクスチャ画像です
検索エンジンで「石 テクスチャ」と検索すればたくさん出てきます
画像は大きいほど良いですが小さくてもやりようはあります
眼津さんが良く使うものだと1000×1000~4000×4000ピクセルとか
良い画像があれば一先ず適当な場所に保存しましょう

眼津さんのテクスチャコレクション

2つ目は法線マップ つまり凹凸感を表現するための画像です
同じテクスチャでも法線マップの有無で質感は全然違うのです

法線マップなし(左)と法線マップあり(右)

法線マップ画像はこちらのサイトを使って作成できます

「Load」からテクスチャに使う画像を選択すると青い画像になって出力されます
「Save」をクリックすると別タブで画像が表示されるのでこれも適当な場所に保存しましょう

「Load」して「Save」

3つ目のテキストエディタは材質ファイルを編集するのに使います
つまりプログラミングっぽいことをやります
と言っても編集する箇所は一部だけなので専門知識は(ほぼ)不要なはずです
メモ帳でも大丈夫ですが眼津さんのオススメは「Visual Studio Code」というソフトです
ファイルの中身に分かりやすく色付けをしてくれるのでとっても便利です
無料でインストールできるので気になる方はぜひぜひ

とっても見やすい「Visual Studio Code」


作業用のフォルダを用意する


準備が整ったら画像と材質ファイルを保存していくフォルダを用意しましょう
フォルダ構成はセンスの世界なのでお好きなようにしてもらってOKです
ただしフォルダ構成を変えると材質ファイルの一部を修正する必要があったりします
あまり詳しくないという方は眼津さんのマネをしてみてください
眼津さんは以下のようなフォルダ構成にしています

~\ray-mmd-1.5.0\Materials\MyMaterials📁
∟albedo📁
∟normal📁  

フォルダ名とファイル名は半角英数にしたほうが文字コードで悩まないです
この解説ではフォルダ構成は上記の前提で進めます

「MyMaterialsフォルダ」には2つのフォルダと作成した材質ファイルたちを置きます
眼津さんは材質ファイルをたくさん作るので石化とか凍結とかジャンル毎にフォルダを作っても良かったかもと思ってたり

「MyMaterialsフォルダ」の中

「albedoフォルダ」には先ほど用意したテクスチャ画像を置きます
ファイル名は自由ですが眼津さんは"1.png"みたいな感じにしてます
画像がたくさんあるとネーミングに悩むので敢えての番号呼びです

「albedoフォルダ」の中

「normalフォルダ」には法線マップ画像を置きます
テクスチャと法線マップは基本的にセットで使うので同じファイル名にするのがオススメです

「normalフォルダ」の中

これで事前準備は完了です!
次は材質ファイルをつくっていきましょう!


材質ファイルをつくる


まずは材質ファイルの中身がどうなっているのかを覗いてみましょう
テキストエディタで「material_2.0.fx」を開いてみてください

\ray-mmd-1.5.0\Materials\material_2.0.fx

 
こんな感じのことが書いてあるはずです


読める人には読めるけどそうでない方にはさっぱりだと思います
というわけで固めMMDに特化させたものを紹介します

テキストエディタで新規ファイルを作成してそのまま名前を付けて保存してください
保存場所は「MyMaterialsフォルダ」でファイル名は「○○.fx」の形式にしてください
そして空っぽのテキストファイルに以下の内容をコピペしてください


テクスチャと法線マップのフォルダ名やファイル名が違う場合は2~3行目のファイルパスを修正してください
フォルダ構成を変えてる場合は一番最後の行も修正が必要ですが眼津さんと同じようにしているならそのままで大丈夫なはずです
ひとまずこの状態で上書き保存してください

保存したらモデルに適用させてみましょう
MMDの画面から「MMEffect」→「エフェクト割り当て」→「MaterialMapタブ」です

適用させたときにエラーメッセージが表示されなければ成功です
見た目はほぼ変わらないですがエフェクトが適用されているはずです

作成した材質ファイルを割り当て(見た目変わらない)

次に材質ファイルをちょっとだけ編集してみましょう
6行目にある以下の文を修正します


今「ALBEDO_MAP_FROM」という項目に「3」を指定しています
詳しい意味は後で紹介します
まずは「3」を「1」に書き換えてテキストを上書き保存してください


テキストを保存するとMMDの方で自動的に修正が反映されます
「albedoフォルダ」に置いたテクスチャ画像が貼られていたら成功です

ピシ...パキ...

こんな風に質感を調整する時は

  1. 材質ファイルを編集
  2. 材質ファイルを上書き保存
  3. MMDで質感を確認

という流れで進めていきます
もし材質ファイルを保存した時にエラーが発生した場合は編集内容を一旦戻して再度保存してください


材質ファイルの説明


材質ファイルの中身を上から順に説明していきます
基本的にはこちらの解説を固めMMD向けに翻訳した内容になります
リンク先の解説も非常に分かりやすいので読んでおいて損はないです

テクスチャ

 ここに記載したパスを参照してモデルに張り付ける画像を決めます
 MY_ALBEDO:テクスチャに使う画像ファイルのパスを指定します
 MY_NORMAL:法線マップに使う画像ファイルのパスを指定します

基本色

 モデルの色味を変えられます
 理想の色を出すには少々コツが必要です

 ALBEDO_MAP_FROM:モデルに貼るテクスチャの参照先を決めます
 0:テクスチャは使わず後で紹介する「albedo」の色を参照します
 1:ファイルパスで指定したテクスチャを参照します
 2:指定できないです
 3:モデルの元のテクスチャを参照します

 ALBEDO_MAP_APPLY_SCALE:取得したテクスチャに他の色を掛け算します
 0:テクスチャをそのままモデルに貼りつけます
 1:テクスチャに「albedo」で指定した色を乗算します
 2:テクスチャに「albedo」で指定した色を累乗します
 明るいテクスチャは「1」で暗いテクスチャは「2」を指定すると良いです

 albedo:いわゆるRGB値で色を指定します
 赤緑青の色の強さを0.0~1.0で表現します
 (1.0, 1.0, 1.0) →白 (0.0, 0.0, 0.0) →黒■
 (1.0, 0.0, 0.0) →赤 (0.0, 1.0, 0.0) →緑
 (0.0, 0.0, 1.0) →青 (1.0, 1.0, 0.0) →黄
 (0.5, 0.5, 0.5) →灰 (0.4, 0.5, 0.7) →青っぽいグレー

 以下に基本色の書き方のサンプルを載せます

モデルをグレーで染める


テクスチャを青っぽくして貼る


元のテクスチャを赤っぽくする


副次色

 基本色に対してもう一つの色やテクスチャを掛けたり足したりできます
 石化途中のような表現に活用できます
 必須科目ではないので難しければスキップしても大丈夫です

 ALBEDO_SUB_ENABLE:基本色と副次色の計算方法を指定します
 0:副次色を無効にします
 1:基本色と副次色を乗算します
 2:基本色と副次色を累乗します
 3:基本色と副次色を足し算します
 4と5はあまり使ったことないです

 Q.色の掛け算と足し算ってどう違うの?
 例えば白はRGB値がすべて1.0なので掛け算に使っても色は変わりません
 橙×白 = (1.0, 0.5, 0.0) × (1.0, 1.0, 1.0) = (1.0, 0.5, 0.0)
 でも白を足し算に使うと元の色は真っ白になります
 橙+白 = (1.0, 0.5, 0.0) + (1.0, 1.0, 1.0) = (2.0, 1.5, 1.0) 
 RGB値は (1.0, 1.0, 1.0) がMAXでそれ以上は白のままです

 逆に黒は足し算しても色は変わりませんが掛け算に使うと真っ黒になります
 橙×黒 = (1.0, 0.5, 0.0) × (0.0, 0.0, 0.0) = (0.0, 0.0, 0.0) ■
 橙+黒 = (1.0, 0.5, 0.0) + (0.0, 0.0, 0.0) = (1.0, 0.5, 0.0) 

 こんな計算方法もあります
 ・明るさを半分にする
  (1.0, 0.5, 0.0) × 0.5 = (0.5, 0.25, 0.0)
 ・少しだけ白っぽくする
  (1.0, 0.5, 0.0) + 0.2 = (1.2, 0.7, 0.2)


 副次色も参照先や計算方法を指定できますが考え方は基本色と同じです
 以下は副次色の活用例です

モデルのテクスチャと指定したテクスチャを4:6で重ねる



反射色

 「反射の強さ」を設定した時に反射される色を指定します
 基本的には白 (1.0, 1.0, 1.0) で良いかと

周りの色に合わせると雰囲気が出るかも

透過

 0.0~1.0でモデルの透明度を指定します
 0.0で完全な透明になります

自身は透けない"なんちゃって半透明"です

法線

 0.0~1.0で法線マップを使った凹凸感の強さを指定します
 0.0でツルツルになります
 物足りなければ1.0以上も指定できます

ザラザラで硬そうな感じ!

反射の強さ

 0.0~1.0で反射の強さを指定します
 大きいほどツヤツヤした感じになります

ツヤツヤで硬そうな感じ!

金属感

 0.0~1.0で金属感を指定します
 「反射の強さ」と併せて活用してください

重厚で硬そうな感じ!

陰影

 0.0~1.0で陰影を指定します
 0.0で真っ黒になります

ホラーっぽい雰囲気

発光

 1を指定するとモデルを光らせることができます

発光の強さ

 0.0以上から指定できて大きいほど強く輝きます
 5.0くらいにするとピカピカです

強い光は深い闇を生む

発光色

 発光の色を指定します

変化シーンや停止状態の表現に使えるかも

CUSTOM_ENABLE、customA、customB

 CUSTOM_ENABLEに0~9を指定すると特殊な表現ができます
 よく使うのは「4」のガラス表現でしょうか
 customAで曲率、customBで透過率を指定できます
 透過と組み合わせるとガラス化や氷化が表現できます
 「5」布や「6」クリアコートも面白いです

「CUSTOM」を活用した人形化・氷化・大理石化


材質ファイルの説明は以上ですが...いかがでしたか?
設定を組み合わせることで色々な固めが表現出来ちゃいます!
自分好みの質感を求めて良き固めライフを!
次回はモーフを使った質感調整とモーフ用モデルの作り方についてです!
ではでは!