上記の記事で紹介した、MMDでEquirectangularXを使用してVR動画の作成をした場合、何も対策をしなければ、モデルの物理演算で動く部分(髪の毛や服など)が各画角の境界線でずれてしまいます。
本記事では、VR動画作成時にずれが出ないようにする方法について記載します。
VR動画の各画角の境界線でずれが出る?
何も対策しないと、以下の用に各画角の境界線でずれてしまいます。
なぜVR動画の境界線でずれるのか?
MMDの物理演算結果が毎回異なる為、同じモーションで各画角の動画出力を行っても、髪の毛やスカートなどの物理演算で動くパーツは毎回違う動きをします。
EquirectangularXでのVR動画作成はMMDで複数回に分けてAVI出力を行う必要がありますので、AVI出力の度に物理演算の結果が異なり動画を結合したときにずれてしまいます。
解決方法:モーションを物理焼き込みする
これらの問題は、モーションを物理焼き込みすることで解決できます。
MikuMikuMovingで物理焼き込みを行う
MikuMikuMovingを起動します。
使用するモデルを読み込みます。
ファイル > モデル > モデル読み込み をクリックします。
物理焼き込みを行うモーションをモデルに読み込みます。
ファイル > 読み込み/保存 > モーション読み込み をクリックします。
次に、物理演算 > 動作 が「常に演算」または「再生時のみ演算」になっていることを確認してください。
実際にモーションの物理焼き込みを行います。
物理焼き込みを行う前に、現在のフレームが0になっていることを確認してください。
現在のフレームから物理焼き込みは開始されますので、例えばフレームが100になっていると0から100フレームまでの間物理焼き込みが行われなくなってしまいます。
フレームが0になってることを確認したら、物理演算 > 動作 > 物理焼き込み をクリックします。
モーションの物理焼き込みが完了すると、実施前はキーが打たれていなかった「髪」や「服」に1フレームごとにキーが打たれます。
一度、物理演算をなしに設定して「髪」や「服」がちゃんとアニメーションするか確認してみましょう。
物理演算 > 動作 > 物理演算なし をクリックして、「再生」ボタンをクリックします。
物理演算なしでも、「髪」や「服」が動くことが確認できたと思います。
次に、物理焼き込みを行った状態のモーションデータを保存します。
ファイル > 読み込み/保存 > モーション保存 をクリックします。
モーション保存ウィンドウが表示されます。
以下の項目を設定して「保存」をクリックしてください。
- 出力ファイル:(任意の出力先ファイルを設定)
- フォーマット種類:VMDファイル
- 出力設定:全てのキーフレーム
- 出力対象ボーン:Allにチェック
出力ファイルに設定したファイルパスにVMDファイルが出力されたらOKです。
1フレームごとのデータを保存するため、物理焼き込みを行う前のVMDファイルより容量が大きくなります。
MMDで物理焼き込み済みモーションを使用する
MikuMikuMovingで作成した物理焼き込み済みモーションをモデルに適用します。
次に、メニューバーの 物理演算 > 演算しない を選択して各画角ごとのVR動画を出力しなおします。
修正後のVR動画
修正前ずれていたフレームと同じフレーム位置を確認すると、髪の毛や服のずれがなくなっていることが確認できます。
お借りしたもの
G-Tuneのマスコットキャラクター「Tuneちゃん」
配布先:http://www.g-tune.jp/campaign/10th/mmd/
G-Tuneちゃんの家
配布先:http://www.g-tune.jp/campaign/10th/mmd/
ニコニ立体ちゃんモーション
配布先:https://3d.nicovideo.jp/alicia/
EquirectangularX(V1.1) for MMD
配布先:https://bowlroll.net/file/166172
AviUtl 拡張編集プラグイン
配布先:http://spring-fragrance.mints.ne.jp/aviutl/
AviUtl x264guiEx
配布先:https://rigaya34589.blog.fc2.com/
コメント