Kinect for Windows SDKを使う時に参考になるサイト
こんにちは。NUI(Natural User Interface)への好奇心が止まらない原です。
ところでこんなゲームを試作してみました
Kinect for Windows SDK GAME Test from BMCL on Vimeo.
止まらない好奇心がゆえに、Kinect for Windows SDKを使ってこのようなゲームの試作品を作ってしまいました。往年の名作「ナイツ」風に並んでるアイテムを飛行しながら拾っていきます。
基本的な操作は、過去に作った「電脳空間システム」を流用しておりますが、何より大きく変わったところはこのポーズがいらなくなったことです。

映像を見てもらうとお分かりになると思いますが、ユーザが切り替わる時に何のポーズも取っておらず、瞬時にコントロールが取れています。
この体験を実現しているのは、Microsoftの公式SDK、Kinect for Windows SDKです。
Kinect for Windows SDKってなに?
Microsoftが発表した、Kinectを使ったアプリを作るための開発キットです。 電脳空間の時に使っていたOpenNIとの大きな違いは、・ポーズを取らずに骨格が取れる
・首振りができる
・音声が取れる
ということ。
ダウンロードはこちらから。
http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx
リンク先にも書いてありますが、開発するにはWindows7、およびVisual Studioが必要です。
また、仮想環境では動かないのでご注意ください。
こんな環境で作りました
一応大まかな構成を説明いたしますと、
図のようなかたちで、Kinectの情報はWindowsPCおよびKinect for Windows SDKで、ゲーム本体の方はMacおよびopenFrameworksで作成いたしました。 WindowsとMac間でOSC通信させ、骨格情報をゲーム側に伝えています。
Kinect for Windows SDKを使う時に参考になるサイト
さて、デモを試作するにあたって色々なサイトを参考にしましたので、こちらでご紹介いたします。Kosaka laboratory Interactive System tips
http://www.kosaka-lab.com/tips/XNAでkinect for Windows SDKを動かすサンプルコード多数。今回試作したkinectコントロールの部分はKinect SDK XNAで骨格情報の取得 その1の記事を参考にさせていただきました。
かおるんダイアリー
http://d.hatena.ne.jp/kaorun55/Kinectセンサープログラミングの著者、かおるんさんのブログ。OpenNIの解説も多く書かれており、kinectドライバの現在がよくわかります。
Kinect for Windows SDKとOpenNIの比較
http://d.hatena.ne.jp/kaorun55/20110606/1307331384かおるんさんのブログより、2つのkinectコントローラの比較。
channel9 coding for fun
http://channel9.msdn.com/coding4fun/kinectMS公式のデベロッパコミュニティサイト。kinectの事例たくさん
川西 裕幸のブログ
http://blogs.msdn.com/b/hiroyuk/kinectカテゴリで、Kinect for windows SDKの有用なサンプルが紹介されています。特にCodePlex:Kinect Audio Positioningの記事では、他ではあまり見られない音声による位置検出が紹介されており、必見です。
Kinect for Windows SDK FAQ - Microsoft Research
http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/faq.aspx英語ですがkinectを使う際の注意点をまとめており、ライセンス的なNGを知りたい時には こちらのfaqから判断することができます。
Making Things for .NET
http://www.makingthings.com/resources/downloadskinectとは違いますが、kinectの信号をoFに伝えるために重要だったのがこちらのライブラリ。 OSCをC#で扱うことができます。
これでkinectの座標データをOSCでMacに送り、oFで読み取っていました。
openFrameworks
http://www.openframeworks.cc/言わずと知れたopenFrameworks。ゲーム本体部分はこちらで作成しています。
ということで
Windows PC必須ですが、kinect for Windows SDK はOpenNIに比べて導入がとても簡単でした。また、キャリブレーションのポーズがない、というのはそれだけで圧倒的な体験の違いをもたらします。これらのサイトを参考に、みなさんもレッツNUI!