本日は MMD の技術調査枠です。
以前、mmd4mecanimでUnityにMMDモデルを取り込む方法について調査しました。
bluebirdofoz.hatenablog.com
MMDforUnityの変換で実施したhumanoidリグの反映をこちらの変換モデルでも試してみます。
bluebirdofoz.hatenablog.com
テスト用プロジェクトとして以下の記事で作成したプロジェクトを利用します。
bluebirdofoz.hatenablog.com
折角なので、講座を見ながら Unity 2017.2 で作り直しました。
ここからユニティちゃんのキャラクタをMMDモデルに差し替えます。
mmd4mecanimの記事を参考にMMDモデルをUnityに取り込みます。
bluebirdofoz.hatenablog.com
bluebirdofoz.hatenablog.com
サンプルモデルに今流行りのバーチャルユーチューバー、キズナアイのモデルを利用しました。
・download-page - Kizuna AI Official Website
http://kizunaai.com/download-page/
今回はUnityちゃんのモーションを利用するので、mmd4mecanimでのモーション取り込みは不要です。
モデルを取り込みました。Unityちゃんとモーションを共有するため、humanoidリグを設定します。
fbx ファイルを選択して Inspector から Rig タグを開き、Animation Type を「humanoid」に変更します。
変更したら Apply をクリックして変更を反映します。
変更が完了したら、各ボーンの設定が正しく行われているかを確認するため、Configure をクリックします。
以下のような関連付けになっていれば問題なさそうです。
mmd4mecanimで取り込んだモデルであれば名前は一致するはずです。
(数字部分はモデルによって異なります)
fbx モデルをシーンに取り込み、Unityちゃんと同じセットアップを行います。
・Transform の設定
・Controller の設定
・Rigitbody のアタッチ
・CapsuleCollider のアタッチ
・UnityChanControlScriptWithRgidBody のアタッチ
Unityちゃんは無効化しておきます。
ゲームを起動して Enter キーを押下すると……。
成功です。MMDキャラクタをUnityちゃんのモーションで動作させることができました。
ただし……。
以下の記事でも言及した通り、厳密にはMMDモデルとhumanoidモデルのボーン構造は腰部分の構造が異なります。
bluebirdofoz.hatenablog.com
このため、腰回りのモーションが正確に再現されないことがあります。