Unity3d + kinect

はじめに

ゲーム開発環境なら余裕でkinect接続できるよね?ってことでunityのフォーラム見ていたら、win,macともにOpenNIがいけるようです。ちょっとごちゃっているので簡単にまとめました。
macOSX10.6ですよ。

準備

libtool,libusb-develが必要なようです。
macportで入れましょう。

port installed | grep libusb-devel
 (すでにインストールされていた場合は削除しましょう。sudo port unistall libusb-devel)
sudo port libtool
sudo port libusb-devel +universal

+universal付け忘れるなよ!とのことです。

おとす

色々DLします。リンク変わっていたらごめんなさい(2011/09/01修正)

ここまではmacでOpenNI使う場合と同じです。unityで使用する場合はunitywrapperもDLします。

いれる

インストールします。

OpenNI

解凍したディレクトリにいって

sudo ./install.sh

します。

SensorKinect

同じく解凍したディレクトリ配下のBinディレクトリにいき、SensorKinect-Bin-MacOSX-xxxを解凍。解凍先のディレクトリにいって

sudo ./install.sh

します。

NITE

これも同じ。ライセンスの入力を求められます。http://www.openni.org/downloadfiles/opennimodules のOpenNI Compliant Middleware Binariesの部分の太字をコピペしましょう。

sudo ./install.sh
Please enter your PrimeSense license key: 
UnityWrapper

こいつは解凍するだけ

確認

とりあえず、kinectが動作するか確認しておきましょう。NITEディレクトリ配下のSample/Bin/以下をターミナルから適当に実行してみましょう。

Unity

ようやく環境が整ったのでUnity側に移りましょう。UnityのOpen Projectから先ほど解凍したUnityWrapperディレクトリを開きましょう。http://planetmatt.com/integrate-kinect-unity3d-on-mac/ を参考にサンプルを動かしてみましょう。

サンプルを試す
  1. WalkRunIdleBlendを開きます。
  2. もともとHiearchyにあるsoldierはなんか見えないので削除
  3. ProjectのSoldierをHiearchyにD&D
  4. ちっちゃいのでSoldierのScaleを200,200,200に変更
  5. テクスチャが欲しいので、Projectのsoldier_blueをSceneのSoldierにD&D
  6. ついでに、bridgegroundstones_layersもCubeにD&D
  7. CubeのInspectorのMono Behaviourをいじります
    1. ScriptをNiteにします
    2. Right_HandをR_Handにします
    3. Right_ElbowをR_Elbowにします
    4. 以下それっぽいものをアサインします(Left_Elbowをアサインしないとなぜか落ちます)
    5. カメラにSmooth Followスクリプトも追加しますか。main cameraを選択して、Component>Camera-Control>Smooth Follow。適当にtargetとか変更。
  8. playボタンで起動します
    1. New User Foundとコンソールに表示されるまでkinectの前で待ちます
    2. Soldierがそれっぽく動きます

いじょう

動いた!ま、そんだけです。game objectがまだ全然分かっていないのでなにも出来ませんが、パーティクルかなにかに右手アサインしてOSCでSCに値返してエフェクタ制御とか、そんな感じですかね。