本日は MMD の技術調査枠です。
前回 mmd4mecanim でMMDモデルを Unity に取り込み、VR/MRで再生する方法を調査しました。
bluebirdofoz.hatenablog.com
bluebirdofoz.hatenablog.com
これで MMD の3Dモデル、ダンスモーションを Unity に読み込めるようになりました。
しかし、構成データの一つであるカメラモーションは mmd4mecanim では読み込めません。
方法がないかと調べたところ、何とつい最近、スクリプトを作成して公開して下さった方がいました。
vr-marimo.hatenablog.com
早速、試してみます。
リンク先の github から MMD_VmdCameraLoad.cs ファイルを取得します。
利用方法は参照ブログでも合わせて、マニュアルページが用意されています。
vr-marimo.hatenablog.com
ここでは前回記事で作成したプロジェクトに対して実施した手順を記録しておきます。
インポート方法はダウンロードした MMD_VmdCameraLoad.cs ファイルをプロジェクトのアセットに読み込むだけです。
カメラの注視点を設定する必要があるため、Hierarchy 直下に以下のような2層構造のゲームオブジェクトを作成します。
▼Camera_Center
▼Camera_VmdLoad
そして Camera_VmdLoad オブジェクトに MMD_VmdCameraLoad.cs スクリプトをアタッチします。
Camera_VmdLoad オブジェクトに MainCamera を入れ込みます。
UWP 設定を実施済みの本プロジェクトの場合、MixedRealityCameraParent オブジェクトを入れ込みます。
カメラモーションファイルをプロジェクトに取り込みます。
予め、vmd ファイルの拡張子を .bytes に変更して読み込みます。
Camera_VmdLoad の Inspector を開き、各変数に以下を設定します。
Select_VMD :カメラモーションファイル(.bytes形式) Camera_Center:Camera_Center オブジェクト Main_Camera :MixedRealityCamera オブジェクト(MixedRealityCameraParent 内の Camera オブジェクト) MMD_model :MMD モデルオブジェクト
MMD モデルオブジェクトの Transform は以下の通り設定します。
Position X 0 Y 0 Z 0 Rotation X 0 Y 180 Z 0 Size X 1 Y 1 Z 1
再生ボタンを押すと……。
カメラが動きました。ヘッドセットを通して見ると、レールに乗るようにカメラの位置は動きつつ、周りを見渡したり、キャラに対して身を乗り出して見ることができます。
ぼんやりと見ているだけでも、立体視ができるので、単に動画で見るよりも臨場感があります。
こうなると、きちんとした背景も欲しいところです。
mmd4mecanim は pmx 形式のファイルを変換するので同形式のステージデータも読み込めます。
変換したステージデータをプロジェクトに配置します。
この状態で再生してみると……。
MMD のダンスモーションをカメラワーク付きで、WindowsMRヘッドセットにて鑑賞する事ができました。
ただし、カメラワークの捻り回転は酔います。VRで楽しむなら、大人しめのカメラワークを選びましょう。
素晴らしいツールをありがとうございます。