【MMD】続・360度パノラマステレオ動画で嫁を召還してみた【Gear VR】 - ReDo

2015年11月 4日

【MMD】続・360度パノラマステレオ動画で嫁を召還してみた【Gear VR】

mmm2.png

モデル:ままま式改変 ハロウィンあぴミク
【MMD-PVF3】ハロウィンあぴミクで Happy Halloween【モデル配布】
http://www.nicovideo.jp/watch/sm27492874
モーション:農萌裏表ラバーズ
【第7回MMD杯本選】裏表ラバーズ ダンスPV風
http://www.nicovideo.jp/watch/sm15356537
ステージ:ロビーステージ 廃墟版
http://seiga.nicovideo.jp/seiga/im4031554

過去、MMM 1日目 物理演算結果を固定したい【MMD】360度パノラマステレオ動画で嫁を召喚してみた【Gear VR】で苦戦していたMMDの物理演算固定ですが、MikuMikuMovingの物理焼き込みを使うことであっさり解決しました。

mmm.png
(もっと早く気づけよ系)

そんなわけでCaeru氏の【MME】360度パノラマ画像を作るでパノラマ+ステレオに再チャレンジしてみました。
以下文字中心ですいません、つらつらと手順メモを。


front-dome.png

1. モーションの調整

360度パノラマ天球動画を目の幅ぐらい横にずらすと、前方のみステレオ立体視が可能な動画になります。よって、某甘えん坊のミクさんみたいな感じの左右の動きの激しくないモーションが良さそうです。

それなりにずれてしまう子はモーションをいじってしまいましょう。「全ての親」ボーンで回転と平行移動を駆使すると強引に動きを縮めることができます。「全ての親」ボーンが見当たらない際にはPMXEditorで「編集→ボーン→「全ての親」ボーンの追加」にて追加が可能です。

MMMにてモデルとモーションを読み込み、全ての親ボーンを適当にいじります。

2. 物理焼き込みとvmdの保存

MMMで物理演算タブの物理焼き込みを選択し、物理演算結果がすべてのキーフレームに出力されたのを確認後、vmdで保存します。モーションの長さによりますが数十MB級のゴツいvmdが出力されます。

3. MMDでステージ・モデル・モーションの読み込み

MMDでステージ・モデルと先ほど出力した物理演算焼き込み済みのモーションを読み込みます。全キーフレームが打たれているので読み込みには時間がかかりますのでゆっくり待ちましょう。

残念ながら(自分がMMEをいじれるスキルが無いせいですが)Panorama360.xはシェーダもポストエフェクトも有効でないので素の配置のみでおしまいです。

4. Panorama360.x

Panorama360.xはアクセサリとして読み込みます。パノラマの中心は、カメラの位置ではなくエフェクトの座標が適用されますので、左目用はX:-0.3 Y:15.0 Z:-16.0、右目用はX:0.3 Y:15.0 Z:-16.0の様な座標をアクセサリのPanorama360.xの項に適用します。

どういう原理かわかっていないのですが、モデルのエッジの太さがカメラの「距離」に依存する模様なので、ほぼ0付近になるように気をつけて調整してください。

また、Panorama360.fxをエディタで開いて、先頭行付近にあるRT_SIZEという定義(テクスチャサイズ?)が初期値は512になってますが、高解像度向け出力のせいかボケてしまうので、(高負荷なのでレンダリング直前が良さそうです)2048に変更して上書きしてください。

mmm1.png

readmeに記載されている通りですが、こんな感じでMMEの有効無効を設定すると、Equirectangularな絵が出てくるはずです。うまくいったら通しで再生して、遠すぎず、また手前貫通はしないぐらいの位置に座標を調整しましょう。

5. AVI出力

AVIに出力します。MMD側の出力設定は横:縦が2:1になるようにしてください。ここでは2160x1080を設定したものとします。

この解像度で無圧縮だとディスクスペースが死ぬので、UtVideo Suite Codecをインストールしておくと良いです。詳細はGoogle先生に聞いてください。

Gear VRは長辺が2048を超える動画も再生可能ですが、High Profile@5.2になってしまうと再生ができないので、エンコード後にバイナリエディタでいじってやる必要があります。

また、調べるとすぐ出てくると思うのですが、Profile LevelがHigh@5.2になるととたんに再生できなくなる模様なので、バイナリエディタで5.1に書き換えちゃうのが手っ取り早いです。

MPEG4 H.264/AVCのプロファイルとレベルの変更(おぼえがき)

例えば5.2→5.1であれば61 76 63 43 01で検索してその後に続く64 00 34という箇所を64 00 33に2か所変えたところなんとかなりました。

6. AviUtlで結合+エンコード

左目用と右目用のAVIが出力できたら、AviUtlで上下に結合(TopBottom式のステレオパノラマ画像となります)してエンコードします。

AviUtlの拡張編集+x264guiExによるmp4へのエンコードを実施します。それなりに難しい(慣れればそんなに手順が多いわけではないのですがいかんせん多機能なので...)手順となりますので、rigayaの日記兼メモ帳 x264guiEx 1.xx/2.xx 導入AviUtlでMP4(H.264、H.265)にエンコードするためのインストールと設定方法 を見て順番に頑張ってみてください。

7. mp4をGearVR等へコピーして閲覧

Gear VRの際にはOculus 360Videosアプリで閲覧するので、ストレージのOculus/360Videos配下にmp4をコピーしてください。ファイル名はTB_(TopBottomの意)で始めるのがルールな模様です。

<よもやま>
・この方式の大きなウリは「MMD+AviUtlで完結するので特別なプログラミング・3D知識が不要」と「あくまで動画を出力しているのでライセンスまわりが厳しくない範囲でVRコンテンツをつくることができる」の2点です。
・シェーダーもポストエフェクトもかけられず、ライティングも謎の挙動をするのでMMD動画としてはいろいろ厳しいです。無料環境でセット1時間程度でホイホイ試せるので妥当といえば妥当なのかも...。
・同じ前方半天球ステレオ式である某virtualrealporn先生の動画と比較するとやっぱり立体感に不自然があります。綺麗に立体に見えるスイートスポットが思ったよりも狭い印象です。
・MMMで全ての処理が完結しないのはWin10のせいかもしれません。MMDv926・MMMv1272・MMMv2β0101を試しましたが、MMMv2はどうもMMEの互換性が無く、MMMv1272ではPanorama360.xは正常動作しませんでした。
・ライト色だけいじってTHETA S動画とクロマキー合成ができるかなと思っています。THETA S動画から上半球カラーの平均値をとってカメラvmd出力して、超雑IBLとかできないかなぁ。

コメント(4)

質問してもよろしいでしょうか。。mmmでvmd保存したあとmmdで読み込むとframeが300,000を超えてvmdを読み込めないんですけどどうすればいいんでしょうか。。ふつの変更したvmdは全部300,000frameを超えてしまいます。。

>めしさん
30000キーフレームを越えないように前半と後半、みたいにフレームを分け、aviとして4つ出力してから結合、みたいな手間をかける必要があります。
モデルによりますが自分の感覚でも二分ぐらいが言動というイメージですね…

# Caeru氏がMMDだけで済みそうなステレオMMEを作成途中のものを公開していたのでそれにチャレンジするのも手かも…

MikuMikuDomeMaster20160115でそのへん解決しそうなのでよかったら試してみてください

http://greety.sakura.ne.jp/redo/2016/01/mmdm-stereo-equi-movie.html

ほんとにありがとうございます!!

コメントする