MRが楽しい

MRやVRについて学習したことを書き残す

UnityにMMDのダンスモーションを取り込んでモーションとして利用する(その3)

前回記事の続きとなります。
bluebirdofoz.hatenablog.com

前回、BlenderでVMDファイルが読み込めなかった問題からです。
いや、実は途中で分かってました。ボーンそのものを差し替えてるんだからモーションが流用できるわけないです。
ダンスモーションとRigifyの連動をどうするかが結局のところ、MMDダンスモーションをUnityに取り込むことに繋がる訳です。

さて、今までのテストから、おそらくダンスモーションはボーンの名前で関連付けが行われていることが分かっています。
ではRigifyで作ったボーンの名称をMMD準拠に修正すればダンスモーションが取り込めるんではないでしょうか。
という訳で、作成したRigifyと大元のMMDモデルのボーンを比較することにしました。
f:id:bluebirdofoz:20170709041850j:plain

しかし、ここでようやく気付きました。あれ?Rigifyのボーン構成とMMDモデルのボーン構成ほとんど同じじゃない?と。
もしボーン構成が同じならUnity側の方で連携が取れれば、それで問題ない訳です。

試しにBlenderにインポートしたMMDモデルをそのままFBX形式に出力してUnityに取り込んでみると……。
f:id:bluebirdofoz:20170709041901j:plain
しっかり動きました。

要は以下のボーンの関連付けで適当なボーンが存在していれば良い訳です。
f:id:bluebirdofoz:20170709041910j:plain
そのまま取り込んだときは手の動きが変でしたが、関連付けを少し修正してやればしっかり動きました。

ならば、ダンスモーションを取り込んだBlenderプロジェクトをFBXで出力してやれば……。
f:id:bluebirdofoz:20170709041921j:plain
Unity上でダンスモーションが確認できました。

回り道をした気がしますが、これでVMDファイルからUnityにモーションデータを取り込むことができました。
しかし、ボーンの関連付けがマズいのか。それっぽい動きはしているものの、所々破綻しています。
次回はこの微調整を詰めていきます。