1月29日はThe Leap Hackathon

1月29日のGeekLabではThe Leap Motion Controllerのハッカソンを行います。約2時間で手2本指10本な何かを作っちゃおうという試み。それはいいんだけど、問題はLeap Motionはまだ販売されておらず、国内では(全世界でも)実機を持っている人が少ないってこと。

そこで今回はLeap MotionのデータをOSCでブロードキャストして、全員で共有できるようにします。さらにデータの記録・再生機能も付けたので、サンプル・データも提供します。これで事前にThe Leapの雰囲気が分かると思います。

手順は以下の通り。

1. The Leap Hackathon.zipをダウンロードする。
2. MaxまたはMax runtimeを起動する。
3. aka.leapmotion-send.maxpatを開く。
4. Sendをチェックする。
5. Recorderメニューからreadを選ぶ。
6. sample dataフォルダ内のいずれかのファイルを選ぶ。
7. Recorderメニューからplayを選ぶ。
(Startは実機からデータを受け取る場合なので不要)

aka_leapmotion_hack

以上の手順で記録したデータが再生され、リストにデータが表示され、3Dグラフィックスで指先が表示されます。同時にOSCでデータが送信されるので、これをMaxやらSuperColliderやらOSC対応の開発環境で受け取って処理してください。ポート番号は3000にしています。Maxの場合は同梱のaka.leapmotion_receive.maxpatから始めると良いと思います。

Leap Motionから得られるデータは複数のOSCメッセージに分けて連続的に送られ、/leap/frame_startに始まり、/leap/frame_endで終わるまでが1フレーム分になります。この間に/leap/frameや/leap/handといったメッセージが必要数に応じて入ります。例えば、指が3本認識されている場合は、/leap/fingerメッセージが3個あるわけです。それぞれのメッセージはアドレス文字列の後にIDや位置などの数値がスペースで区切られて続きます。例えば、/leap/fingerメッセージの内容は以下の通りです。

/leap/finger finger_id hand_id frame_id time position_x position_y position_z direction_x direction_y direction_z velocity_x velocity_y velocity_z width lenght isTool

サンプル・データからも分かりますが、Leap Motionからのデータはかなり詳細かつ大量なので、これをどのように料理するかが腕の見せ所ですね。ちなみに、現在のaka.leapmotion 0.2はLeap SDK 0.6.9の内容を元にしており、0.7.0以降に加わった新しい機能には対応していないので、今後さらにデータが増えそうです(その気になれば)。

また、私が持っているLeap Motionのデベロッパー・ユニットはRev.4で、製品版ではレンズや赤外線LEDの品質が向上するそうです。なので、今回のデータは参考程度にしていただくとして、現状よりもさらに認識が向上することも期待したいですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA