ARToolKitとはAR(拡張現実感)を簡単に実装することができるライブラリ集です。
最近ではニコニコ動画でARToolKitを使って撮影したおもしろい動画がたくさんアップされてます。
本なども出版されドキュメントも充実してきているようです。
ネットなどのほとんどの情報はWindowsのものばかりで、Macに関しては非常に少ないです。
しかし、本家からダウンロードできるソースにはXcodeプロジェクトが含まれています。
なのでMacでこのXcodeプロジェクトを開いてビルドすれば簡単にサンプルコードのビルドが可能です。
さて、自分でアプリを作成する場合はこの同梱されていたXcodeプロジェクトを使用すればできるっちゃできるのですが、自分で0からXcodeプロジェクトを作れないと何かと不便だし、できないことはないはず。
というわけで探したら以下のような記事をみつけました。
Xcode で空のプロジェクトから ARToolkit が使えるようになるまでをまとめてみる
この記事を参考に自分でもやってみました。
ちなみに今回試した環境は下記のとおりです。
- MacOS X Leopard 10.5.4
- Xcode 3.1
- 新規プロジェクトの作成
- グループの追加
- 新規ターゲットの作成
- ライブラリとヘッダファイルの設定
- 既存フレームワークの追加
- 使用するライブラリの追加
- dataディレクトリの追加
- ソースファイルの追加
- ビルドそして実行
まず、Xcodeを起動し新規プロジェクトを作成します。作成するプロジェクトは「Mac OS X→Other→Empty Project」です。選択ボタンを押すとプロジェクト名と保存場所を聞かれますが、適当でかまいません。今回はデスクトップにtest_arというプロジェクト名で作成します。


左のメニューの一番上のtest_arを右クリック(Ctrl+クリック)しグループを追加します。グループ名はResource、Framework、Library、Sourceの4つを作成します。


上部にあるアクションを押し、「追加→新規ターゲット」を選択します。作成するターゲットを「Carbon→Application」を選択し、次へを押します。ターゲット名を聞かれるので適当に入れ、完了を押します。これがどうやらアプリケーション名になるようです。今回は適当に「SimpleAR」にしました。


本家からダウンロードしてきたファイルに含まれるlibとincludeを今回のプロジェクトのディレクトリの直下にコピーします(今回だとデスクトップ上のtest_ar)。そしてターゲットの設定から「ビルド→検索パス」にあるヘッダ検索パスとライブラリ検索パスのそれぞれにパスを追加します。

このアプリで使用するフレームワークの追加を行います。とりあえず今回は QuickTime.framework、OpenGL.framework、GLUT.framework、Cocoa.framework、Carbon.frameworkの5つが必要です。まず、左メニューのtest_arを右クリックし「追加→既存のフレームワーク」をクリックします。すると、フレームワークを選択するダイアログが表示されるのでLibrary→Frameworksフォルダ以下にある前述5つのフレームワークを選択し、追加ボタンを押します。するとターゲットに追加するか聞かれるので追加ボタンを押します。左メニュー上にフレームワークが5つ追加されるので整理するためにそれらを選択しFrameworkグループに入れます。



今回のアプリで使用するARToolKitのライブラリを追加します。ライブラリはプロジェクトのフォルダにコピーしたlib以下にあるので、そこからlibAR.a、libARgsub.a、libARvideo.aを使用します。追加するには左メニューのLibraryグループを右クリックし、既存のファイルを選択します。表示されたダイアログから該当のライブラリを選択したら追加ボタンを押します。フレームワークのとき同様ターゲットに追加するか聞かれるので、追加ボタンを押します。



本家のソースの中のbin/Dataをプロジェクトのディレクトリにコピーします。次にライブラリ同様このディレクトリをResourceグループ以下に追加します。この際にターゲットに追加するかどうか聞かれるダイアログで「追加したフォルダにフォルダ参照を作成する」を選択し、追加ボタンを押します。

次に「アクション→新規ファイル」を選択し空のファイルを作成します。ファイル名は適当でかまいません。今回はhoge.cppにします。追加されたソースファイルに本家のexamples/simple/simpleTest.cの内容をコピペします。


最後にビルドして実行ボタンを押しましょう。そして、SimpleTestと同じプログラムが動いたら大成功です。このサンプルコードをカスタマイズする場合はhoge.cppを編集すればOKです。
最初やったときはライブラリの追加がうまくいってなかったり、検索パスがどこにあるかわからなかったり、Dataディレクトリが読み込めなかったりとうまく行きませんでしたがどうにか動かせました。
そもそも、Xcodeの使い方がわかってないのでそっちから勉強すべきかもしれないですね。
とりあえずMacでARToolKitを使ったアプリの開発をやる準備は整いました。
0 件のコメント:
コメントを投稿