UnityとLeap Motionで初音ミクに触ってみる

先日Leap Motionを購入したので、Unityを使って遊んでみました。

 

【国内正規代理店品】 Leap Motion 小型モーションコントローラー 3Dモーション キャプチャー システム

 

Leap Motionのセットアップ

まず初めに、Unityのプロジェクトを新規作成してから、Asset StoreからLeap Motionのアセットをダウンロードします。

Leap Motion Core Assets

 

このアセットさえあれば、とりあえずLeap Motionを使って手を表示させることは可能です。ちゃんと動くかどうか確認するためには、

HandControllerというPrefabをシーン上にドラッグ&ドロップすればOKです。

この状態でゲームをRunすれば、自分の手の動きに追従する3Dモデルが表示されるはずです。

 

lm1

 

もし、何も表示されない場合、Leap Motionが正しく動作していない可能性があります。その場合、下記をコマンドプロンプトに入力すると上手くいくかもしれません。

net stop LeapService

net start LeapService

(MacLinuxの場合はここを参照)

 

MMDのセットアップ

MMD(MikuMikuDance)のモデルをUnityで使うため、MMD4Mecanimをインポートします。

次に、MMDのモデルの入ったフォルダをUnity上にD&Dで、プロジェクトにコピーします。

そして、Unity上でモデルをクリックすると、下の画像のような利用規約が表示されるので、チェックを入れて、「同意するボタン」を押します。

lm2

そして、次に表示される画面でProcessボタンを押すと変換が始まり、終了すると、MMDのフォルダ内にPrefabができています。

これをシーン上にD&Dするとモデルが表示されます。しかし、この状態では手のモデルはMMDモデルをすり抜けてしまい、触ることは出来ません。そこで、一手間必要となります。

lm4

 

RigidBodyスクリプトを追加

モデルに触るにはまず、Hierarchy上のMMDモデルをクリックし、Physicsタブを選択します。そして、Physics EngineでBullet Physicsを選択、Processを押して、

Join Local Worldのチェックを外します。

lm5

 

次に、Leap Motion側のモデルにRigidBodyのスクリプトを追加していきます。

まず、RigidHandというPrefabをHierarchy上にD&Dで追加し、項目を全展開します。ここで各指のBoneにスクリプトを追加するため、Boneを全て選択して、Add ComponentからMMD4Mecanim Rigid Bodyを追加します。

lm6

そして、今スクリプトを追加したRigidHandのPrefabを再度Projectの方に戻します。

最後に、Hierarchy上のHandControllerにRigidHandをD&Dで追加しなおせば作業完了です。

lm7

 

初音ミクに触る

ここまで色々やった状態でRunすると、ついにモデルに触ることが出来ます。

lm8

今回私は、Tda式初音ミクで試してみました。このモデルのように髪が長いと、触っている感じが分かりやすいです。

広告を非表示にする