ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

Leap Motion Developer SDK を Cinder で使えるようにする(Windows編)

  • 2015/07/14:Leap Motion v2記事に合わせて改定

 

f:id:kaorun55:20150714151438p:plain

Leap Motion Developer SDK の C++ サンプルやデモは「Cinder(シンダー)」と呼ばれるフレームワークで作られているものがあります。Cinder とは ProcessingやopenFrameworks に類するフレームワークで、より簡単にC++アプリケーションの作成ができるようになっています。日本では、プログラムの入門に Processingが、 Mac でインタラクションのアプリケーションを開発する際に openFrameworks が利用されることが多いようです。Cinderは海外では多く使われているようですが、日本ではProcessingやopenFrameworksに比べると... というのが現状のようです。

 

ここでは Cinder を利用した Leap Motion Developer SDK  の開発手順についてまとめます。

Cinderのダウンロード

Cinder のダウンロードページ(http://libcinder.org/download/)から自分の環境のCinderをダウンロードします。ここでは 「Cinder for Visual C++ 2013」とします。ZIPファイルのダウンロードが終わったら解凍します。 

f:id:kaorun55:20150714151559p:plain

Cinder を使ったプロジェクトを作成する

プロジェクト作成ツールである TinderBox.exe を起動します。この実行ファイルは「cinder_0.8.6_vc2013\tools\TinderBox-Win\TinderBox.exe」にあります。

 

f:id:kaorun55:20150714151720p:plain

起動すると、テンプレート、プロジェクト名、出力先、Cinderバージョン、対応環境を設定します。対応環境についてVC++2013を選択します。

 

環境によってはテンプレートの項が空欄になっている場合があります。これはCinderバージョンの位置があってない場合で「Settings」ボタンから「Preferencve」画面でHEADの位置を正しく指定してください。 

f:id:kaorun55:20150714151809p:plain

 

プロジェクトを作成すると、Boxと呼ばれるアドインを選択します。ここでは何も使用しませんが、物理エンジンのBox2DやOpenCVなどを利用することができます。

f:id:kaorun55:20150714151833p:plain

 

作成されたプロジェクトがこちらです。「vc11」フォルダにソリューションファイルがあります。

f:id:kaorun55:20150714151903p:plain

Cinderを使ったアプリケーションを作成する

Leap MotionとCinder を使った、簡単でわかりやすいアプリケーションを作成します。「Touch Emulation」とういうタッチを模擬したアプリケーションで Leap Motion のデベロッパーサイトにあります。

Cinderの環境は上記で作成したものを使用しますが、Leap Motion Developer SDK の環境が入っていませんので、 こちらを参考にして、 環境を追加してください。

 

Touch Emulation のコードを書いて実行すると、次のような画面が表示されます。Leap Motion 上で指を動かすと、その位置に応じて丸の描画が変わります。これはタッチの検出で、指をぐっと押すと丸が緑に変わり、タッチされたことを通知します。

f:id:kaorun55:20150714152220p:plain