『 AIRKinect Extension (AIR + ANE + Kinect)を動かす 』

2011 年 11 月 16 日

AIRKinectを使えば、ActionScript Native Extensions(通称ANE)を経由して、AIRアプリからMicrosoftのKinectドライバを簡単に叩けるらしい。

ということでやってみた。

  1. Microsoft Kinect SDK beta2をインストールする。
    これまでOpenNIを使ってた人はドライバが競合するので注意。解決方法もあるみたいだけど、めんどうだったのでOpenNIをアンインストールした。
  2. ここのDemo Applicationからデモアプリをダウンロードしてインストールする。
  3. Kinectを接続してサンプルAIRアプリを起動する。うまく動かない人は、Microsoft Kinect SDKのインストールフォルダに入ってるサンプルを一度起動から、もう一度AIRアプリを試してみるとうまくいくかも。

するとこうなる。

では次に、自分でAIRアプリをパブリッシュしてみる。基本的にはライブラリ作者のチュートリアルビデオが30分かけて丁寧に全部教えてくれる。英語で。

  1. ANEを使ったアプリの制作環境をここらへんを参考にしながら整える。

    ちなみにチュートリアルビデオでは現時点ではリリースされていないFlash Builder 4.6を使ってる。Flash Builderでやりたい人はプレリリースプログラムに参加しよう。もう終わってるかも知れないけど。

  2. ここのDownload AIRKinectExtensionから.aneファイルをダウンロードする。
  3. ここからFlash Builder用のプロジェクトをダウンロードする。
  4. 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画像を使うよ」っていうフラグを渡し忘れていて、えらくハマった。

» ソースコード

まあとりあえずこんなとこ。実行速度は実用に耐えられるレベル。

« 
» 

Leave a Reply