材質色の設定

MMDモデルの材質をどのように設定すればいいのか。

材質色の観点から解説します。


目次

材質とは何か

MMDモデルにおける材質とは、モデルのパーツと言ってもよいでしょう。

肌、髪、服。といった風に、モデルはパーツごとに分けられており、そのパーツごとに「質感」が決められています。

パーツに材質を割り当てているのではなく、材質がパーツそのものであるというのがMMDモデルの一つの特徴です。

上の図は、あにまさしきミクの髪の毛と服、肌の材質のみをPMXエディタ上で表示させたものです。

材質の一部だけを表示させる

PMXエディタ上部のボタン[絞]を押すと、材質ごとに表示/非表示を選択できる>「頂点/材質マスキング」ウィンドウが出てきます。

そこから「材質」を選ぶと、チェックした材質のみ表示させることができます。

表示されている材質以外は編集や選択が不可になるので、特定の材質…たとえば髪飾りのみをを削除したりといった操作が容易になります。

MMD上での表示に近づける

PMXエディタはそのままだとMMDでの表示と異なります。なので上部タブの[FX]と、下のタブの[S影]のボタンを押してください。

これを押すことで、NND上での表示とほとんど変わらなくなります。

材質色とテクスチャ画像の関係

材質色は「拡散色」「反射色」「環境色」の3つの色のパラメータと、「非透過度」と「反射強度」の2つの数値パラメータで決定されます。

これらの設定の意味や仕方を説明する前に、「材質色と、テクスチャの色の関係」を把握しておきたいと思います。

説明のために、以下のようなモデルを用意しました。

左から「正二十面体」「円柱」「球体」です。

このモデルに以下のテクスチャを適用させます。

見てのとおり真っ赤なテクスチャです。正確に言うと、RGB=255,0,0の色です。

すると、当然のごとくモデルの表面に赤い画像が貼り付けられ、モデルは赤くなります。

さて、このモデルの材質色の設定は以下のようになっています。

ここの拡散色と環境色の「G」と「B」の値を弄ってみてください。全く見た目が変化していないのが分かります

これは、拡散色や環境色が加算で合成されているからです。

拡散色と環境色

まずは、テクスチャの色と合わせて材質の色に直接関係する「拡散色」と「環境色」の性質についてです。纏めてみると、下の表のようになります。

種類推奨値性質補足
拡散色R=1
G=1
B=1
照明RGBが255になったときの色テクスチャを使わない時色を設定する。テクスチャを使う場合は各値1推奨
環境色拡散色×0.4倍
照明の数値に関わらず発色する色基本的にRGBそれぞれ、拡散色のRGBの半分に設定させることが多い。
MMDの仕様上は0.4が正しい

拡散色

テクスチャを設定していない場合、テクスチャは白一色と扱われます。

そのような時に材質に色をつける場合には、まず「拡散色」を設定します。

拡散色が一番直感的に「材質の色」として理解しやすいパラメーターです。

逆にテクスチャで色を表現する場合には、「1,1,1」で真っ白にするのが一般的です。

テクスチャを使わない場合のみ、この値を適当に変更することが推奨されます。

環境色

環境色は、MMDでの照明の値に関わらず適用される色です。

照明がどんなに暗くても環境色に設定された色はストレートに描画されるため、発光しているような感じになります。

とはいっても、実は今はほとんどRGB全て0.5で固定となっています。

これは、テクスチャを使う場合に拡散色を1にして、その半分である0.5を環境色に設定しているためです。

環境色基本的に拡散色の半分になります。

MMDでの使用の観点から見ると、0.4が正しいようですが、あまり見たことがありません。

拡散色1、環境色0.4でテクスチャの見ためがペイントソフトと同等になります。

この基準値よりも明るくすると、光ってるように見えるのですが、今はあまり使われていません。

というのは、現在はMMEのAutoLuminousなどで発光させるほうが自然だからです。

余程の事がない限り、拡散色の半分or0.4倍の設定が推奨されます。

反射色と反射強度

次は、金属のような光沢を出すための「反射色」と「反射強度」です。

種類推奨値性質使用場面
反射色任意照明が反射したときの色光沢をつけたい場合に設定する
R,G,B=0,0,0の黒色で無効
反射強度任意反射の広がり方値が小さいと、ぼんやりとした反射の仕方になり
値が大きくなるにつれて鋭い反射になる。

実際に見るほうが分かりやすいでしょう。

反射色

立体4 反射色RGB=0,0,0
反射強度:0
立体5 反射色RGB=0,1,0
反射強度=0
立体6 反射色RGB=0,0,1
反射強度=0

ご覧のとおり、反射色で設定した色が加算描画されているのが分かります。反射色が 緑色でも、赤のテクスチャに加算されるため黄色っぽく見えます。

反射強度

反射強度は、小さいと広い範囲で反射し、大きくするほど狭い範囲で反射します。

範囲というのは、視点と照明と、面の向きで決まる領域のことです。この値は1違うだけでもかなり大きな効果があります。

立体5 反射色RGB=0,1,0
反射強度=0
立体7 反射色RGB=0,1,0
反射強度=4
立体8 反射色RGB=0,1,0
反射強度=10

値が大きくなるほど、金属っぽい質感になるのが分かります。

反射色が0,0,0の場合は、反射強度は基本的に意味がありません。

ただし、AutoLuminousなどで光らせる場合には、反射色0,0,0で反射強度を100以上にする必要があります。


まとめ

  • テクスチャで色を表現する場合は、拡散色を(1,1,1)に
  • 環境色のRGBは拡散色のRGBの半分
  • 反射色を使う場合は、反射強度の設定を忘れずに

補足

このサイトでは、ボタン1クリックで環境色を設定できるプラグインを配布しています。

こちらからDLできるので是非ご活用を!