前回の「NyARToolKitを利用したマーカー型ARの実装」では、「NyARToolKit for Android」というライブラリを用いたARアプリの概要と使い方について説明しました。
Android端末上で動作するARアプリを作成する方法としては、NyARToolkit for Androidを利用する方法が有名ですが、その他にもライブラリを利用する方法やサンプルアプリをカスタマイズして実装する方法など、さまざまな方法があります。
実際に開発を行う場合には、利用するライブラリやアプリによって特徴が異なっているため、利用シーンに合った方法を選択する必要があります。今回は、その中でも「AndAR」を利用したARアプリの作成方法について、ソースコードを交えて説明していきます。
「AndAR」はAndroidプラットフォーム上でのARを最小限の労力で実現することを目的に作成されたオープンソースのソフトウェアで、Androidのアプリとしてソースコードを公開しています。
実装自体は、第2回で紹介したNyARToolkit for Androidと同様にARToolkitをベースにしていますが、NyARToolkit for Androidよりもオブジェクト指向による設計を強く意識しているため、オブジェクト指向に慣れ親しんだ方であれば比較的取っ付きやすいという特徴があります。
また、ARアプリの作成を手助けするライブラリやサンプルアプリの多くはコアな処理をC/C++で実装することで処理の高速化を図っていますが、AndARではコアとなる処理へのアクセスはJavaのAPIを通して行うようになっているため、C/C++といったネイティブコードをあまり意識せずに利用できるという特徴も備えています。
詳細は後述しますが、マーカーの検出判定や変換行列の計算など、AR表示するためのコアな処理をまとめて実行するメソッドなども備えています。
そのためAndARは、ARマーカー上に3Dモデルを表示するだけの簡単なアプリを実装したい場合には比較的扱いやすいのではないかと思います。
サンプルコードを動かしてみましょう。AndARはAndroidプラットフォーム上で動作するアプリなので、Androidの開発環境を用意しておきます。
Eclipseを用いたAndroidの開発環境の構築については、前回でも触れていますので、そちらの記事を参照して構築してみてください。
AndARのソースコードは、こちらを参考にチェックアウトできます。今回の記事ではリビジョン197のAndARのプロジェクトを対象としています。AndARのソースコードは何も手を加えなくても動作するようになっているので、入手したソースコードをそのままAndroid端末にデプロイします。前回のNyARToolkit for Androidを利用した場合と同様、アプリの実行は実機で行ってください。
アプリをインストールするAndroidのバージョンは2.1以上である必要があります。本記事ではHTC Desire(Android 2.2)での動作を確認しています。
アプリが起動したら図1の「Hiro」マーカーにかざします。すると、緑色の立方体がマーカー上に重ね合わさっていることが確認できると思います(図2)。
AndARの主要なクラスのクラス図(図3)を確認してみましょう。
AndARを利用する場合、コアとなるのは以下の5つのクラスです。
これら5つのクラスではカメラの設定やレンダリングの設定、マーカー判定、変換行列の取得と適用といった、ARを実現するために不可欠となる処理を備えています。そのため、すでに実装済みのこれらのクラスやインターフェイスを継承・実装することによって、定型的な処理や複雑な処理を、あれこれ意識することなくARアプリを作成できます。
実際にAndARを利用してマーカー上に3Dモデルを表示するARアプリを作成するには、以下の3つのクラスをカスタマイズしていきます。
これら3つのクラスは主要なクラスを継承する形になっているため、以下の3点について簡単にカスタマイズできるようになっています。
AndARは、このようにカスタマイズすべき部分が明確に分かれている構成になっているため、カスタマイズ部分に集中でき、少ない労力でARを実現できるようになっています。
次ページでは、サンプルアプリの中身をコードを交えて解説します。
Copyright © ITmedia, Inc. All Rights Reserved.