#4 あなたの「好き」を世界に届けよう【Ray-MMD】

皆様お久しぶりです、多忙に終われ苦しんでいたえくりでぃあす(@Eclidiuth)です。

前回の記事からまたしても結構な期間が空いてしまいましたが、ついに第4弾の登場です!

今回のチュートリアルでは次のような動画を制作しますので、一緒に頑張っていきましょう。​​

動画が表示されない場合はこちらのリンクからYouTubeでご確認ください。

はじめに

このチュートリアルはより多くの人が自分の作りたい映像を自由に作れるようになることを目標として執筆されています。

この記事を読んだだけで綺麗な映像を作れるようなるわけではありませんが、Ray-MMD習得の一助にはなるかと思われます。

制作方法は人それぞれではありますが、一連の手順を通して私なりの方法が皆様の映像制作の参考になれば幸いです。

当記事における表記

この記事では内容を理解しやすくするために太字のテキスト背景付きのテキストを用いています。

太字のテキストにしているもの

  1. 重要な説明(READMEは必ず読む規約を遵守する等)

  2. メニューバーの項目名(アンチエイリアス背景>アンチエイリアス等)

  3. MMDまたはPMXEditor等におけるボタン(照明操作パネルにおける登録ボタン等)

背景付きのテキストにしているもの

  1. ファイルおよびフォルダ名(ray-mmd-1.5.2main.fx等)

  2. MMEのエフェクト割り当てウインドウのタブ名(MainMaterialMap等)

  3. MMDの表情操作パネル等の値(0.39等)

  4. fxファイル内の項目名(#define NORMAL_MAP_FROMなど)

  5. fxファイル内の値(#define NORMAL_MAP_FROM 0static const float3 albedo = 0.3939;等)

注意点

このチュートリアルでは「視覚的にどう見えるか」という点を重点において解説を進めていきます。

これは私自身が3DCGに関する専門的な知識を有していないためであり、実際に正しい情報であることは担保しかねます。

そのため、実際には異なる効果であったり、意味を持っている可能性も大いに存在します。

可能な限り正確性を高める努力はしていますが、どうしても至らない点があることはご容赦ください。

誤字・脱字について

誤字脱字には注意しながら書き進めておりますが、そうしたものが存在する場合もあります。

その際は私のTwitterアカウントまでリプライあるいはメンションを付けてお知らせください。

必要なもの

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

また、各配布物における規約を記したREADMEには必ず目を通すようお願いいたします。

(敬称略)

配布物

制作者

配布先URL

MikuMikuDance_v932x64

樋口M

MMEffect_x64_v037

舞力介入P

PmxEditor_0257

極北P

選択頂点の法線をZ軸方向に向けます。1.2

大葉真琴

ray-mmd-1.5.2

Rui

LiteDOF_v3

akeru

WorkingFloorAL_v007

針金P

MotionBlur3

そぼろ

AutoLuminous4

そぼろ

YYB racing miku 2022

YYB & Pilou La Baka

GETCHA!_足太ぺんたさん振付フルVer

apr(社会の窓P)

ライトとスクリーンまとめ

伊達の犬。

Step 0 最初の準備

最初にチュートリアル用フォルダと整理用のフォルダを作成することにします。

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

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

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

フォルダ名

配置しておくもの

用途

effects

ray-mmd-1.5.2, LiteDOF_v3, AutoLuminous4, WorkingFloorAL_v007, MotionBlur3

MMEエフェクトを配置

exports

なし

出力画像/動画を保存

models

つみ式ミクさんv2.1

モデルデータを配置

motions

GETCHA!のモーション

モーションデータを配置

music

GETCHA!の音楽(.wav)ファイル

音源データを配置

pmm

なし

pmmファイルを保存

stages

ライトとスクリーンまとめ

ステージ等を保存

Step 1 モデルの編集

法線の編集

モデルには法線というものが存在し、それの向きが影の描画に影響を与えます。

初期の状態では顔の陰影が目立って少々不気味に見えるためそれを解決します。

PMXEditorを起動したら自動的に表示されるPmxViewにYYB racing miku 2022.pmxを読み込みます。

読み込んだらPmxView左下にある青色の丸とオレンジ色の線のアイコンの2つをクリックして選択解除します。

次にメニューバーのすぐ下にある小窓のセクションにおいてをクリックして絞込み表示ウインドウを表示します。

頂点/材質タブを選択し状態で材質のラジオボタンを選択し、隣にあるをクリックして一度すべての材質を非表示にします。

材質1: 顔2: 白目4: 瞳5: 眉毛/睫毛の4つの材質のみにチェックを入れウインドウを閉じます。

次に顔全体が収まるようにドラッグで範囲指定をし、Pmx編集ウインドウ表示>プラグイン>User>faceforward1.2>faceforward64を選択して選択頂点の法線をZ軸方向に向けますウインドウを表示します。

中央に向ける割合の数値は80に、バイアスは全ての値を0.0、Z軸で前を向いているものだけを対象にするのチェックは付いた状態で実行し「nの法線を変更しました(nは変更した法線の数)」と出たらOKで閉じます。

最後にPmx編集のファイル>名前を付けて保存からYYB racing miku 2022.f80.pmxという名前で保存します。

顔のテクスチャ変更(任意)

これは個人の好みであり必須の操作ではないので不要であれば次の操作に移っても大丈夫です。

初期の状態では目の下あたりが少し赤らんだようになっていますが、私はそうでない方が好みなのでテクスチャを変更します。

Pmx編集ウインドウで材質タブを選択しリストから材質1:顔を選択しテクスチャ/メモとある場所のTexというテキスト右にある水色の四角形をクリックしてTexViewウインドウを開きます。

TextViewウインドウのメニューバーのファイル>テクスチャ読み込みからYYB racing miku 2022/texにあるskin.pngを開きファイル>現在のテクスチャへ変更をクリックしPmxViewでテクスチャが変更されていることを確認します。

テクスチャの半透明部分を不透明にする

Ray-MMDはver1.5.2時点において半透明なテクスチャを扱うことが苦手です。

半透明部分と発光を表現するEmissiveなRay-MMDが重なると描画が変になってしまうのです。

そのため、ここではツインテール部分のテクスチャの半透明部分を不透明にします。

今回編集するのはモデルのtexフォルダに入っているHair02.pngですが、好きな画像編集ソフトで構いません。

私は最も手軽と思えるWindows標準の「ペイント」ソフトを使用することにします。

まず「ペイント」ソフトでHair02.pngを読み込み単に上書き保存をします。

次にPmx編集ウインドウ材質タブを選択し、リストにある材質28 :髪をクリックし選択します。

テクスチャ/メモとある場所のTexというテキスト右にある水色の四角形をクリックしてTexViewウインドウを開きます。

TextViewウインドウのメニューバーのファイル>テクスチャ読み込みからYYB racing miku 2022/texにあるHair02.pngを開きファイル>現在のテクスチャへ変更をクリックしPmxViewでテクスチャが変更されていることを確認します。

AutoLuminous用の設定

Step 5で瞳と白目部分の明るさを調整するためにAutoLuminousというエフェクトを使用します。

その際少しだけPMXEditorでモデルを編集する必要があるのですが、ここで済ませておきましょう。

Pmx編集ウインドウの材質タブで材質2 :白目4 :瞳をCtrlキーで同時選択し、右側にある反射強度の値を110に設定したらYYB racing miku 2022.f80.pmxという名前で上書き保存しましょう。

この操作で瞳と白目にAutoLuminousの効果を適応させることが可能になりました。

Step 2 Ray-MMDを読み込む

このStepではRay-MMDの読み込みとSkybox、ステージ、モデル等の設定を行います。

まずMMDを起動しRay-MMDの本体であるray-mmd-1.5.2/ray.xをドラッグ&ドロップします。

読み込みが完了するとビューポートが黒くなるのでメニューバーの表示>アンチエイリアスをオフにし背景を白に戻します。

Skyboxを読み込む

モデルを全周囲から照らすためにSkyboxを読み込みます。

今回はSky HemisphereというSkyboxを使用するのでray-mmd-1.5.2/Skybox/Sky HemisphereにあるSky with box.pmxを読み込み、メニューバー右側にあるMMEffectからエフェクト割り当てウインドウを開きます(以降MMEのウインドウと表記)

MMEのウインドウでMaterialMapタブを選択しSky with box.pmxに割り当てられているfxファイルを確認します。

通常であればray-mmd-1.5.2\Materialsにあるmaterial_skybox.fxが自動的に割り当てられていますが、まれにmaterial_2.0.fxになっていることもあるので注意してください。

次にEnvLightMapタブでSky with box.pmxに対しSky HemisphereにあるSky with lighting.fxを割り当てます。

これによりモデルが全周囲から照らされるようになります。

Skyboxの設定

ここで軽くSkyboxの値の調整を行います。

初期の状態ではSkyboxによるライトでモデルが明るくなりすぎるので明るさを下げます。

Skybox

項目名

設定値

説明

EnvDiffLight-

0.610

Skyboxのライトによる明るさを下げる

ステージを読み込む

ライトとスクリーンまとめにある箱.pmxを読み込んだらMMEのウインドウでMainタブを選択し箱.pmxray-mmd-1.5.2/Mainにあるmain.fxを割り当てます。

次にMaterialMapタブで箱.pmxray-mmd-1.5.2/Materialsにあるmaterial_2.0.fxを割り当てます。

割り当てたら座標軸は不要なのでMMDのウインドウ右上にある座標軸ボタンをクリックして非表示にしましょう。

モデルを読み込む

Step 1で用意したYYB racing miku 2022.f80.pmxを読み込みます。

MMEウインドウのMainタブでYYB racing miku 2022.f80.pmxに対しray-mmd-1.5.2/Mainにあるmain_ex_with_sphmap.fxを割り当てます。

先ほどステージに割り当てたmain.fxmain_ex_with_sphmap.fxの違いですが、前者はモデルに設定されたスフィアを使用しないのに対して、後者は使用するようになっています。

今回のモデルでは髪やスーツにスフィアが用いられているためmain_ex_with_sphmap.fxを使用します。

ray_controllerを読み込む

最後にray-mmd-1.5.2にあるray_controller.pmxを読み込みましょう。

ray_controllerを使用することで照明操作パネルのライトの影の濃さや彩度等を調整できます。

各項目を設定するごとに登録ボタンで設定を登録することを忘れないでください。

また、今後数値を変更する際はボーン操作パネルの選択ボタンが必ず選択解除されているようにしてください。

選択が有効な状態では影が描画されず本来の描画とは異なるものになってしまいます。

ray_controller

項目名

設定値

説明

SunShadowV-

0.530

照明操作パネルのライトの影の濃さを調整する

BloomThreshold

0.170

ブルームがかかる閾値を調整する

BloomColorAllV-

0.940

ブルームの明るさを調整する(下げる)

Saturation+

0.700

彩度を調整する

Step 3 マテリアル割り当て

このStepではモデルとステージにマテリアルを割り当てていきます。

モデルのマテリアル割り当て

MMEのウインドウでMaterialMapタブのYYB Racing Miku 2022.f80.pmxを右クリックしサブセット展開します。

サブセット展開を行うことでモデルの各材質ごとに異なるマテリアルを割り当てられるようになります。

髪のマテリアル設定

まずはMaterialMapタブにて材質25: 髪126: 髪228: 髪3に対してray-mmd-1.5.2/Materials/Editor/Anisotropicにあるmaterial_aniso__1.fxを割り当てます。

次にray-mmd-1.5.2\Materials\Editor\Anisotropicにあるmaterial_aniso_1.pmxを読み込みます。

次の表に従い値を設定し、各項目を変更するごとに登録ボタンをクリックし変更を登録するよう注意してください。

Aniso_1

項目名

設定値

説明

AlbedH

0.460

HSVのHを調整する

AlbedS

0.250

HSVのSを調整する

AlbedV

0.550

HSVのVを調整する

Smoothness

0.540

なめらかさを上げる

肌のマテリアル設定

MaterialMapタブにて材質0: 体1: 顔それぞれに対してMMEのウインドウでray-mmd-1.5.2/Materials/Editor/Skinにあるmaterial_skin__1.fxmaterial_skin__2.fxを割り当てます。

次にray-mmd-1.5.2\Materials\Editor\Skinにあるmaterial_skin_1.pmxmaterial_skin_2.pmxを読み込みます。

Skin_1

項目名

設定値

説明

AlbedH

0.060

HSVのHを調整する

AlbedS

0.300

HSVのSを調整する

Smoothness

0.370

なめらかさを上げる

Skin_2

項目名

設定値

説明

AlbedH

0.060

HSVのHを調整する

AlbedS

0.250

HSVのSを調整する

服のマテリアル設定

MaterialMapタブにて材質9: 靴11: スーツray-mmd-1.5.2/Materials/Editor/Clothにあるmaterial_cloth__1.fxを、材質14: スウェットに対してmaterial_cloth__2.fxを割り当てます。

次にray-mmd-1.5.2\Materials\Editor\Clothにあるmaterial_cloth_1.pmxmaterial_cloth_2.pmxを読み込みます。

Cloth_1

項目名

設定値

説明

AlbedV

0.390

スーツと靴を黒くする

SpecularV+

1.000

スーツと靴の光の反射を強くする

Smoothness

0.650

スーツと靴をつやつやにする

Cloth_2

項目名

設定値

説明

AlbedV

0.140

スウェットの明るさを少し下げる

SpecularV+

1.000

スウェットの光の反射を強くする

Smoothness

0.650

スウェットをつやつやにする

ステージのマテリアル割り当て

MaterialMapタブで箱.pmxに対してray-mmd.1.5.2/Materials/Editor/Standardにあるmaterial_editor__1.fxを割り当てたらmaterial_editor_1.pmxを読み込み次の表の通りに値を設定、登録します。

Editor_1

項目名

設定値

説明

Smoothness

0.350

なめらかさを上げる

Metalness

1.000

金属のように見せる

Step 4 ライティング

照明操作

まずは照明操作パネルでMMDのライトの調整を行います。

次の表の通りに値を設定し、登録ボタンで登録を忘れないよう注意してください。

また、値の設定と登録が完了したらメニューバーの表示>モデル編集時カメラ・照明追従をオンにします。

照明操作

項目名

設定値

説明

X

+0.0

照明のX軸の角度

Y

-0.1

照明のY軸の角度

Z

+0.1

照明のZ軸の角度

DirectionalLight

ray-mmd-1.5.2/LightingにあるDirectionalLightを読み込み表の通りに値を設定します。

角度Xの値を変更した際はボーン操作パネルの登録ボタンをクリックしてください。

DirectionalLight

項目名

設定値

説明

角度X

21.4

X軸の角度

R+

0.300

ライトのRGBのR成分を調整

G+

0.300

ライトのRGBのG成分を調整

B+

0.300

ライトのRGBのB成分を調整

Intensity+

0.110

ライトの強度を調整

Hardness

1.000

ライトの影の硬さを調整

影を描画する

初期の状態ではDirectionalLightの影は出ないので、影が出るように設定しましょう。

MMEのウインドウでLightMapタブを選択しDirectionalLight.pmxに対しray-mmd-1.5.2/Lighting/DirectionalLight/Defaultにあるdirectional_lighting_with_shadow.fxを割り当てます。

これでモデルにDirectionalLightによる影が描画されるようになりましたね。

もし影が表示されない場合はボーン操作パネルの選択ボタンが選択されていないか確認し、選択解除状態にしてください。

SpotLight

次にモデルを後ろから照らしブルームを表現するためにSpotLightを読み込みます。

ray-mmd-1.5.2/LightingにあるSpotLight.pmxを読み込み表の通りに値を設定します。

ボーン位置X~角度Zまで値を設定したらボーン操作パネルの登録ボタンで変更を登録しましょう。

他の項目については表情操作パネルの登録ボタンを各項目を設定するごとにクリックします

SpotLight

項目名

設定値

説明

ボーン位置X

-1.0

ライトの位置を調整

ボーン位置Y

26.50

ライトの位置を調整

ボーン位置Z

6

ライトの位置を調整

角度X

82.6

ライトの角度を調整

角度Y

180

ライトの角度を調整

角度Z

180

ライトの角度を調整

R+

0.500

ライトのRGBのR成分を調整

G+

0.500

ライトのRGBのG成分を調整

B+

0.500

ライトのRGBのB成分を調整

Range-

0.740

ライトの距離を狭くする

Angle+

1.000

ライトの範囲を広くする

Intensity+

1.000

ライトの強度を上げる

AttenuationBulb+

1.000

ライトの強度をすごく上げる

Hardness

1.000

ライトの影の硬さを調整

影を描画する

SpotLightも初期の状態ではDirectionalLight同様影は出ないので、影が出るように設定しましょう。

MMEのウインドウでLightMapタブを選択しDirectionalLight.pmxに対しray-mmd-1.5.2\Lighting\SpotLight\Defaultにあるspot_lighting_with_shadow_very_high.fxを割り当てます。

もし重い場合はspot_lighting_with_shadow_low.fxを割り当ててみてください。

追加のDirectionalLight

これはちょっとした小技ですが、服の黒い部分に割り当てたmaterial_cloth__2.fxを調整するCloth_2でsmoothnessの値を0.640に設定したためRay-MMDのライトを反射して光の筋のようなものが描画されています。

試しにモデル操作パネルでDirectionalLightを選択し同パネル内にある表示のチェックを外してみます。

するとDirectionalLightの光の反射がなくなったことがわかりますね。

ここでは追加のDirectionalLightを読み込み光の筋をもう1本増やしてみることにします。

ray-mmd-1.5.2/LightingにあるDirectionalLight.pmxを読み込み次の表通りに値を設定します。

DirectionalLight

項目名

設定値

説明

角度Y

-64.7

ライトの角度を調整

R+

0.150

ライトのRGBのR成分を調整

G+

0.150

ライトのRGBのG成分を調整

B+

0.160

ちょっとだけ光を青くする

Intensity+

0.210

ライトの強度を上げる

これで先ほどよりもスーツの光沢感が上がりましたね。

影を描画する

最初に読み込んだDirectionalLight同様影が描画されるよう設定しましょう。

LightMapタブを選択しDirectionalLight.pmxに対しray-mmd-1.5.2/Lighting/DirectionalLight/Defaultにあるdirectional_lighting_with_shadow.fxを割り当てます。

これでモデルにSpotLightによる影が描画されるようになりました。

影が表示されない場合はボーン操作パネルの選択ボタンが選択されていないか確認し、選択状態を解除してください。

Step 5 瞳と白目の調整

Step 4にてDirectionalLightで影を描画するようにしたため白目部分に影ができてしまっています。

ここではAutoLuminousというエフェクトを使用して瞳と白目の明るさを調整することにします。

瞳の調整

まずAutoLuminous4にあるAutoLuminous.xを読みこみます。

初期の状態ではあまりにも眩しいためアクセサリ操作パネルで値を調整します。

値を設定したら登録ボタンで変更を登録するのを忘れないでください。

項目名

設定値

説明

Si

0.0350

AutoLuminousの効果の強度を下げる

Tr

0.00

AutoLuminousの発光をにじませない

白目の調整

次に白目の調整を行うためAutoLuminous.xをもうひとつ読みこみ表通りに設定します。

項目名

設定値

説明

Si

0.200

AutoLuminousの効果の強度を下げる

Tr

0.000

AutoLuminousの発光をにじませない

現在の状態では2つのAutoLuminousの効果がが瞳と白目に二重にかかっているのでそれを解決します。

今回はひとつめのAutoLuminousは瞳用、ふたつめは白目用のものとします。

まずMMEのウインドウでひとつめのAL_EmitterRTタブで材質2: 白目をダブルクリックしfxファイルを割り当てるウインドウでAutoLuminous4\Optionsに移動し開くボタンの上にあるセレクトボックスでfxファイル全てのファイルに切り替えてfxファイル以外も表示するようにします。

するとAL_BlackMask.fxsubというファイルが見つかるのでこれを選択して割り当てます。

同様の手順でふたつめのAL_EmitterRTタブで材質4: 瞳AL_BlackMask.fxsubを割り当てます。

アクセサリ順の並び替え

現在はRay-MMDの後にAutoLuminousの効果がかかっているため少々明るすぎる気がします。

また、現在のアクセサリ順では暗所なのにAutoLuminousの効果がかかっている部分だけ明るすぎて浮くといった現象が起こることがあるのでそういった問題を解決/予防します。

メニューバーの背景>アクセサリ編集で2つあるAutoLuminous.xをray.xの上に移動させます。

次の順になっていれば大丈夫です(AutoLuminousはどっちが上でもOK)

白目のSSAOを消す

最後にSSAOMapタブで材質2: 白目ray-mmd-1.5.2\ShadowにあるSSAO visibility 0.0.fxを割り当てます。

あまり変わりないですが、多少白目が暗くなくなりましたね。

Step 6 ステージの用意

ここからはステージにライトやスクリーン、モニタの枠を配置していきます。

まずはライトとスクリーンまとめ/ライトにある横ライト2.pmxを読み込み次の表通りに設定します。

それが終わったらMaterialMapタブで横ライト2.pmxにはray-mmd-1.5.2\Materials\Emissive\Fixed Color x1にあるmaterial_albedo_x1.fxを割り当てます。

横ライト2

項目名

設定値

説明

ボーン位置Y

8.05

ライトを少し上に移動

ボーン位置Z

153.10

ライトを奥に移動

拡大

0.100

ライトを若干大きくする

次にライトとスクリーンまとめ\モニタオブジェ\配置にある▽モニタオブジェ.pmxを読み込みます。

これは枠だけなので同フォルダにある▽モニタオブジェ_スクリーン(AL104).xも読み込みましょう。

そうしたら、メニューバーの背景>ON・モード1を選択しスクリーンが映っていることを確認します。

次にステージ反対側に大きいモニタを配置していきます。

ライトとスクリーンまとめ\モニタにある大モニタ枠.pmxを読み込み表通りに設定します。

大モニタ枠

項目名

設定値

説明

ボーン位置Z

-180

ボーンの位置を調整

角度Y

180

モニタ枠を180度回転させる

次に同フォルダ内にある大モニタ_スクリーン(AL103).xを読み込み表通りに設定します。

アクセサリの数値はモデル操作パネルでカメラ・照明・アクセサリを選択した際に右側にあるアクセサリ操作パネルで設定し、数値を変更したら登録ボタンをクリックするのを忘れないでください。

大モニタ_スクリーン(AL103)

項目名

設定値

説明

Z

-180

スクリーンを後ろに配置する

Ry

180

スクリーンを180度回転させる

影を正常に描画させる

現時点では横ライト2やモニタオブジェの影がグレーになっており、影が正常に描画されていません。

これはMainタブで適切なfxファイルを割り当てていないためなのでMMEのウインドウを開きましょう。

Mainタブを選択し横ライト2.pmx▽モニタオブジェ.pmx▽大モニタ枠main.fxを割り当てます。

これで影が正常に描画されるようになりましたね。

Step 7 Fogの読み込み

Ray-MMDのライト同様フォグにも様々な種類がありますが今回は2種類のFogを使用することにします。

私自身まだFogにはあまり詳しくないのですが、これを用いることで空気感の表現等が可能になります。

AtmosphericFog

このFogは広い範囲にかかるもので全体にFogをかけたい場合に用いることができます。

ray-mmd-1.5.2/FogにあるAtmosphericFog.pmxを読み込み次の表の通りに値を設定します。

AtmosphericFog

項目名

設定値

説明

RayleighH+

0.980

Rayleigh(謎)のHSVのH成分を上げる

RayleighS+

0.510

Rayleigh(謎)のHSVのS成分を上げる

VolumetricCube

このFogはWidth、Height、Depthで指定した範囲にFogをかけることができます。

局所的にFogをかけたい場合に役立つでしょう。

ray-mmd-1.5.2/FogにあるVolumetricCuve.pmxを読み込み次の表の通りに値を設定します。

ボーン位置Zを設定した際はボーン操作パネルで登録してください。

VolumetricCube

項目名

設定値

説明

ボーン位置Z

22.0

Fogの位置を調整する

Width+

0.960

Fogの幅を調整する

Height+

0.600

Fogの高さを調整する

Depth+

1.000

Fogの奥行きを調整する

Intensity-

0.600

Fogの強度を下げる

Step 8 雰囲気を作る

このステップでは一気に「っぽい」雰囲気を作っていきます。

その前にまずはStep 3で箱.pmxに割り当てたmaterial_editor__1.fxを少し書き換えます。

お好きなテキストエディタ(私はVS Code使用)でray-mmd-1.5.2\Materials\Editor\Standardにあるmaterial_editor__1.fxを開いたら83行目を次のように書き換えます。

これによりステージが若干暗くなりましたね。

書き換え前

const float occlusion = 1.0;

書き換え後

const float occlusion = 0.5; // 1.0

ステージに風景を反射させる

Ray-MMDにはScreen Space Reflectionという機能があり、これを利用することで風景の反射が可能になります。

ただ仕組み的にモデルの裏側や見えていない部分を反射はしませんが雰囲気づくりには十分でしょう。

デフォルトでは無効になっているのでRay-MMDの設定ファイルであるray.confを書き換えます。

その前にここまでのデータをpmmファイルとして適当な名前で保存しておきましょう。

ray.confを書き換える

ray.confray-mmd-1.5.2フォルダにあり、今回書き換えるのは58行目となります。

今回は最もサンプル数の高い3にしますが、もし負荷が重い場合は1でも構いません。

書き換え前

#define SSR_QUALITY 0

書き換え後

#define SSR_QUALITY 3 // 0

床にモデルを反射させる

ray.confを書き換え風景が反射するようになりましたがモデルはほとんど反射していません。

先述したようにSSRには限界があるので今回はWorkingFloorAL_v007を用いてそれっぽく見えるようにしましょう。

WorkingFloorAL_v007にあるWorkingFloorAL.xを読みこみます。

初期の状態ではRay-MMDの効果がかかっている上部分とそうでない反射部分の差が目立つので反射を下げます。

アクセサリ操作パネルでTrの値を0.20にし登録ボタンで変更を登録しましょう。

Step 9 LiteDOFを使う

今回はDOFエフェクトとしてLiteDOFを用いることにします。

Ray-MMDにもDOFはありますが過去の記事で使ったのでたまには他のを使うのもよいでしょう。

LiteDOF_v3にあるLiteDOF.xLiteDOFCtrl.pmxを読み込み次の表の通りに値を設定します。

また、LiteDOF.xのSiの値は2.000にしぼかしを強くします。

LiteDOF ctrl

項目名

設定値

説明

ピント距離+

0.480

よくわかりません...(READMEを読んで!)

前ボケOFF

1.000

よくわかりません...(READMEを読んで!)

Step 10 不要な物体の非表示

このStepまでに様々なライトやFog、LiteDOFのコントローラ等を読み込みましたが画面に映っている必要はありませんね。

このステップではそれらを非表示にしていきます。

追加光源の非表示

DirectionalLightやSpotLightを追加した際に表示される球はMainタブとMaterialMapタブの両方でチェックを外すと非表示にすることができます。

ただそれだけではそれら球体の影は描画されたままなのでPSSM1PSSM4タブでも同様にDirectinalLight.pmxが2つ、SpotLightのチェックを外すことを忘れないでください。

他の物体の非表示

Ray-MMDの追加光源以外にはRay-MMDのFogやLiteDOFのコントローラが描画不要ですね。

こちらも追加光源と同様にMainタブとMaterialMapタブの両方でチェックを外せば非表示にできます。

AtomosphericFog.pmxVolumetricCube.pmxLiteDOFCtrl.pmxが該当します。

不要な物体の反射を非表示にする

WorkingFloorが反射している部分をよく見ると色々と不要な物体が映っていることが分かりますね。

これらはWorkingFloorRTタブでチェックを外すことで非表示にすることができます。

DirectinalLight.pmxSpotLightAtomosphericFog.pmxVolumetricFog.pmxLiteDOFCtrl.pmxが該当します。

モデルの髪影と輪郭線を消す

前髪の髪影は不要なので消してしまいましょう。

またカメラをモデルに近づけると分かりますがモデルの輪郭だけLiteDOFのぼかし効果がかかっていませんね。

次の表の通りに値を設定します。

YYB式初音ミク

項目名

設定値

説明

Hairshadow消

1.000

髪影を消す

輪郭線が消えて

1.000

モデルの輪郭線を消す

Step 11 モーション読み込みと修正

モデル操作パネルでYYB式初音ミクに切り替えGETCHA!_足太ぺんたさん振付フルVer/GETCHA!にあるGETCHA.vmdカメラ.vmdリップ_miku(えモーフあり).vmd表情視線.vmdを読み込みます。

次に自身で用意した.wav音楽ファイルを読み込んだら試しに300フレームあたりまで再生してみましょう。

LiteDOFの修正

はい、すぐに気が付くでしょうがLiteDOFが明らかにおかしいですね。

これは0フレームに移動した後にアクセサリ操作パネルでLiteDOF.x地面とある所をYYB式初音ミクにし自動的に操作中心になる所をにするとちょうどいい感じになってくれます。

登録ボタンを忘れずクリックし今度は試しに600フレームまで再生してみましょう。

PSSMのチェックを外す

よく見ると500フレームあたりからモデルに影がかかっているように見えますね。

これはステージ反対側にある大モニタ枠.pmxの影が原因なのでMMEのウインドウでPSSM1PSSM2タブの両方で大モニタ枠.pmxのチェックを外して影ができなくなるようにしてあげましょう。

なお、PSSM1PSSM4タブは右の方にもう1セットあるのでそちらのPSSM1PSSM2のチェックも外しましょう。

Step 4で追加したDirectionalLight2つ、SpotLightのチェックも各PSSMタブで外しておきましょう。。

モデルの動きにSpotLightを追従させる

何度も再生からの修正をさせてしまうのも申し訳ないので、これの確認は好きな人だけで大丈夫です。

1350フレームあたりから前に歩く際に頭上にあるSpotLightの光が頭にあまり当たらなくなっていますね。

これはSpotLightを外部親機能でモデルに追従させていないためなのでその設定を行います。

0フレームに移動したらモデル操作パネルでSpotLightを選択し登録ボタンのすぐ上にあるボタンをクリックします。

外部親設定ウインドウを開いたら対象ボーンは光源位置であることを確認し、外部親モデルはYYB式初音ミク、外部親ボーンはグルーブでウインドウの登録ボタンをクリックします。

もし外部親を設定した後にボーン位置と角度の値が全て0になってしまう場合はStep 5にある数値を再設定、登録します。

最後に通しで大体頭にライトが当たり続けていることを確認できたら次のStepに進みましょう!

Step 12 MotionBlur3を読み込む

このエフェクトは結構重いので読み込みは任意となります。

モーションブラーがあると個人的にお洒落に見えるので余裕があるのなら使ってみると良いかもしれません。

MotionBlur3にあるMotionBlur.xを読み込んだらアクセサリ操作パネルでSiの値を0.5に設定します。

再生し、これでモーションブラーがかかっていれば大丈夫です。

Step 13 アクセサリとモデルの並び替え

最後に後で編集しやすいようにアクセサリとモデルの順番を並び替えておきましょう。

メニューバーの背景に並び替えるための項目が存在します

アクセサリ編集の順番

  1. AutoLuminous

  2. AutoLuminous

  3. ray.x

  4. ▽モニタオブジェ_スクリーン

  5. 大モニタ_スクリーン(AL103).x

  6. WorkingFloorAL.x

  7. LiteDOF.x

  8. MotionBlur.x

モデル描画順/モデル計算順

  1. Skybox

  2. 大モニタ枠

  3. モニタオブジェ

  4. 横ライト2

  5. YYB式初音ミクレーシング2022

  6. Aniso_1

  7. Cloth_1

  8. Cloth2

  9. Editor_1

  10. Skin_1

  11. Skin_2

  12. AtmosphericFog

  13. VolumetricCube

  14. DirectionalLight

  15. SpotLight

  16. DirectionalLight

  17. LiteDOF ctrl

  18. ray_controller

Step 14 映像出力

メニューバーのファイル>AVIファイルに出力から保存場所を選択します。

私はStep 0で作成したexportsフォルダに保存しますが好きな場所で構いません。

場所を選択すると自動で表示されるAVI出力設定ウインドウで各種設定を行います。

録画サイズは映像の解像度でメニューバーの表示>出力サイズで変更できます。

フレームレートは好きな値でよく、私は60にしますが負荷が心配な場合は30が良いでしょう。

録画フレームの値は0から最終フレームの6879となります。

WAVE出力にはチェックを付けた状態でビデオ圧縮コーデックはUtVideo YUV420 BT.709 DMOにします。

他に好きなものがある場合はそれでも構いませんし、もし見つからない場合は下記のサイトからダウンロードしましょう。

http://umezawa.dyndns.info/wordpress/?p=7940

全て設定が出来たらOKボタンで出力が始まるので終わるのを待ち、完了したら問題がないか確認してみましょう。

おわりに

いつも思いますがよくやたらと長い記事を読めますね、そんなあなたを本当に尊敬しています。

Ray-MMDのFogを使ったのは今回が初めてなのでフルに活かせてはいませんが、上手く使いこなせればかなり良い空気感のある映像を作れるようになると思うので色々挑戦してみてくださいね。

次回は未定ですがそろそろパーティクルとフォグを使った空気感の演出に挑戦してみたいなと。

今年はあと2本ぐらい記事を書きたいと思っているので引き続き応援を頂けると嬉しいです。

私はあなたが自分の作りたいものを自由に作れるようになることを応援しています🥳

応援してくださる皆様に最大限の感謝を

6月の間にYouTubeでチャンネル登録者300人、初の再生数3939回、再生数4000回を達成できました!

登録者100人を突破したことでYouTubeでカスタムURLを使えるようになって非常に嬉しい...

輝かしいURL → https://www.youtube.com/c/Eclidiuth

最終更新