はじめに
Oculus Rift はジャイロによって角度は取れるのですが位置が取れません。そこで Razer Hydra などのデバイスを利用したり、Kinect を利用したポジショントラッキングなどが行われています。
Razer Hydra は前回使ったので、今回は、Mikulus Kinect でも行われていた Kinect を用いたポジショントラッキングの方を試してみました。手順をメモしておきます。
Unity で Kinect を使う
Unity で Kinect を使う方法は幾つかあるようです。Mikulus Kinect では ZDK (Zigfu Development Kit) というライブラリを使用されていました:
こちらは Unity WebPlayer にも対応し、HTML + JS な環境でも動くもののようです(どうやっているんだろう)。
私はまずは本家の Microsoft Kinect SDK を利用してみました。詳細は以下のサイトを参考にさせて頂きました:
ダウンロードは以下から可能です:
Oculus のカメラと組み合わせる
図のような入れ子構造にします。
KinectPointMan は小さいので、Scale を大きめに設定して丁度良い大きさにして下さい。動作させてみると以下のようになります。
かなりスムーズに動きます。
(おまけ)Kinect for Windows の環境
以下の Wiki を参考に、Kinect for Windows SDK と OpenNI の共存環境を作りました。
ブリッジしてくれる kinect-mssdk-openni-bridge は以下からダウンロードします。
タイトルのように、Kinect for Windows SDK v1.6.0.0 と OpneNI 1.5.2.23 をブリッジするものなので既存の環境は一旦アンインストールしてこれらをインストールします。
- http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx(Previous Version から)
- Bitbucket
同じ URL より NITE を入れれば OpenNI が必要な MMD のモーションキャプチャも使えるようになります。
おわりに
今回もコード量0で動くのが凄いですね。。