The Sixwish project

ARToolKit for Android

このエントリーをはてなブックマークに追加

ARToolKit professional for Android の開発手順やTipsの紹介

ARToolKit professional for Android

About

ARToolKitは拡張現実感アプリケーションの開発に使用される世界で最も人気のあるライブラリです。 現在(2013年時点)、特に携帯電話……スマートフォン上で動作させることを重要視し様々なハードウェア及びソフトウェアのプラットフォームに移植されています。

ここで説明しているライブラリは ARToolKit Professinal を Android に移植したバージョンで、ARToolKit for Mobile に含まれています。 このライブラリは、Android NDKAndroid SDKを用いるライブラリセットになっています。計算コア部分をAndroid NDK、それ以外をAndroid SDKという比較的簡単な実装方法から、全てAndroid NDKで実装する方法などを選択してアプリケーションを開発することになります。 そのため、Androidの開発について、Android SDKのみならずAndroid NDKの知識も必要になる場面がありますので、基礎的なところは各種書籍を利用して事前に学習してください。
なお、このライブラリは ARToolKit for Mobile のライセンスを購入する事で利用する事ができます。

この文書以外に、ARToolKit関連についてはGPL版のARToolKitを解説した本【3Dキャラクターが現実世界に誕生! ARToolKit拡張現実感プログラミング入門(amazon)】を購入されることをお勧めしています。
ここで説明している内容はアプリケーションを組み上げる事を目的としています。そのため、実際に内部でどのようなことを行っているか? 理論や用語、出てくる変数(行列)についてそれほど触れません。それらの補完として上記本を使用して頂ければと思います。

それ以外に、Android開発の本、Android NDKに関連する本【Android NDKネイティブプログラミング(amazon)】などを購入する事をお勧めします。
また、この開発を始める前に、カメラアプリ、OpenGL ESを用いたアプリ開発のサンプルはひと通り作ってください。 何も知らずに始めると躓きやすいと思います。

開発概論

ライブラリの構造と開発手法
ARToolKit for Androidのライブラリ構造とアプリケーションを作成する際の手法について簡単に説明します

ARToolKitWrapper と ARBaseLib を用いた開発手順

UIやカメラ制御、GL等を用いた表示をAndroid SDKで行い、画像解析等のARToolKitのコア部分をAndroid NDKに任せる手法です。
Android NDKを用いる必要が無いので開発は比較的簡単です。

開発環境構築
開発環境の構築について簡単に説明します
サンプルプロジェクト
ARToolKit for Androidのライブラリに含まれているサンプルプロジェクトを実行します
マルチマーカー対応
サンプルコードを修正して異なる複数のマーカーに反応するようにします

Android NDKを用いた開発手順

一部を除いてほとんどをNDKで処理する方式です。ほとんどJavaを経由しないためアプリの高速化が図れますが、開発の難易度は高くなります。

開発環境構築
開発環境の構築について簡単に説明します
環境設定とライブラリ構築
環境設定とARToolKitのコア部分をビルドする手順です
サンプルプロジェクト
ARToolKit for Androidのライブラリに含まれているサンプルプロジェクトを実行します
サンプルプロジェクトコード解説
サンプルコードの内容について解説します

技術文書

ARToolKit for Android
ARToolworks 公式ドキュメント(英語)