前回の「3DモデルがアニメーションするARをOpenGL ESで作る」までは、主にAndroidでAR(拡張現実)を実現する方法について解説してきました。
スマートフォンの2大勢力としてiPhoneとAndroidが挙げられる以上、iPhoneでARを実現する方法も書かなけれ消化不良というものでしょう。「モバイルARアプリ開発“超”入門」の第5回はiPhoneやiPadで使用されているiOSにスポットを当ててみます。
iOSで使用可能なARライブラリは各社開発を進めているため、実用に耐え得るもののみに絞っても、かなりの数が出そろっています。まずは、それぞれのライブラリについて、各社のサイトやデモアプリを動かした結果を基に簡単に見ていきます(アルファベット順)。
また、以下の一覧では認識方法を以下の3種類に分けて記述していきます。
2番目の例のように特定の画像を認識してARを行う場合、単に「マーカーレス型」と呼ばれることが多いのですが、反応する画像があらかじめ決められている場合と、どんな光景でもAR表現が可能なライブラリの違いは大きいため、今回はあえて分けたいと思います。
ARToolkit for iOSはマーカー型のライブラリで日本代理店でも取り扱っています。価格は無償配布するアプリであれば29万/1アプリ、有償配布する場合は売り上げ予想に応じて57万〜/1アプリです(参照エム・ソフト - ARToolKit -ライセンス価格 - ARToolKit for iOS)。試用版は30日間限定で3万円で使えます。
このライブラリを使用しているアプリ(ソフトバンクホークスバーチャルスタンプラリー)を試してみた感じや、デモ動画を見る限り、iPhone 3GS(以下、3GS)ではかなり厳しい印象を受けました。
iPhone 4S(以下、4S)であれば問題なくトラッキングされるため、精度は良いものと思われますが、3GSにとっては負荷が大きいようです。ただし、ソフトバンクホークスバーチャルスタンプラリーでは描画している3Dモデルのポリゴン数がかなり多そうに見えるため、トラッキングは早いものの描画に時間が掛かっているようにも見受けられます。
「ARWiz」はマーカー型のライブラリですが、他のマーカー型とは見た目が異なるマーカーを使用します。
ARWizを使って作られた「AR Defender」の例を見ても分かるように、数個の黒丸がマーカーとなるマーカー型ARライブラリです。他のマーカーと違い、黒丸が明確になっていれば周辺に文字や絵があっても認識できるため、デザインの一部としてマーカーも提供できます。
トラッキングの間隔や精度は3GSでも大きな違和感なく使用でき、今回調べたなかでは相当良いと感じました。また、一度認識した後は見えている黒丸の数が半分程度になっても追従してくれるようです。公開されているデモ動画を見てみたところ、複数マーカーを使っているようなデモがないため、複数マーカーへの対応が可能かどうかは不明ですが、単一マーカーでも問題ないようであれば有力候補の1つですね。
2012年1月の時点ではARWizは非公開のライブラリですが、公式ホームページで「Coming Soon」と表示されているため、リストに含めています。ライセンス形態などは不明ですが、公開が楽しみなライブラリです。
「D'Fusion Mobile」はマーカーレス型(画像認識)、ロケーションベース、フェイストラッキング(顔認識)といった特徴を備えるライブラリです。PC向けや、Flash上で動作するARアプリの実績を多く持つ多機能なライブラリです。日本でもカンナビという企業が利用しています。
例としては、フェイストラッキングのARアプリ「Silhouette iMirror」があります。
デモ動画を見る限り、iPhone上でもかなり良い速度、精度でトラッキングできています。マーカーレス型のサンプル「AR Robot」を実行した感じでは4Sであればきれいにトラッキングされているように見えました。3GSでは多少厳しい印象がありますが、実用できないほどの処理速度ではないと思います。
マーカーレス型(画像認識)に加えて、GPS/コンパスなどの情報を使ったロケーションベースのARや、フェイストラッキングによるAR、3次元物体のトラッキングやマルチスレッドへの対応、物理エンジン、Luaスクリプトと多種多用な機能を提供してくれています。
また、ARコンテンツを作成するためのオーサリングツールとして「D'Fusion Studio」というソフトウェアが提供されていて、3Dに慣れたモデラ/デザイナがD'Fusion Studioを用いてARコンテンツを作成し、プログラマがそれを組み込むといった分担作業がやりやすくなっています。
metaio Mobile SDKは豊富な実績を持つmetaio社が提供するSDKです。iPhone/Androidに加えて3Dゲームエンジンである「Unity」にも対応しており、ゲーム性を持ったアプリなどとの連携も可能になっています。
metaioを使ったアプリの例としては「iWorld」があります。価格は4950ユーロ(≒50万円弱 2012月1月6日時点)です。無料プランもありますが、metaioのスプラッシュ画面と透かし画像が表示されます。
ライブラリ単体でも多くの機能を提供しており、マーカー型、マーカーレス型(画像認識)のARやロケーションベースのAR、緯度経度情報を持った特殊マーカーを用いてのインドアロケーションにも対応しています。ライブラリ自体に3Dモデル(WaveFront形式、md2形式)のローダーが実装されており、3Dの描画やアニメーションも管理できるため、比較的容易に多機能なARアプリを作成可能です。
3GSでもそこそこの速度で動作するものの、もっさり感は避けられず、4Sで真価を発揮するように思います。トラッキング精度、間隔共に申し分なく、マーカーレス型(画像認識)を使うのであれば有力候補でしょう。
SDKがフリーでダウンロードできるため、実際にコードが試せるのもうれしいところです。後ほど、サンプルコードの動作方法を解説しコードを簡単に見てみます。
Parallel Tracking and Mapping、略してPTAMの公式iPhone実装です。PTAMではカメラから撮り込んだ光景に対していくつかの特徴点を見出し、それをトラッキングすることによって、マーカーの全く存在しないARを実現しています。
デモが投稿されたのは2009年6月のためiPhone 3GSと思われますが、とてもスムーズなトラッキングが行えており、論文を見たところトラッキングだけであれば30FPSを維持できるようです。
C言語版は非商用アプリ専用としてソースが公開されていますが、iPhone用ライブラリは商用ライセンスのみとなっており、詳細は要問い合せとのことです。
次ページでは、残りの3つとプラットフォーム型のARサービスを2つ紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.