[ 1 - 1 ] 「 Leap Motion 」の概要 「バージョン 2 」 ( 正確には「バージョン 1.2 」 ) では、スクリーンに付随する機能が 削除されています。 ( こちらも正確には削除予告であり実装はされています ) 。 スクリーンに付随するものは「 Leap Motion 」を使ってタッチパネルを模擬する機 能で、手指の 3 次元での位置を 2 次元でのスクリーン位置に変換する機能です。 アプリストア せつかく「 Leap Motion 」を購入しても、アプリケーションがないと活用の場があり ません。 Leap Motion 社では、「 App Home 」と呼ばれる専用の「アプリストア」も提供し ています。 「 App Home 」へのアクセスは、①「 Leap コントロールバネル」の「 App Home の起動」から「 App Home 」を起動する、または②プラウザから「 Leap Motion Air space App Store(https://apps.leapmotion.com/) 」 ( 以下「 Leap M0tion APP Store 」 ) で参照できます。 「 App Home 」は、アプリケーションのポータルになっており、ダウンロードしたアプリ を一覧、起動できます。 実際には、「 App Home 」でアプリケーションは購入できず、「 Leap Motion App Store 」へアクセスしての購人となります。 「 App Home 」から「 Leap Motion App Store 」に移動することで、認証情報 が同時に渡されるため、ストア上でのログイン処理が不要になるというメリットがあり ます。 「 App Home 」にあるアプリは無料または有料のアプリとなり、スマートフォンなどで 利用されることが多いアプリ内課金の機能は公式には用意されていません。 13
[ 1 -2 ] 「 Leap Motion 」を利用する 18 % ・ 0 月 23 : 22 中村薫 App Home を開く 設定 ... ビジュアライザー トラッキングの一時停止 終了 図 1 -31 哂車磐 0 App Home を開く 設定… ビジュアライザー トラッキングの再開 終了 トラッキング中 (Mac OSX) 印 18 % ・ 0 月 23 : 21 中村薫 図 1 -32 トラッキング停止 (Mac OSX) Leap Motion APP Home 25 ない場合には「サインアップ ( 新規登録 ) 」を行ないます。 すでにアカウントをもっている場合には「サインイン」を行ない、アカウントをもってい 最初にアカウントのセットアップを行ないます。 ・アカウントのセットアップ 動し、ストアへの移動や購人したアプリケーションの起動ができます。 「 Leap Motion App Home 」は、「 Leap Motion コントロールバネル」などから起
第 1 章 「 Leap Motion 」の概要 Leap M0tion コントロールバネル インストールが完了すると、「タスクトレイ」 ( Windows ) または「メニューバー」 ( Mac OSX) に「 Leap Motion 」のアイコンが表示されます。 これが「 Leap Motion コントロールバネル」です。 20 図 1 -22 Leap Motion コントロールバネル (Mac OSX) 終了 トラッキングの一時停止 ビジュアライザー 設定… App Home を開く = 物車 0 図 1 -21 Leap Motion コントロールバネル (Windows) 2015 / 01 / 13 ・トラッキングの開始、停止 ・ビジュアライザーの起動 ・「 Leap MOtion 」の設定 ・ App Home の起動 できます。 ここから「 App Home 」へのアクセスや、「 Leap Motion 」のさまざまな設定を調整
・ Mac 「新規登録」を選びます。 [ 1 -2 ] 「 Leap M0tion 」を利用する 新規登録バスワードをお忘れですか ? サインイン バスワード 「カ ) ントの電子メール ウントを登録してください。 続けるにはログインまたはアカ 図 1 -35 「 Leap Motion App Home 」へのサインイン (MacOS X) 基本的に「 Windows 版」と変わりません。必要事項を記人して、「登録する」 をクリックします。 図 1 -36 L000 M A40 ト行 , 0 登録する 「 Leap Motion APP Home 」へのサインアップ ( MacOS X) 27
第 3 章 アプリケーションの開発 これは手間になるので、「イベント駆動方式」を組み合わせて、イベントも取得でき るようにします。 ・両方式を組み合わせたプログラム #include "cinder/app/AppNative. h" #include "cinder/gl/gl . h" #include "Leap. h" uslng namespace CI ; uslng namespace ( 1 : :app; using namespace Std; public AppNative, class PoIIingApp public: void setup() mLeap. addListener( *this ) ; public Leap: :Listener { void draw() gl : : cl ea r ( C010 r ( 0 , 0 , VOid onFrame( const Leap: :controller& ) console() くく frame . id() くく std: :endl ; Leap: : Frame frame = mLeap. frame() ; 68 console() くく "connect! ! " VOid onconnect(const Leap: :controller&) くく std: :endl ;
[ 3-1 ] 「 Leap Motion SDK 」の概要 USB Leap Service LeapM0tion ① Leap Setting App ② Foreground Leap-enabIed Application Background Leap-enabled AppIication ④ 図 3-1 ネイティブ・アプリケーション・インターフェイス ( 2 ) 「 WebSocket インターフェイス」は、「 WebSocket 」と呼ばれる内部的なソ ケット通信を利用します。 「 Leap サービス」は、「 WebSocket サーノヾ」の機能をもっており、 ( おもにプラウザ の ) アプリケーションから接続し、データは「 JSON 」と呼ばれる形式でデータを受け 取ります。 ① USB Leap Service LeapMotion WebSocket Server Domain:localhost Pa 虍 6437 Leap Setting App JSON-formated massages B 「 owse 「 leap. js client library Web Application ④ 図 3-2 WebSocket インターフェイス 63
第 3 章アプリケーションの開発 [ プログラム解説 ] 「 Leap::Listener クラス」には、「 onFrame() 」やほかのいくつかのイベントが用意 されており、アプリケーションは、このクラスを継承し、イベントを取得したい関数をオー ノヾーライドします。 「 Leap Motion 」は、手指未検出状態で「 30FPS 」 (Frame per seconds : 1 秒間に何回通知されるかという値 ) 前後になり、手指検出状態で 100FPS 以上に もになります。 検出状態によって FPS が変わりますが、「イベント駆動」であれば、漏れなくフ レームを取得できます。 こではフレームの ID ( ユニークな番号 ) を表示していますが、順番に取得できる ことが分かるでしよう。 ( 実際には動作中は速すぎて見えないので、プログラムを止めるなどします ) 。 「 Leap::Listener 」を継承したクラスを「 Leap::ControIIer クラス」に登録するこ とでイベントを受け取れるようになります。 ※「 Leap : : Listene 「クラス」の詳細や通知されるイベントは「 3-3 イベント駆動でデータ を取得する (Leap::Listener クラス ) 」を参照してください。 ボーリング方式の最初のコード 次のコードは、「ポーリング方式」での最小限のコードです。 ・ボーリング方式のプログラム #include "cinder/app/AppNative . h" #include "cinder/gl/gl . h" #include "Leap. h" uslng namespace ( 1 ; uslng namespace CI : :app; using namespace Std; class P011ingApp : public AppNative { 66
第 1 章 「 Leap MotionJ の概要 ・ Windows 「サインアップして続ける」をクリックします。 ライルアカウントヘルプ 図 1 -33 をクリックします。 ファイルアカウンヘルフ 26 ここで、「ユーザー名」「メールアドレス」など必要事項を記入し、「サインアップ」 「 Leap Motion App Home 」へのサインイン (Windows) 図 1 -34 必要事項を記入
第 1 章 「 Leap MotionJ の概要 [ 4 ] 「ファイアウォール」についてのダイアログが表示されるので、「アクセスを許可」し ます。 Windows セキュリティの重要な警告 このアプ丿の機能のし i< つかが Windows カイアウォールでプひックされています Ⅳに e の機能既つかがプロックされています。 すべてのノクネットワークとプライベートネットワークで、 Win 面 ws ファイアウォーこより Leap M008 名前 ( N ) : 発行元 ( P ) : バス ( H ) : Leap MO 51 第Ⅱに . 用 (x86)*leap mot 1 ¥ ( 0 「 e 史Ⅳに 、、日ヨ p 0 む SereiC±-: %leapsvc. exe Leap Motion Ⅳに e にこれ ) ネットワーク上での通信を許可する : 団プライベートトワーク ( ホームネットワークや社内ネットワークなど ) ( R ) ロノブルクネットワーク ( 空港、理茶店 ) ( 非推奨 ) ( tJ ) にのようなネットワーグま多くの場合、セキゴ厖ィが低いかセキゴ万ィが設定されていません ) プ」に方イアウォールの第出を許可す懿との危険忤の譁細 アクセスを許可する ( A ) 図 1 - 1 6 インストールが完了しました。 「ファイアウォール」の許可 LCAP M 0 下一 0 N ntro 色ノツ インストールが完了しました。 eap 0 む on 完了 ( 日 アクセス先 : http://nvvw.leap mot ion co m / ( 英語サイト ) 団 App Home の起勃 団デスクラにジ当こトカットを作を Leap Mot ion 0 。 n er は使用可能な状壟です。 図 1 -17 インストール完了 続いて、「 App Home 」の設定を行ないます。 18 p. 25 を参照してください。
第 1 章「 Leap MotionJ の概要 ・ rLeap Motion アプリケーション」の起動 「 AppHome 」を起動すると、購入したアプリケーションの一覧が表示されます。 ここから起動したいアプリケーションを選択します。 方イんアカつント , 、ルプ コントローラーについての製明を見る をリーンー」アアリて第第の物 ! を、をして下 ! 図 1 -37 App Home 試しに「オリエンテーション」を起動してみましよう。 起動すると「 Leap M0tion 」の接続を要求するので、「 Leap M0tion 」をコン ピュータに接続します。 「 Leap Motion 」を接続する 図 1 -38 28