もさぷい

ゲーム、3D関連技術ついて

Unity3DとMikuMikuDance for Unityを使用してみて

Unity3Dの使い方を学ぶために「MikuMikuDance for Unity」を使用して、書籍「Unityではじめるゲームづくり」のサンプルプログラムにMMDモデルを適応してみました。

Unityでは、サンプルが豊富にあるので、サンプルを改造するだけで、それなりに見栄えのするゲームができそうです。

以下に、改造を行った過程をメモしておきます。

MikuMikuDance for Unity差し替え

■Step1 Unityへの「MikuMikuDance for Unity」の適応

・「MikuMikuDance for Unity」をUnityに適応する。

※「MikuMikuDance for Unity」のソースはSVNから最新のソースを落としたほうがよい。コンパイルエラーが出る場合は、エラーにしたがってソースを修正する。

参考:

『テラシュールウェア [Unity3D]UnityでMMDを使う』

『「Miku Miku Dance for Unity」でPMDファイルのインポートをしてみた - 強火で進め』

■Step2 MMDモデルの用意

・表示したいモデルのPMDファイルを用意する。

■Step3 モーションファイルの作成

MMDを使用して、モーションファイル(VMDファイル)を作成・用意する。

※いちばんここが大変。歩く、走る、かがむ、待機モーション等の簡単なモーションを作るのですが、簡単なモーションでも作るの難しいです…

・「MikuMikuDance for Unity」では、IKを使えないので、用意したモーションファイルがIKを使用している場合、IKをベイクする必要がある。

・IKのベイクには、「MikuMikuDance for Unity」のSVN上に存在する「MMDIKBaker」を使用すると良い。

※ベイクがうまくいかない場合は、MMDでうまくいかない箇所のIKモーションのキーを増やすなりして、IKの解が正しく収束するよう工夫すること。

参考:

『テラシュールウェア [Unity3D]UnityでMMDを使う Ik対応版(ベータ)』

■Step4 PMDファイルとVMDファイルのインポート

・PMDファイルとVMDファイルをインポートする。

※物理シミュレーションについて、PMDファイルのRigidbodyインポートによって作成される剛体の設定では、物理シミュレーションが正しく動作しない方が多いので(MMDの様に親オブジェクトが動くと子供オブジェクトが引っ張られる様な挙動をしない)、PMDファイルのRigidbodyインポートはしない方が良いと思う。

参考:

Step1と同じ。

■Step5 MMDモデルのSceneへの配置と設定

・インポートしたMMDモデルをSceneに配置して、サンプルプログラムのWidgetのプロパティ設定を見て、同じになるように設定する。

■Step6 その他要素の追加

・サンプルプログラムでは、キャラクターの操作が、ラジコン操作だったので、3人称視点の操作に変更しました。

参考:

『デモンズソウルみたいなカメラ操作』