workshop/of/addon

addonの利用方法

Openframeworksはaddonによって様々なライブラリを利用することが容易にできます.画像認識やKinect,Leapmotionなどの デバイス類等,openframeworksウェブサイトに数多く紹介されています.これらを利用するためにはどうすればよいかを解説します.

しかしながら,Processingのように簡単に拡張ライブラリが利用できない場合もあります.たとえばAというaddonを利用しようとすると AはBというaddonを利用しているため,先にBを利用できるようにしないと行けなかったり,Cというライブラリを使用しており,別途Cを ソースからコンパイルする等,少しコンピュータ・ソフトウェアに慣れていないと導入できない場合も有ります.その点において, 機能拡張の手軽さはProcessingに劣っていますが,その豊富さは圧倒的にOpenframeworksが優っています.

まずは利用してみるaddonを決めよう

ofxaddonsからたくさんのaddonを見ることができます.カテゴリー別にも分かれているので 検索する際にはうまく利用してください.このページでは,ofxFaceTrackerを使ってみることにします.

ofxFaceTrackerをaddonとして追加する

まずはofxaddonsのページから ofxFaceTrackerが提供されているGitHubのウェブサイトへ移動します.ここでGitHubについてですが, これはソフトウェアをバージョン管理して手軽に開発ができるウェブサイトになります.Openframeworksの開発者の多くはこのサービス (無料)を利用してソースコードを公開しています.もちろんユーザー登録すれば私達も手軽に利用可能です.

ofxFaceTrackerが提供されているGitHubのウェブサイトへ移動したら,まずはそのページに表示されているReadmeファイルを良く読みます. Readmeファイルとは,昔からソフトウェアの説明をするために一般的に利用されているファイル名のことです.例えばあるライブラリを ダウンロードしてきたとき,そのコンパイルやインストール方法,バグ報告等の,まず最初に読むべきことが記載されています.Openframewoks だけでなく,様々な公開されているソフトウェアに多く含まれており,必ず目を通すことを忘れないでください.面倒くさいと思うかも しれませんが,これを読まなかったばかりにドツボにハマるなど,よくある話です.ちなみにofxFaceTrackerのREADMEには平成25年10月13日現在 下記のように記述されています.

openFrameworks is an open source toolkit for creative coding.

All ofxFaceTracker code is available under the MIT license, while FaceTracker is provided free for non-commercial use. For commercial use, please contact the author of FaceTracker, Jason Saragih.

After downloading or cloning ofxFaceTracker, you need to make a copy of the /libs/Tracker/model/ directory in bin/data/model/ of each example. You can do this by hand, or python update-projects.py will take care of this for you. If you see the error Assertion failed: s.is_open(), that means you forgot to drop the model files in the right directory.

If you would like to prototype an idea involving face tracking, I encourage you to download FaceOSC. Dan Wilcox has some great FaceOSC templates that will help you get started in environments like Max, pd, Processing, and openFrameworks.

If you're interested in using ofxFaceTracker for face substitution, check out the FaceSubstitution repository.

ここでまず注目スべきは,exampleを動かす為には,/libs/Tracker/model ディレクトリを bin/data/model ディレクトリにコピーして置かなければなりません. この他,プロトタイプを作る場合は,FaceOSCが便利だよとか,face substitution をやってみたいならこっちのリポジトリもチェックしてね.と 記述されている部分です.この部分をちゃんと抑えつつこのaddonを利用してみます.

ダウンロードして適切な場所へファイルを移動する

まずは ofxFaceTracker のGitHubのウェブサイトからファイル一式をダウンロードします。 ofxFaceTracker (GitHub)のページ内にある、Download ZIP のボタンを クリックして、Zipファイルをダウンロードして下しさい。ダウンロードが完了したら,ファイルを展開し,ofxFaceTracker-master フォルダを確認 してください.すると下記のようなフォルダ構成を確認できると思います(平成25年10月14日現在).

では,次に上図にあるように,ofxFaceTracker本体( libs, src )とexampleフォルダを適切な場所へ移動させます.まず of_v0.8.0_osx_release フォルダを 開いてください.この中にaddons と examples というフォルダがあります.ここにそれぞれのデータを下記のように移動させます.

  1. addons 内に ofxFaceTracker フォルダを作成し,その中へ ofxFaceTrackerのlibs, src フォルダを移動
  2. examples内に ofxFaceTracker フォルダを作成し,その中へofxFaceTrackerの example-*(examples-で始まるすべてのフォルダという意味)フォルダを移動

これでofxFaceTrackerのファイル移動に関する準備は終わりです.

実際にofxFaceTrackerを使うためには,同作者が作成した ofxCv も必要となります.では先ほどの手順にならって,実際に自分でofxCv を適切な場所へ移動 させてみましょう.ここでは詳細は書きません.

ビルド(コンパイル)が通るかを確認する

では実際にサンプルプログラムを一つ動かしてみます.まず,example-empty にある ofApp.xcodeproj をダブルクリックでXcodeにて開きます. すると(Xcodeのバージョンは違うかもしれませんが)下のような画面になると思います.

次にまずはサンプルにあるaddonsフォルダを一度削除してください.これは,サンプルで配布されているバージョンと今回ダウンロードしたバージョンが 異なっているためです.そのままで動くこともありますが,基本的にはリンク切れが起きていることもあるので,再度addonをxcode内に追加してあげて ください.

削除できたら,addonsフォルダをひらき,下のように各ファイルにドラッグアンドドロップしてください.

すると次のような画面がでます.ここでは必ず図示した箇所のチェックを確認して Finish ボタンを押してください.

実行してみる

ではここで Command+B でビルドしてみましょう.平成25年10月14日時点のファイル構成ではエラーなくビルドできるかと思います. しかしここで今度は実行(Command+R)して,サンプルファイルを動かそうとすると,実行エラーとなります.最初のReadmeファイルに あった,exampleを動かす為には,/libs/Tracker/model ディレクトリを bin/data/model ディレクトリにコピーしてね,という文言を 思い出しましょう.まず,/libs/Tracker/model は addons/ofxFaceTracker/libs/Tracker/model にあると思います.これをフォルダごと example-empty/bin/data の中にコピーしてください.dataフォルダが無い場合は作成してください.以上で準備は終わりになります. 下記画面が確認できれば ofxFaceTracker addonsを利用できるようになりました.


Copyright (c) 2015 Tetsuaki BABA all rights reserved.