番外編:MikuMikuDomeMasterでステレオVR-MMD動画を作成する
記事作成日 2018/11/30
※注意
各ソフトウェアは、解説に使用されているものと完全に同一のバージョンをダウンロードして使用してください。少しでもバージョンが違うと、相性問題が発生することが多いためです。
1.概要
MMD(MikuMikuDance)には、MMD上でエフェクトファイルを読めるようにするMME(MikuMikuEffect)というプラグインがあります。
さらに、このMMEには、ステレオVR-MMD動画を作成することができるMMDM(MikuMikuDomeMaster)というプラグインがあります。(「MMEというプラグイン」のためのプラグイン)
UnityだとキャラクターがMMD上とは異なる挙動を取ることがありますが(特にモーション関係)、このMMDMを使用してステレオVR-MMD動画を作成した場合、キャラクターやモーションの作者が意図した通りの出力が得られるというメリットがあります。
一方、
・画質が数段劣る。(エフェクトを全く使用しない場合で比べても、質感等の表現力が、MMD4Mecanimに大きく劣る)
・Unityに比べて動作が非常に重く、高性能GPU(グラフィックカード)がなければ、AutoLuminous等のエフェクトをかけた場合に、まともに動作しない。(画質が極端に下がる、OSごとフリーズする等)
・動画にエフェクトをかけたい場合(発光マテリアルを光らせる、物理ベースレンダリングを行う等)、使用可能なMME用エフェクトは、MMDMと併用できるように改造したものに限られる。(二十数種類がMMDMに同梱されています)
等のデメリットもあります。
特に、動作の重さは極端で、Unityなら「一面当りのキューブマップの解像度」を楽に4000x4000程度にすることが可能な性能のPCでも、MMDMだと、例えばAutoLuminousを併用する場合は、せいぜい1000x1000程度までしか上げられません。(1300x1300を超えると、エフェクトファイルの読み込みに失敗したというエラーが出て、MMDMが動作しません)
高性能PCを所有している方以外は、Unityの方が、良い出力結果が得られることが多いと思います。
しかし、参考として、MMDMを使用してステレオVR-MMD動画を作成する方法も記載しておきます。
2.MMDのインストール
最初に、MMD(MikuMikuDance)をインストールします。
Vocaloid Promotion Video Project
の1.4 MikuMikuDance(64bitOS Ver)からMikuMikuDance(x64 Ver)
をダウンロードしてください。
なお、本解説ではMikuMikuDance_v931x64バージョンを使用しています。
次に、ダウンロードしたzipファイルを解凍する前に、Windows標準エクスプローラでzipファイルのプロパティを開き、一番下にあるブロックの解除をクリックします。
これを行わなければ、起動時にエラーが出てMMDを起動できませんので、注意してください。
ブロックを解除したらzipファイルを解凍して、適当な場所にコピーしておきます。
次に、インストールしたMikuMikuDance.exeを起動してください。(通常はランタイムは自動的にインストールされますが、もしエラーが出て起動しない場合は、MMD同梱のreadme.txtを読んでランタイムをインストールしてください)
エラー表示なしで起動することが確認できたら、いったんMMDを終了させておいてください。
3.MMEのインストール
次に、MMD用プラグインであるMME(MikuMikuEffect)をインストールします。
舞力介入ブロマガ - ブロマガ
のMikuMikuEffect ver0.37からMME x64 ver0.37
をダウンロードしてください。
次に、ダウンロードしたzipファイルを解凍する前に、Windows標準エクスプローラでzipファイルのプロパティを開き、一番下にあるブロックの解除をクリックします。
これを行わなければ、起動時にエラーが出てMMEを起動できませんので、注意してください。
ブロックを解除したらzipファイルを解凍して、d3d9.dll、MMHack.dll、MMEffect.dllの3つを、MikuMikuDance.exeと同じフォルダにコピーしてください。正しくインストールされていれば、MMDを起動した後、画面の一番右上側(メニューバーの右端)に、MMEffectというボタンが表示されます。
4.MikuMikuDomeMasterの入手
次に、MME用エフェクトであるMikuMikuDomeMasterを入手しておきます。
ここ
からMikuMikuDomeMaster作業中20160417.zipの2017年2月1日更新版
をダウンロードしてください。(ファイル名が~作業中20160417.zipになっていても、日付が2017年2月1日より古いものは使えません)
リンクを開くと自動的に違うファイルの保存ダイアログが開きますが、保存せずにいったん閉じて、アイコンをクリックしてダウンロードしてください。
次に、ダウンロードしたzipファイルを解凍する前に、Windows標準エクスプローラでzipファイルのプロパティを開き、一番下にあるブロックの解除をクリックします。
これを行わなければ、起動時にエラーが出てMikuMikuDomeMasterを起動できませんので、注意してください。
ブロックを解除したらzipファイルを解凍して、適当な場所にコピーしておきます。
5.MMDモデルデータ・モーションデータの読み込み
まず、MikuMikuDance.exeを起動してください。
次に、キャラクターデータ(~.pmx等)とステージデータ(~.pmx、~.x等)を、Windows標準エクスプローラから、MMDのウィンドウの中(場所はどこでもOK)にドラッグ・アンド・ドロップして、問い合わせダイアログで出たらOKを押してください。(Unityではファイルが入ったフォルダをD&Dしましたが、MMDではファイルそのものをD&Dしてください)
次に、画面左下側にあるモデル操作パネルのドロップダウンボックスから、キャラクターを選択してください。
次に、そのキャラクター用のモーションデータ(~.vmd等)を、Windows標準エクスプローラから、MMDのウィンドウの中(場所はどこでもOK)にドラッグ・アンド・ドロップして、問い合わせダイアログで出たらOKを押してください。
もし複数のキャラクターを使用する場合は、上の手順(キャラクターを選択して、モーションデータをドラッグ・アンド・ドロップ)を繰り返してください。
6.キャラクターを拡大・縮小する
キャラクターが大きすぎる・小さすぎる場合は、以下の操作を行ってください。
まず、ダウンロード: とある工房
からPmxEditor_~.zip
をダウンロードしてください。
なお、本解説ではバージョン0.2.5.4を使用しています。
次に、ダウンロードしたzipファイルを解凍する前に、Windows標準エクスプローラでzipファイルのプロパティを開き、一番下にあるブロックの解除をクリックします。
これを行わなければ、起動時にエラーが出てPMXエディタを起動できませんので、注意してください。
ブロックを解除したらzipファイルを解凍して、適当な場所にコピーしておきます。
次に、闇鍋プラグイン - BowlRoll
から闇鍋プラグイン(2018-06-27バージョン)
をダウンロードしてください。
次に、ダウンロードしたzipファイルを解凍する前に、Windows標準エクスプローラでzipファイルのプロパティを開き、一番下にあるブロックの解除をクリックします。
これを行わなければ、起動時にエラーが出て闇鍋プラグインを起動できませんので、注意してください。
ブロックを解除したらzipファイルを解凍して、EtcPluginを、フォルダごと、PMXエディタインストールフォルダの下の_plugin\Userにコピーします。(~\PmxEditor_~\_plugin\User\EtcPluginとなるようにします)
次に、インストールしたPmxEditor_x64.exeを起動してください。(通常はランタイムは自動的にインストールされますが、もしエラーが出て起動しない場合は、PMXエディタ同梱のreadme.txtを読んでランタイムをインストールしてください)
次に、Pmx編集ウィンドウのメインメニューのファイル>開くから、キャラクターデータ(~.pmx等)を読み込みます。
次に、Pmx編集ウィンドウのメインメニューの編集>プラグイン>System>サイズ変更をクリックしてください。
サイズ変更ダイアログが表示されたら、スケールで拡大率を指定して(1未満で縮小)、エッジにチェックを入れてサイズ変更ボタンを押してください。(UIモデル表示はチェックなしのままで構いません)
次に、Pmx編集ウィンドウのメインメニューの編集>プラグイン>User>EtcPlugin>VERTEX>[VERTEX] SDEFで設定されている頂点を選択をクリックしてください。(「BDEF4で設定されている頂点を選択」等と間違えないように注意してください)
次に、PmxViewウィンドウのメインメニューの編集>ウェイト関連>選択頂点をSDEF設定をクリックしてください。(Pmx編集ウィンドウではありませんので、間違えないように注意してください)
編集したキャラクターデータを別名で保存し、MMDを再起動してモーションと共にロードし直せば、キャラクターの拡大・縮小は完了です。
※モーションがないMMDモデル(ステージ等)の場合、プラグイン>System>サイズ変更だけでOKです。(SDEF頂点の再設定は不要です)
7.MMDモデルデータの初期位置の移動
キャラクターの初期位置を移動させたい場合(複数のキャラクターを使用するときに立ち位置をずらす等)、以下の操作を行ってください。
まず、MMDの画面左下側にあるモデル操作パネルのドロップダウンボックスから、初期位置を移動させるキャラクターを選択してください。
次に、メインメニューの編集>ボーンフレーム全て選択をクリックしてください。(選択しても画面に変化はありませんが、問題ありません)
次に、メインメニューの編集>センター位置バイアス付加をクリックしてください。
バイアス付加のダイアログが表示されたら、移動距離を入力して、OKをクリックしてください。(Xが左右、Yが上下、Zが前後で、+の数値で順方向、-の数値で逆方向)
次に、MMDの画面左下側にあるモデル操作パネルの登録ボタンをクリックしてください。(次の操作の前に登録ボタンを押さないと、元に戻ってしまうので注意してください)
これで、キャラクターの初期位置の移動は完了です。
8.関連パラメーターの調整
まず、画面左下側にあるモデル操作パネルのドロップダウンボックスから、カメラ・証明・アクセサリを選択してください。
次に、画面左側にあるボーン選択パネルのカメラを選択し、赤文字表示にしてください。
次に、メインメニューの編集>ボーン・カメラ数値入力を選択し、数値入力(カメラ)のダイアログが表示されたら、
中心位置
位置X: 0.000
位置Y: 20.000
位置Z: 0.000
角度(°)
X軸: 0.000
Y軸: 0.000
Z軸: 0.000
距離
20.000
と入力して、OKをクリックしてください。
次に、画面左下側のカメラ操作パネルにある登録ボタンをクリックしてください。(次の操作の前に登録ボタンを押さないと、元に戻ってしまうので注意してください)
次に、メインメニューの表示>出力サイズをクリックし、
幅2048 高さ2048
と入力して、OKをクリックしてください。
次に、メインメニューの表示>座標軸表示をクリックしてください。(項目の左側のチェックを外してください)
次に、メインメニューの背景>背景黒化をクリックしてください。(項目の左側のチェックを入れてください)
終わったら、メインメニューのファイル>名前を付けて保存から、プロジェクトファイル(.pmm)を保存しておいてください。(DomeMaster.pmxの設定は正しく保存されないため、MMDを起動する度にDomeMaster.pmxをロードし直す必要があるので、必ずこの時点で保存しておいてください)
9.UtVideo Suite Codecのインストール
可逆圧縮(画質の劣化なし)方式の動画圧縮CODECであるUtVideo Suite Codecを、あらかじめインストールしておきます。
或るプログラマの一生 >> [UtVideo] バージョン 20.1.0
のバイナリ Windows (exe)からutvideo-20.1.0-win.exe
をダウンロードしてください。
あとは、ダウンロードしたインストーラを起動し、普通にインストールすればOKです。
10.DomeMaster.pmxのロード
※DomeMaster.pmxを読み込んだ後はMMDの動作が重くなるので、必要な編集は事前に終わらせておいてください。
まず、上でダウンロードして解凍しておいたMikuMikuDomeMaster作業中20160417\MikuMikuDomeMasterフォルダの中にあるDomeMaster.pmxを、Windows標準エクスプローラから、MMDのウィンドウの中(場所はどこでもOK)にドラッグ・アンド・ドロップして、問い合わせダイアログで出たらOKを押してください。(DomeMaster.fxと間違えないように注意してください)
次に、画面左下側にあるモデル操作パネルのドロップダウンボックスから、パノラマを選択してください。(DomeMaster.pmxをD&Dした直後であれば、既に選択されています)
次に、画面下側にある表情操作パネルのまゆのドロップダウンボックスからDM - Panoを選択し、スライダーを一番右へ移動させて、登録ボタンをクリックしてください。(次の操作の前に登録ボタンを押さないと、元に戻ってしまうので注意してください)
次に、画面左側にあるボーン選択パネルの視点操作の左側の+マークをクリックして展開し、その中の視差を選択して、赤文字表示にしてください。
次に、メインメニューの編集>ボーン・カメラ数値入力を選択し、数値入力(ボーン)のダイアログが表示されたら、
中心位置
位置X: 0.300
位置Y: 0.000
位置Z: 0.000
角度(°)
X軸: 0.000
Y軸: 0.000
Z軸: 0.000
と入力して、OKをクリックしてください。(これでIPD=瞳孔間距離が設定され、ステレオVR動画を出力できるようになります)
次に、画面下側のボーン操作パネルにある登録ボタンをクリックしてください。(次の操作の前に登録ボタンを押さないと、元に戻ってしまうので注意してください)
さらに、画面左下側のモデル操作パネル(ボーン操作パネルのすぐ左)にある登録ボタンをクリックしてください。
次に、MMDの画面の一番右上側(メニューバーの右端)にあるMMEffectというボタンをクリックし、さらにエフェクト割当をクリックしてください。
エフェクトファイル割り当てダイアログが表示されたら、Mainタブにある項目のうちDomeMaster.fx以外のチェックを外して、OKをクリックしてください。(DomeMaster.fxのみにチェックを入れます)
次に、Windows標準エクスプローラで、MikuMikuDomeMaster作業中20160417\MikuMikuDomeMaster\Subフォルダの中にあるMakeCubesUtils.incを、Windows標準メモ帳にドラッグ・アンド・ドロップして開いてください。 ※MMDは起動させたままでOKです。
開いたら、RT_SIZEを1024に、AA_Loopsを2に書き換えて上書き保存してください。RT_SIZEで一面当りのキューブマップの解像度を、AA_Loopsでアンチエイリアスのサンプル数(2x2、4x4等)を指定します。
MakeCubesUtils.incの書き換えが終わったら、MMDの画面の一番右上側(メニューバーの右端)にあるMMEffectというボタンをクリックし、さらに全て更新をクリックしてください。
これで、ステレオVR動画を出力する準備が整いました。
11.動画ファイルの出力
メインメニューのファイル>AVIファイルに出力をクリックし、まず保存ファイル名を指定してください。
次に、AVI出力設定ダイアログが表示されたら、
フレームレート: 30fps
録画フレーム: 0~xxxx ※xxxxは、曲の長さ(秒数)x30です。 例:曲の長さが5分(300秒)なら、0~9000
ビデオ圧縮コーデック: UtVideo YUV420 BT.709 DMO
と入力して、OKをクリックしてください。
これで、録画ウィンドウが表示され、録画が始まります。録画ウィンドウが自動的に閉じられたら、録画終了です。
12.動画ファイルの圧縮
AVIファイルのままだとサイズが大きいので、H.264形式(拡張子.mp4)で圧縮します。
まず、動画圧縮形式を変換する機能を持つ多機能ソフトウェアFFmpegをインストールします。
※Windows10 2018年11月30日時点の最新バージョンの場合
まず、
Builds - Zeranoe FFmpegを開き、
Version: 上側(Nightly git build)
Architecture: Windows 64-bit ※ご利用の環境に合わせてください。
Linking: Static
を選択し、Download Buildをクリックして、zipファイルをダウンロードします。
次に、zipファイルを解凍して、binフォルダをC:\にコピーしておきます。
次に、Windows標準コントロールパネルのシステム>システムの詳細設定を開き、詳細設定タブの一番下の環境変数ボタンをクリックします。
次に、ダイアログ下側のシステム環境変数一覧からPathを選択し、編集ボタンをクリックします。
次に、新規ボタンを押して、C:\binと入力します。
OKを押してからPCを再起動すれば、FFmpegのインストールは完了です。
次に、スタートボタンを右クリックして、Windows PowerShell(管理者)を起動します。
仮に、上で保存したAVIファイルのパスがC:\MMD\vrmovie_sbs_180.aviである場合、Windows PowerShell上で、
ffmpeg -i "C:\MMD\vrmovie_sbs_180.avi" -pix_fmt yuv420p "C:\MMD\vrmovie_sbs_180.mp4"
と入力すれば、AVIファイルが、H.264形式の動画(拡張子.mp4)に変換されます。
これで、ステレオVR-MMD動画の完成です。
また、完成した動画に、音楽等の音声ファイルを結合するときも、FFmpegを使用します。
仮に、結合する音声ファイル名がmusic.aacで、結合後ファイル名がvrmovie_with_music_sbs_180.mp4である場合、Windows PowerShell上で、
ffmpeg -i "C:\MMD\vrmovie_sbs_180.mp4" -i "C:\MMD\music.aac" -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 "C:\MMD\vrmovie_with_music_sbs_180.mp4"
と入力すれば、音声ありの動画ファイルが作成されます。(結合はすぐに終わります)
ちなみに、音声ファイルの形式を変換する場合は(mp3→wav、wav→aac等)、
fre:ac
等のオーディオエンコーダーを使用します。
13.AutoLuminousの有効化
発光マテリアルに光輝くエフェクトを追加することができるAutoLuminousを有効化する場合は、録画直前まで操作を進めた後、Windows標準エクスプローラで、MikuMikuDomeMaster作業中20160417\MikuMikuDomeMaster\AutoLuminous4フォルダの中にあるAutoLuminous-Cubes.xを、MMDのウィンドウの中(場所はどこでもOK)に、ドラッグ・アンド・ドロップしてください。(AutoLuminous.x等と間違えないように注意してください)
ドラッグ・アンド・ドロップするだけで、AutoLuminousが有効になります。
なお、AutoLuminous以外のMME用エフェクトも、MikuMikuDomeMaster作業中20160417\MikuMikuDomeMaster\りどみ.txtに記載された手順で追加できます。
また、MMDM付属のMME用エフェクト以外にも、ぬるてかシェーダー(dAdultsShader)等が、MMDMと併用可能なようです。
参考:
1. MikuMikuDanceの導入~ドームマスター映像出力 – ニコニコプラネタリウム部
【MMD】MikuMikuDomeMasterでGear VR/Cardboard向けステレオ天球動画を出力する - ReDo
MMDでVRを作る方法の解説 - YouTube
PMXモデルのサイズ変更とウェイト修正:マスターボールの中の人 - ブロマガ
インストールしよう - はじめての MikuMikuEffect!