『 AIRKinect Extension (AIR + ANE + Kinect)を動かす 』
2011 年 11 月 16 日
AIRKinectを使えば、ActionScript Native Extensions(通称ANE)を経由して、AIRアプリからMicrosoftのKinectドライバを簡単に叩けるらしい。
ということでやってみた。
- Microsoft Kinect SDK beta2をインストールする。
これまでOpenNIを使ってた人はドライバが競合するので注意。解決方法もあるみたいだけど、めんどうだったのでOpenNIをアンインストールした。 - ここのDemo Applicationからデモアプリをダウンロードしてインストールする。
- Kinectを接続してサンプルAIRアプリを起動する。うまく動かない人は、Microsoft Kinect SDKのインストールフォルダに入ってるサンプルを一度起動から、もう一度AIRアプリを試してみるとうまくいくかも。
するとこうなる。
では次に、自分でAIRアプリをパブリッシュしてみる。基本的にはライブラリ作者のチュートリアルビデオが30分かけて丁寧に全部教えてくれる。英語で。
- ANEを使ったアプリの制作環境をここらへんを参考にしながら整える。
ちなみにチュートリアルビデオでは現時点ではリリースされていないFlash Builder 4.6を使ってる。Flash Builderでやりたい人はプレリリースプログラムに参加しよう。もう終わってるかも知れないけど。
- ここのDownload AIRKinectExtensionから.aneファイルをダウンロードする。
- ここからFlash Builder用のプロジェクトをダウンロードする。
- AIRKinectExtension.aneにパスを通して、プロジェクトに入ってるBasicKinect01.asをパブリッシュする。FlashBuilder4.6でのパスの通し方は、チュートリアルビデオの3:30あたりから。英語がわからなくても気合いでなんとかなると思う。
自分の場合は、「com.as3nui.nativeExtensions.kinect.data.AIRKinectFlags(色んな定数を定義しているクラス)が無いよ」というコンパイルエラーが出た。よく分からないので、ASDocを見ながら、該当箇所を値に置き換えるとうまくいった。色々試してみると、どうも com.as3nui.nativeExtensions.kinect.data パッケージには、他にもいくつか抜け落ちているクラスがあるみたい。
BasicKinect01.asを改造してDepthをとってみた。
AIRKinect.initialize()で「Depth画像を使うよ」っていうフラグを渡し忘れていて、えらくハマった。
» ソースコード
まあとりあえずこんなとこ。実行速度は実用に耐えられるレベル。

