アーカイブ : 2013年 3月

LeapMotionその 2 NativeExtension LeapMotionAS3について

順番が逆になってしまいましたが、次にLeapMotionでなにができてNativeExtensionでどういう仕組みになっているかを現時点3/28のバージョンをもとにメモしておこうと思います。

LeapMotinというデバイスはキネクトの小型版で卓上に置くと、その設置位置から上方およそ1mの立方体の範囲内をセンサーで感知するようにできています。

キネクトと違うところはキネクトは体(うでや足)の動きを識別するのに対して、LeapMotionでは手と指先を認知するようになっています。

LeapMotionのSDKにはas3用のAPIが用意されていないのでNativeExtensionでnativeのAPIをラップするような形になっているかと思われます。

LeapMotionAS3では

・フレームクラス … 一回のキャプチャによるデータがつまったコンテナ(この中にHandインスタンスやFingerインスタンスが格納されている)

・手クラス(Hand Class) … 手の位置、向き、移動方向、移動量、深度、認識されている指の数などが取得できます。

・指(Finger Class)… 個々の指の位置、向き、移動方向、移動量、深度などの情報が取得できます。それぞれの指には個別にIDが振られます。

・ジェスチャー(Gesture Class).. ジェスチャーを識別することができます。これはイベントではありません。ジェスチャーのタイプはスワイプ、手の回転、画面をタッチするような動き、指でキーを押すような動きを識別できます。デフォルトではこの4つですが自分でカスタマイズして新しいジェスチャーを作れそうです。

主に上の3つの情報を取得することができ、これらの情報を解析してアプリケーション側での挙動をコントロールすることになりそうです。

以下動画はLeapMotionAS3に同梱されているサンプルをAway3Dで走らせてみた感じです。トラッキングに関しては申し分なく、遅延など一切発生しませんが、指が重なった時の処理などがまだ甘く、ここらへんこれから改善されれば嬉しいなといった次第です。

LeapMotion 1 環境設定

leaptitle

leapmotionをゲットしたのでこれをFlashでもってどうこうする方法をメモしておきたいと思います。

leapmotionは3/20時点ではまだβ版なのでSDKの配布は登録デベロッパーのみに限定されています。※おそらくリリースされても、規約を読んだ感じだと登録しておかないとSDKは使えない予感?

1,とりあえずデベロッパー登録をする。登録はこちら

登録メールを送ると折り返しメールが飛んできてdevelopper登録用のフォームへのリンクがあり、そこに個人情報を色々入力します。

2,登録が完了したらdevページへログインできるようになるので、win/mac自分の環境にあったSDKのダウンロードを行います。DLはこちら

3,SDKをインストールします。

windowsの場合、インストール後にSDKをインストールしたパスを環境変数に登録します。環境変数への登録はこちらを参照。

環境変数を登録したあと、PCを再起動してください。再起動しないとAIRから接続できない。

4,usbでleapをPCに接続します。これはいつでもいい。

5,インストール後に、デスクトップにLeap起動用のショートカットが生成されるのでこちらを起動。

※初回起動時にDEV用アカウントとパスワードの入力を求められます。

6,leapMotion接続用のNativeExtensionをダウンロードします。

https://github.com/logotype/LeapMotionAS3

ダウンロードするファイルはLeapMotionAS3.ane ファイルです。こちらを開いて画面中央の「view Raw」リンクをクリックするとDLできると思います。

7,FlashCS6/FlashBuilder4.7を起動して新規AIRドキュメントを作成し、ドキュメントプロパティのスクリプト設定からダウンロードしたaneファイルを追加します。

以上で準備完了です。