ブログ@kaorun55

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

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

cinder01

Leap Motion Developer SDKC++ サンプルやデモは「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 Mac OS X」とします。ZIPファイルのダウンロードが終わったら解凍します。

cinder02

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

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

01

02    起動すると、テンプレート、プロジェクト名、出力先、Cinderバージョン、対応環境を設定します。対応環境について、MacだけならXcodeを、MacWindowsを両対応するには XcodeVC++2012 の両方を選択します(Visual Studio側のPath設定を確認する必要があります)。

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

03

04

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

05

作成されたプロジェクトがこちらです。「xcode」フォルダにプロジェクトファイルがあります。

06

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

Leap MotionとCinder を使った、簡単でわかりやすいアプリケーションを作成します。「Touch Emulation」とういうタッチを模擬したアプリケーションで Leap Motionデベロッパーサイト(https://developer.leapmotion.com/documentation/Languages/C++/Guides/Leap_Touch_Emulation.html)あります。

Cinderの環境は上記で作成したものを使用しますが、Leap Motion Developer SDK の環境が入っていませんので、 こちら(http://www.naturalsoftware.jp/blog/8376)を参考にして、 環境を追加してください。

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

07