MMD4Mecanim チュートリアル（基本編）

Nora
http://stereoarts.jp□ 概要
UnityでMMDの各種モデルデータ・モーションデータを扱うためのコンバータ及びスクリプト群です。

□ MMDのモデルデータ及びモーションデータを使用するにあたってモデルデータ及びモーションデータに同封されている、説明書等に記されている利用規約に必ず目を通し、遵守していただけるようお願いします。
公開・配布を目的とするゲーム及びコンテンツでの利用について、利用規約で明示的に許可している場合を除いて、作品内での使用及びデータを含んだ状態での配布を行って良いか、必ずモデルやモーションデータの制作者に確認をお願いします。
※多くのモデルやモーションデータは、動画及び静止画での使用を前提としており、それ以外での使用を前提としていません。
クリプトン・フューチャー・メディア株式会社の権利を有するキャラクターを用いて創作活動を行う場合、必ずガイドラインに目を通していただけるようお願いします。
ピアプロ・キャラクター利用のガイドライン
http://piapro.jp/license/character_guideline
商用利用について、以下の項目は該当する可能性があるので、十分に確認をお願い致します。
（直接の契約を結ばない限り、原則としてNGとしているものがほとんどです。）
法人による、営利・非営利を問わないあらゆる利用
個人または法人格のない団体による、有償・無償を問わない営利を目的とする利用
賞品・賞金のでるコンテストへの出展、及び有償イベントへの展示
公序良俗に反する表現について、十分に配慮をお願い致します。
（利用の可否はモデルの権利者の判断、及びガイドラインに準じます。）
例えば、家族がそろって視聴した場合、露骨な表現描写をすることによって困惑、嫌悪の感じを抱かせないように注意をしてください。（民放連の放送基準より一部参照）□ スクリーンショットで使用されているモデル及びモーションデータについて各種画面説明のため、以下のモデルデータ及びモーションデータを使用しています。
よ式初音ミクv1.2.1 / よっさん
http://piapro.jp/t/QcRy
歩きモーション / Nora
(配布パッケージに同封)□ PCLクレジット
この作品はピアプロ・キャラクター・ライセンス（http://piapro.jp/license/pcl/summary）に基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」を描いたものです。

□ Unityへのインストール
配布ページにある MMD4Mecanim の圧縮ファイルを解凍すると、以下のファイルが展開されます。
その他
MMD4Mecanim.unitypackage
Readme.txt… 各種補助スクリプト等(オプション)… Unityのプロジェクトに登録するパッケージファイル… ツールの説明書、利用規約○ プロジェクトの作成
Unityを起動し、メニューの File > New Project から新規プロジェクトを作成します。

File > New Project を選択

Create project ボタンを押す

○ MMD4Mecanim の登録解凍したフォルダにある MMD4Mecanim.unitypackage をダブルクリックして、Unity への登録（インポート）を実行します。

MMD4Mecanim.unitypackage をダブルクリック

または、ドラッグ＆ドロップでも登録可能

Import Package ダイアログが表示されるので、Import ボタンを押して登録します。

Import Package ダイアログが表示されるので、Import ボタンを押す

このように Project ウィンドウに登録されれば、準備完了□ モデル・モーションデータの登録○ ファイルの登録
配布ページにあるファイルを解凍し、ドラッグ＆ドロップで Unity の Project ウィンドウに登録します。

解凍したファイルを Project ウィンドウにドラッグ＆ドロップ

このような状態になれば準備完了

○ 利用規約の確認
モデルファイルと同じフォルダにある自動生成されたファイル ～.MMD4Mecanim をクリックすると、モデルの説明と利用規約の確認画面が表示されます。利用規約を必ず確認し、内容を良く理解した上で"同意する"ボタンを押してください。
※ モーションファイルについては、エクスプローラーからファイルを開いて直接確認してください。

内容を理解した上で、"同意する"
ボタンを押す自動生成されたファイルをクリックし、モデルの利用規約を確認□ モデル・モーションデータの変換○ PMX/PMD + VMD の FBX への変換設定ウィンドウを開く
利用規約に同意後、以下のように PMX/PMD モデルから FBX モデルに変換するための設定ページが開きます。
モデル自体のスケール値や、同時に変換する VMD モーションの設定もここで行います。
ロックアイコン。VMD を登録する際に、設定画面を開いたままにできる

最後に Process ボタンを押して変換を実行

ここに VMD をドラッグ＆ドロップで登録する（事前にロックアイコンで設定画面を開いたままにすると便利）

変換後、生成されたモデルを開くと、以下のように Inspector ウィンドウに設定画面が開きます。

Project ウィンドウから対象のモデルを選択すると、Inspector ウィンドウに設定画面が表□ シーンとアニメーションの構築○ シーンへのオブジェクトの配置モデルを Project から Scene または Hierarchy ウィンドウへドラッグ＆ドロップし、シーンへ配置します。

Scene または Hierarchy ウィンドウにドラッグ＆ドロップ

このようにシーンにモデルが配置されれば成功

○ Animator Controller の設定
Project ウィンドウで、右クリック > Create > Animator Controller を選択して、空の Animator Controller を生成します。

右クリック > Create > Animator Controller を選択

Animation Controller が生成される

生成した Animator Controller をシーン上のモデルの Animator > Controller の項目にドラッグ＆ドロップします。

シーンに配置したモデルを選択、Inspector ウィンドウの Animator > Controller に対して Animation Controller をドラッグ＆ドロップ（ここでもロックアイコンを使うと便利）

Animation Controllerが登録した Animator Controller をダブルクリックし、アニメーションの状態遷移図を開きます。
その状態から、モデルに含まれるモーション(歩き.vmd)を状態遷移図にドラッグ＆ドロップし登録します。

Animation Controllerを

Project ウィンドウのモデル横の展開ボタンを押し、モデルに含まれるモーションをAnimator Controller にドラッグ＆ドロップ登録後、以下のような状態になれば、設定完了です。
ここで一旦、メニューから File > Save Scene を選択し、シーンを保存しておきます。

ドラッグ＆ドロップしたモーションがルートモーション（最初に再生されるモーション）として登録されるFile > Save Scene でシーンを保存□ シーンの微調整と再生
後は、ギズモを使ってライトやカメラの角度・位置を調整し、キャラクターを見えやすくします。
編集後、再生ボタンを押すとシーンが再生されます。
※再生中に位置や角度を編集しても、停止後に元に戻るので注意

ギズモツール。
左から、視点移動・オブジェクト移動・オブジェクト回転・オブジェクト拡大縮ギズモを使ってカメラやライトの角度・位置を調整。
Inspector ウィンドウの Position / Rotation を直接編集しても移動可能。

再生ボタンを押すと、シーンの再生□ 補足
MMD4Mecanim の大まかな動作の流れは、以下のようになっています。

MMDデータPMX2FBX

MMD4Mecanim

Mecanim 対応モデル○ PMX/PMD + VMD を FBX に変換し、Unity でインポートできる形式に変換○ Mecanim に適合するようにボーン調整○ Bullet Physics による髪やスカートの挙動を再現（モーションに焼きこみ）○ Material と Shader の初期設定○ 表情モーフのための補正スクリプト○ プラグイン版 Bullet Physics によるリアルタイムでの物理挙動の再現○ AnimationType : Generic または Humanoid で初期化
Generic… VMD の再現性重視、ただし Humanoid モーションは再生できない
Humanoid … VMD 以外にも、Mecanim(Humanoid) モーションに対応○ 制限事項Mecanim(Humanoid)での VMD 再生は、まだ不完全な部分が多く全てのモーションで正常に再生できるとは限りません。
その場合は、Animation Type を Humanoid ではなく Generic を選択してください。
Unityで動作する リアルタイムの Bullet Physics プラグイン / C# DLL も同封しています。
○ Rig > Animation Type について
Animation Type は以下から選択できます。用途に応じて切り替えてください。
Generic… VMDの再現性重視。ただし、以下の制限事項があります。
Humanoid モーションはできません。（変換時に一緒に変換した VMD のみ再生可能）
視線移動(LookAt)、人体 IK など Humanoid 特有のインタラクティブな機能は使用できません。
VMDモーションを単純に再生したいだけの場合は、こちらの設定を推奨します。

Humanoid… チュートリアルや Mixamo などの、Mecanim モーションも再生できます。
また、視線移動（LookAt）や人体 IK など Humanoid 特有の機能が使用できます。
ただし、VMDの再現性は下がります。（モーションによっては微妙なズレや間接動作が壊れます。）
このオプションを選択する場合、後述する物理設定(プラグイン版Bullet Physics)の使用を推奨します。
※ Avatar の初期設定、及びプラグイン版Bullet Physicsの設定は、ここでは省略します。

○ 補足 : アニメーションファイルについてシーンに登録したモデルの設定スクリプトで、Anim ページを開くと、標準で同時に変換した VMD の .anim ファイルが登録されています。これは、Animation Controller のステートに連動して、表情モーフを動作させるためのアニメーションファイルと、ステート名を組で登録しています。また、ステートを追加する場合も、それに対応した .anim ファイルをここに追加で登録する必要があります。

□ 履歴2015/6/7

利用規約について補足追記