#1 Ray-MMDを挫折した人におくる少しだけ仲良くれるかもしれないチュートリアル

The article for those who gave up using Ray-MMD

こんにちはえくりでぃあす(@Eclidiuth)です。

この記事ではタイトル通りRay-MMDの使い方が謎すぎて挫折した人に向けて、少しだけ仲良くなれるかもしれないチュートリアルをお送りします。

今回のチュートリアルでは次のような見た目のものを最終目標として制作を進めていきます。

少し長いですが勉強に苦労はつきものなので一緒に頑張っていきましょう。

↓この記事を読んで作れるもの

告知

第2弾も第3弾も公開しているのでそれらも合わせて読むと良い勉強になるでしょう。

第2弾はこの記事と比べて長いですが、その分学べることも多いかと思います。

第3弾の方は今回と同じぐらいの分量なので第3弾、第2弾の順で読むと良いでしょう。

注意

確認は行いましたがもし間違っている箇所がありましたらTwitterアカウントの方にご連絡ください。

DMは開放してないのでメンションまたはリプライでお願いします。

Twitterアカウント : @Eclidiuth

必要なもの

このチュートリアルでは次のものが必要なので事前にダウンロード、導入を行ってください。

(敬称略)

  1. MikuMikuDance_v932x64(樋口M)

  2. MMEffect_x64_v037(舞力介入P)

  3. PmxEditor_0257(北極P)

  4. Sour式鏡音リンVer.2.01(SourXuan)

  5. だいたいあってりゃいいpHモーションVer165(Tarotaro)

  6. イラスト風瞳テクスチャ2(ミコト)

  7. 【明度下げ版】ガラス反射スフィアマップ(roz)

Step 0 最初の準備

最初に今回のチュートリアル用のフォルダを作成した後、さらにいくつかのフォルダを作成し、そこにデータを保存し整理することにします。

このステップは必須ではありませんが、行ったことを前提に進めていきますので作成しない場合はフォルダの場所は適宜読み替えてください。

デスクトップにRayMMDTutorialsフォルダを作成しその中にTuturial1フォルダを作成します。

Tutorial1フォルダの中に次の6つのフォルダを作成してください。

目のテクスチャの改変

今回は勉強を兼ねて最近の潮流に合わせSour式鏡音リンの瞳のテクスチャを変更してみましょう。

Model\Sour式鏡音リンVer.2.01イラスト風瞳テクスチャ2のフォルダを配置しておきます。

お好きな画像編集ソフトを用いてeye.pngの瞳の部分をイラスト風瞳テクスチャ214.pngに置き換えてください。

次にPMXEditorを開きSour式鏡音リンVer.2.01\Black.pmxを読み込みます。

Pmx編集ウインドウで材質タブを選択した状態でリストにある2: 目, 3: 目白, 4: 瞳, 8: グル目, 25: 涙をCtrlキーを押しながらクリックして複数選択を行いTexとあるラベルの右にある水色のボタンをクリックしてTexViewウインドウを開きます。

TexViewウインドウのメニューバーのファイルからテクスチャ読み込みを選択してSour式鏡音リンVer.2.01\tex\eye.pngを開きます。

メニューバーのファイルから現在のテクスチャへ変更を選択し確認ではいをクリックします。

PmxViewウインドウで変更が反映されていることを確認しPmx編集ウインドウのメニューバーのファイルから上書き保存を行ってください。

Step 1 モデルの改変

チュートリアルの内容の都合上少し手間ではありますがモデルを改変しパーツを細かく取り出します。

PMXEditorを開きSour式鏡音リンVer.2.01\Black.pmxを読み込んでください。

PmxViewウインドウのメニューバーの下にある絞をクリックし絞込み表示(マスキング)ウインドウを開いて頂点/材質タブを選択した状態で材質のラジオボタンにチェックを入れ右にある反ボタンをクリックしてすべての材質を非表示にします。

14: Blackにチェックを入れます。

PmxViewでメニューバーの下にある頂と面を選択した状態でドラッグして範囲を指定し画面左側のグローブを選択します。

メニューバーの編集>選択面から新規材質に取り出しを選択し確認ではいを押します。

Pmx編集ウインドウで材質タブを選択し左側にあるリストを最下部までスクロールすると先ほど取り出した新規材質1が見つかるかと思いますので同様の手順を踏んで画面右側のグローブと左右のソックスをそれぞれ新規材質2と新規材質3として取り出しましょう。

左右のグローブは別の材質である必要はないのでひとつの材質にまとめてしまいましょう。

PmxViewウインドウで材質タブにあるリストからCtrlキーを押しながら新規材質1と新規材質2を選択し右クリックメニューから材質の結合を選択します。

PmxViewで絞込み表示(マスキング)ウインドウで新規材質1にのみチェックを入れると左右のグローブだけが表示されるので確認してみましょう。

次に新規材質という名前では何の材質か分からないので名前を変更します。

Pmx編集ウインドウで材質タブを選択しリストで新規材質1を選択した状態で材質名ラベルの隣にあるフォームにBlack3と入力します。

同様の手順を踏んで新規材質3をBlack4と変更しましょう。

名前を変更したらリストの下にある矢印ボタンを使って材質の順番を変更します。

Black, Black2, Black3, Black4という順番になるようにしましょう。

最後にメニューバーのファイルから上書き保存をしこれでモデルの改変は完了です。

Step 2 Ray-MMDとモデルの読み込み

Step 1でモデルの改変を完了したので早速Ray-MMDを使って制作を始めていきましょう。

MMDを起動してEffect\ray-mmd-1.5.2にあるray.xをドラッグ&ドロップします。

少ししてビューポートが黒くなるのでメニューバーの表示からアンチエイリアスを選択しチェックを外すともとに戻ります。

次にモデルを読み込みます。

Model\Sour式鏡音リンVer.2.01にあるBlack.pmxを読み込みます。

読み込んだ時点では全体的に白っぽく前髪もなんだかちゃんと描画されていないようですね。

最初はこの問題を解決することにしましょう。

メニューバーの右側にあるMMEffectからエフェクトファイル割り当てウインドウを開き、Mainタブを選択した状態でリストにあるBlack.pmxを選択しEffect\ray-mmd-1.5.2Main\main.fxを割り当てます。

この操作によりある程度正常に描画されるようになりましたが、やっぱり前髪の描画がおかしかったり、試しに見てみるとわかりますが、モデルの後ろなどMMDの照明操作で操作できる照明の光があたっていない部分が真っ黒になってしまっていますね。

なので今度は前髪がちゃんと描画されるようにし、背景と同時に光源の役割を果たすRay-MMDのSkyboxというものを読み込んでみましょう。

Skyboxには現実の空をシミュレートするTime of DayやHDRI画像から自由に作れるHelipad GoldenHourのようなものがあります。

今回はシンプルな白背景でいいのでSky Hemisphereというものを使用することにします。

Skybox\Sky HemisphereにあるSky with box.pmxを読み込んでください。

エフェクトファイル割り当てウインドウでEnvLightMapタブを選択した状態でSky with box.pmxを選択しSkybox\Sky HemisphereにあるSky with lighting.fxを割り当ててください。

この操作によりさきほどとは一転して明るくなり後ろからみても真っ黒にならなくなりました。

このようにSkyboxにはモデルを360度様々な角度から照らしてくれる明かりの役割を果たすので特に理由がなければ読み込むようにしましょう。

Skyboxを読み込んだのでモデルを明るく照らすことができましたが、顔にできている陰影がなんだか気に入らないので次はMMDの照明を使わないようにしましょう。

Ray-MMDのフォルダ直下にあるray_controller.pmxを読み込み表情操作の左上にあるセレクトボックスでSunLight-を選択し値を1にします。

値を変更するごとに登録ボタンをクリックして登録しておかないとフレームを移動した際にリセットされてしまうので忘れないようにしてください。

ついでにSour式鏡音リンの表情を変えることにします。

モデル操作パネルのセレクトボックスでSour_Rin_Blackを選択してください。

表情操作パネル右下のその他のセレクトボックスのところで次のように値を設定します。

おめでとうございます!

これで今回のチュートリアルにおける基礎の部分が完成しました。

以降のステップではこの状態をもとに制作を進めていくのでメニューバーのファイルから名前を付けて保存を選択しStep 0で作成したPmmフォルダにproject01.base.pmmとして保存しておきましょう。

Step 3 マテリアル割り当てとDirectionalLight

Step 3では材質の見た目を決定するマテリアルファイルを割り当てると同時にRay-MMDのEditorというものを用いてマテリアルを調整していくことにしましょう。

マテリアル用のfxファイルはRay-MMDのフォルダ直下にあるMaterialsフォルダの中にフォルダ分けされて存在しておりMMEのエフェクトファイル割り当てウインドウのMaterialMapタブで各材質に割り当てて使用します。

最初は試しに服の黄色いラインを光らせてみましょう。

エフェクトファイル割り当てウインドウを開きMaterialMapタブを選択します。

リストにあるBlack.pmxを選択して右クリックメニューを開きサブセット展開を行います。

下にスクロールしてYellow3を選択しダブルクリックあるいはファイル選択ボタンで開かれるエクスプローラでMaterials\Emissive\Fixed Color x2にあるmaterial_albedo_x2.fxを選択して開きます。

このマテリアルは材質の色で発光しているように見せるマテリアルです。

続いて同様の手順を踏んでBlueBlue2Materials\Emissive\Fixed Color x1にあるmaterial_albedo_x1.fxを割り当てます

Fixed Color x1Fixed Color x2の違いについてですがx2の方はx1の2倍光るといったようなそんな感じです。

またmaterial_albedo_x1.fxmaterial_blue_x1.fxmaterial_green_x1.fxとの違いはファイル名にあるようにblueは青くgreenは緑に光るといった感じです。

ほかにも様々なEmissive系のfxファイルがあるので実際に割り当てて遊んでみるとよいでしょう。

次は肌の感じを調整することにしましょう。

先ほどはfxファイルを割り当ててそれで終わりでしたが今回はEditorというものを使います。

Editorのfxファイルは先ほど使ったEmissiveのようなfxファイルと違い割り当てただけでは何も変わらないという特徴があり、対応するpmxファイルを読み込んで、pmxファイルの表情操作にある各モーフの値を調整して変化させて使う仕組みになっています。

11: SkinMaterials\Editor\Standard\material_editor__1.fxを割り当て、このfxファイルに対応し、同じフォルダにある同名のmaterial_editor_1.pmxを読み込みます。

モデル操作パネルのセレクトボックスでEditor_1を選択し次の表の通りに値を設定してください。

EditorではAlbedH, AlbedS, AlbedVの3つでHSVで色を設定することができSmoothnessでは滑らかさを設定することができます。

ほかの項目については今は触れる必要がないので次の作業を行いましょう。

あるいは試しに今回設定した3つの項目の値を変更してみてどのような結果になるか試してみるのもいいかもしれません。

また値を変更したら登録をクリックすることも忘れないでください。

続いて今度は服を布に見えるようにしましょう。

次の表の通りにEditorのfxファイルを割り当てたあと対応するpmxファイルを読み込みます。

Materials\Editor\Clothにあるmaterial_cloth_1.pmx, material_cloth_2.pmx, material_cloth_3.pmx, material_cloth_4.pmxの4つが該当します。

fxファイルを割り当てpmxファイルを読み込んだらさっそく値を設定していきます。

モデル操作でCloth_1を選択し次の表にある通りに値を設定してください。

ちゃんと設定できましたか?

できれいれば服が少し黒くなったはずです。

しかし最初に書いた服に見えるようにというのは達成できていません。

なのでこれからちゃんとそう見えるようにしていきますが、悲しいことに少しfxファイルを書き換える必要があります。

ただ、全体のうちたった2行のほんの一部分しか書き換えなく良いので安心してください。

Materials\Editor\Cloth\material_cloth__1.fxをメモ帳で開きます。

そして31行目の#define NORMAL_MAP_FROM 0#define NORMAL_MAP_FROM 1に書き換えます。

続いて34行目の#define NORMAL_MAP_FILE "normal.png"#define NORMAL_MAP_FILE "../../_MaterialMap/Fabric02_N by 2gou.bmp"に書き換えてファイルを上書き保存します。

同様の手順を踏んでmaterial_cloth2.fx, material_cloth3.fx, material_cloth__4.fxも同じように書き換えてください。

これでノーマルマップという立体的に見せるための画像を用いて布のように見せる準備ができました。

しかしあまり光があたっていない状態だと見えないので一時的にray_controller.pmxでオフにしたMMDの照明を有効にします。

モデル操作パネルでray_controllerを選択しSunLight-の値を0にし登録してください。

するとどうでしょうか、ちゃんと布のように見えるようになりました!

このように#define NORMAL_MAP_FROMの値を1にして#define NORMAL_MAP_FILEで指定したパスのノーマルマップの画像ファイルを参照するようにすることで任意の材質を布のように見せることができるようになりました。

またノーマルマップの細かさはNormalLoopsで調整することができ、0になるほど荒く、1になるほど細かくなります。

それでは引き続きほかのEditorでも同様に設定していきましょう。

Cloth_2

Cloth_3

Cloth_4

服を布に見えるようにするための設定が終わり、一気によさげな感じに見えるようになりましたね!

しかし何かもの足りない感じがするので、正面からライトを当て左右のソックスに光の筋ができるようにしたいですね。

今回はそれを実現するためにRay-MMDにあるライトの一種であるDirectionalLightを使うことにします。

MMDの照明は不要なのでray_controllerSunLight-1にしてください。

そうしたらLightingフォルダにあるDirectionLight.pmxを読み込みます。

するとかなりわかりずらいですが、足元に白い球が表示されていてこれがDirectionalLightの実体となります。

ボーン操作で選択を選択した状態ではライトの向きを見ることができるのでわかりやすいですね。

それではDirectionalLightの設定をしていきます。

次の表にある通りに値を設定してください。

R+, G+, B+でライトの色を決定し少し明るすぎたのでIntensity-で明るさを抑えています。

いい感じですね!

DirectionalLightを追加したことにより光の筋が映るようになりました。

ただDirectionalLightの球は表示されている必要はありませんね。

エフェクトファイル割り当てウインドウを開きMainタブとMaterialMapの両方でDirectionalLightのチェックを外します。

このように2つのタブでチェックを外すと任意の材質を非表示にすることができて便利です。

さて、これで球が表示されなくなりましたね。

それでは残る材質のマテリアルも割り当てていきましょう。

13: hairMaterials\Editor\Anisotropic\material_aniso__1.fxを割り当て同じフォルダにあるmaterial_aniso_1.pmxを読み込み次の表にある通りに値を設定します。

CustomAについては少々複雑なのですがここではSmoothnessのようにつやつやするとでも覚えておけば大丈夫です。

次の表の通りに各材質にマテリアルのfxファイルを割り当ててください。

目のハイライトを光らせて左肩の02を金属のようにします(少々わかりずらいです)

ここまでの苦労が水の泡にならないようにしっかりと保存しておきましょう。

Step 0で作成したPmmフォルダにproject02.material.pmmという名前で保存します。

Step 4 SpotLightとDirectionalLight

最近は後ろから光をあててキラキラさせるのが流行っていますね。

今回はそれとは違いますがほのかな明かりを表現することにします。

Ray-MMDにはDirectionalLightのほかにSpotLightというものが存在するので、今回はそれを使うことにします。

LightingフォルダにあるSpotLight.pmxを読み込むとDirectionalLightを追加したときと同様に球が表示されます。

ビューポート下部にあるバーの部分で次の表の通りに位置と角度を設定しボーン操作パネルの登録をクリックしそれからモーフの値を設定してください。

R+, G+, B+で色を決定しIntensity+で光の強さを上げAttenuationBulb+で強く光らせています(実際には違う何かだと思う...)

DirectionalLightと同様にSpotLightも球が表示されている必要はないので非表示にします。

エフェクトファイル割り当てウインドウを開きMainタブとMaterialMapの両方でSpotLightのチェックを外します。

SpotLightの設定が終わったので次は一定の明るさのある部分にブルームがかかるようにします。

ray_controllerを選択し次の表にある通りに値を設定してください。

BloomThresholdでブルームのかかる閾値を設定しSaturation+で彩度を少し上げています。

いい感じですね!

ただこの状態ではSour_Rin_Blackのセンターボーンを選択して一定の距離を動かすとライトが当たらなくなってしまいますね。

この問題を解決するために外部親という機能を使うことにします。

モデル操作パネルでSpotLightを選択し外とあるボタンをクリックして外部親設定ウインドウを開きます。

外部親モデルでSour_Rin_Blackを指定し外部親ボーンでセンターを選択して外親登録及びフレーム登録ボタンをクリックします。

そしてボーン位置Y12.90に戻して登録をしておきます。

これでSour_Rin_Blackを動かしてもそれにライトが追従するようになりました!

しかし実はひとつ問題点が残っています。

それはデフォルトのままだと本来光の当たらないはずの場所も照らされてしまい、実際左肩の部分が照らされています。

この問題を解決するためにはエフェクトファイル割り当てウインドウを開きLightMapタブを選択してSpotLight.pmx

Lighting\SpotLight\Defaultにあるspot_lighting_with_shadow_very_high.fxを割り当てます。

これでちゃんと影ができるようになりました!

Step 0で作成したPmmフォルダにproject03.lighting.pmmという名前で保存しておきましょう。

Step 5 瞳のスフィアと顔の影

近年の潮流に合わせて瞳にスフィアというものを適用させましょう。

スフィアを適用することにより反射光沢を表現することができます。

fxファイルを作成する必要がありますがノーマルマップを適用させた時と同様に少ししか書き換えないので安心してください。

最初に事前にダウンロードしておいた【明度下げ版】ガラス反射スフィアマップの画像ファイルを4076063.pngという名前にしMainフォルダに配置しておきます。

それからMainフォルダにあるmain.fxファイルをコピーしてmain_ex_with_sphmap_eye.fxにリネームします。

main_ex_with_sphmap_eye.fxを開き30行目の#define MATCAP_MAP_FROM 0#define MATCAP_MAP_FROM 1に書き換え

32行目の#define MATCAP_MAP_FILE "matcap.jpg"#define MATCAP_MAP_FILE "4076063.png"に書き換え保存します。

MMDでエフェクトファイル割り当てウインドウを開きMainタブを選択した状態でリストにある4: 瞳に対し先ほど作成したmain_ex_with_sphmap_eye.fxを割り当てます。

これで瞳にスフィアを適用することができました!

カメラの位置を動かすと角度によって反射の仕方が変わることが確認できるかと思います。

キラキラとして生き生きした感じが素晴らしいですね。

それでは最後に白目と顔の影を薄くしましょう。

エフェクトファイル割り当てウインドウを開き、SSAOMapを選択した状態で次の表にある通りにfxファイルを割り当ててください。

SSAO visibility 0.0.fxほど影が薄くなります。

せっかくなので後から見たり編集する際にわかりやすいようにモデルを並び替えておきましょう。

MMDのメニューバーの背景>モデル描画順からモデル描画順設定ウインドウを開き次の順番にしておきます。

また同じく背景にあるモデル計算順設定も同じ順番にしておきます。

  1. Skybox

  2. Sour_Rin_Black

  3. Aniso_1

  4. Cloth_1

  5. Cloth_2

  6. Cloth_3

  7. Cloth_4

  8. Editor_1

  9. DirectionalLight

  10. SpotLight

  11. ray_controller

Step 6 割り当ての確認

最後のステップに移る前に割り当てているfxファイルを確認しておきましょう。

自分で割り当てたファイル以外は特に何か割り当てる必要はないはずです。

Main

LightMap

EnvLightMap

MaterialMap

SSAOMap

Step 7 モーションの読み込みと映像出力

あともうひといきです!

モーションを読み込みましょう。

モデル操作パネルでSour_Rin_Blackを選択しMotion\だいたいあってりゃいいpHモーションVer165\pH_MotionにあるPH_DanceMotion.vmdとPH_LipsyncMotion.vmdを読み込みます。

読み込まれたらあとは再生パネルで再生をクリックするだけです!

どうでしょうか?

とてもかわいらしいSourリンちゃんがRay-MMDの力により美しく綺麗に生き生きとしながら踊っているはずです!

それを確認したら任意の方法で用意した音源をメニューバーのファイル>WAVファイル読み込みからロードします。

次にMMDのメニューバーのファイル>AVIファイルに出力を選択しStep 0で作成したExportフォルダにproject04.aviという名前で保存をクリックしましょう。

AVI出力設定ウインドウで必要に応じてフレームレート等の設定を行いビデオ圧縮コーデックで未圧縮以外のものを選択しOKをクリックすると出力が始まるので終わるまで待ちます。

終わったらExportフォルダにある先ほど出力した動画を鑑賞するなりYouTubeにアップロードするなりWallpaper Engineで壁紙にするなりあなたの自由です!

お疲れ様でした!

最終更新