maemotoのブログ

SfNuiControl - NUI開発を爆加速するライブラリ

|

※ 2013/11/27 プレビュー版新型KINECTにも対応した SfKinectV2Controlを追加開発しました!

先日ご紹介したSfKinectControlライブラリをさらに進化させました。

この写真のプログラム、下記のことをしています。

  • KINECTのRGBカメラ映像のリアルタイム表示
  • KINECTの赤外線カメラで取得した物体の深度情報表示
  • KINECTインタラクションによるカーソル表示
  • LEAP MOTIONで手の動きを読み取り、ソケットでネットワークへ送信
  • AIR SHODOUのViewProcessでLEAP MOTIONの手の情報を書道画像へ変換
  • バックグラウンドで全てのモーションデータをCSVファイルへ記録
    ​  

KINECTに認識されつつ、左手に持ったLEAP MOTIONで右手をセンスし、書道をするという全然役には立たないけどなんだかすごいプログラムですよね(笑)

この多機能プログラムですがソースコードは下記のように非常にコンパクトです。

たったのこれだけでKINECTとLEAP MOTIONを同時に使い、様々な媒体に様々なフォーマットでデータを送るNUIエンジンを作ることができます。

今まではKINECTを中心に考えたSfKinectControlだったのですが、上位にSfNuiControlというセンサー固有のSDKに非依存の共通レイヤーを設け、下位レベルにSfKinectControlo, SfLeapControlといった交換・追加可能なサブライブラリを設ける構成に変更しました。

サブライブラリはセンサーネイティブのSDKでの利用に制限を与えないインターフェイスとして設計しており、OpenNI用、Intel Perceptual Computing SDK(PerC)用など増え続けるモーションセンサーSDKへの対応をすぐに行ってSfNuiControlのサブライブラリとして追加できるような構造となっています。

SfNuiControlライブラリを使えば、使いたいセンサー、使いたいフォーマット、使いたい出力媒体をちょちょっとセットアップすればあとは画面表示の作り込みなどに専念できる。
そんなことができるようになります。