2015年8月19日水曜日

MMDBridgeを使用したobj連番出力によるMMDモデル & モーションのAfterEffects(Element 3D)連携

まぁ、表題の通りです。

以前、MMDとAEの連携方法についての長文エントリーで、
>でも、ぶっちゃけ、AEの3D空間にモーション付MMDモデルを設置できるようにならないかなぁ。
OBJシーケンスとかで出力できるように、ならんか。
そんなプラグイン出たら、5万ぐらいしても買ってしまいそう。
とかぼやいていたんですが、MMDBridgeなるツールを使用すればobj連番出力ができるという話を聞きまして、さっそく試してみました。

【MMDBridge導入】
1 大前提として、MMDBridgeがMMMに対応していないため、MMD32bit版(MMD64bit版も非対応)をダウンロードします。
2 MMDBridgeも作者様サイトよりダウンロードします。
3 ダウンロードしたMMDBridgeの中身をMMDのフォルダにコピーします。階層は、MMDのMikuMikuDance.exeとMMDBridgeのd3d9.dll等が同じフォルダになるようにします。

【MMDBridgeによるobj出力】
1 MMDを起動すると、先のMMDBridge配置が上手くいっていればメニューに「MMDBridge」が追加されています。
2 モデルやモーションを読み込み、出力直前の状態にします。なお、仕様上、動画出力とセットの動作になるので、obj出力だけが目的の場合は、「表示」→「出力サイズ」から出力画面サイズを192×108とか、小さくしておきます。
3 メニューの「MMDBridge」→「プラグイン設定」をクリックすると設定画面が表示されるので、使用するスクリプトに「mmdbridge_obj_general.py」、スクリプトの呼び出し設定に「実行する」、出力対象フレーム、フレームレートは出力する動画の設定と同じにしてOKをクリックします。




4 「ファイル」→「AVIファイルに出力」をクリックし、保存先を選択します。この保存先は動画ファイルだけで、obj連番ファイルはMMDBridgeとMMDをセットしたフォルダの「out」フォルダ内に生成されます。連番ファイルでかなりの容量になります。ディスク残量に注意。



5 obj出力先が固定なので、出力後はAEで使用するプロジェクトフォルダにコピーしておきます。なお、Element 3D読み込みの際に、objを保存しているパスに日本語が存在するとマテリアルを読み込めないようです。

【Element 3Dによるobj連番ファイルの読み込み】
1 AfterEffectsを起動して、平面にElement 3Dを適用し、Scene Setupをクリックします。
2 Element 3Dのウィンドウの「File」→「Import」→「3D Sequence」をクリックし、obj連番ファイルを読み込みます。この時、私の環境だと、0フレーム目が正常なフレームにならない(0fと1fで位置など全然違う)ので1フレーム目から読み込んでいます。
 ただし、これはMMMからモーションを持ってきているのが理由かもしれないので、正常に読み込めるなら0フレームで良いでしょう。




3 ファイルを選択すると、読み込みの設定ダイアログが表示されます。何も触る必要はありませんが、人型モデルの場合は「Force Alignment」をBottomにすると、Y座標0が足になるのでおススメです。



4 Element 3Dの画面にモデルが表示されます。かなり小さく表示されるので、Scaleは10倍の1000%程度に設定すると、他のE3D標準モデルとの大きさが揃えやすくなるのではないでしょうか。
 また、必要に応じて、Start Frame、End Frame、Frame Offsetなどを編集して、アニメーション部分をタイムラインのどこに持っていくかを設定します。


5 OKをクリックすると、AfterEffectsの画面にミクさん登場。


6 カメラやライトにも反応します。



7 動画による合成では死ぬほど面倒くさいこのような配置も、obj連番でElement 3D内に読み込めば簡単に実現できます。



この情報を知ったのは嬉しいです。かなり表現の幅が広がるよ。
これでC4Dがなくても戦える。

0 件のコメント:

コメントを投稿