Wikitude概説[PR]

GrapeCity Garage Wikitude概説[PR]

拡張現実(AR)とは? モバイルARを実現するテクノロジーと開発ライブラリ[PR]

2016年5月11日

ARの概要と特徴、利用モデルを図と動画で初歩から解説。主な開発ライブラリと、その一つであるWikitudeを紹介し、AR開発で使える「位置情報データ&API」も紹介する。

デジタルアドバンテージ 一色 政彦
  • このエントリーをはてなブックマークに追加

 スマートフォンのアプリとして最近人気のMSQRDSnapchatで遊んだことがあるだろうか? どちらも、カメラでライブ表示中の自分の顔にエフェクトをかけて、例えば動物っぽい顔に変えたり、目を丸く大きくしたりして楽しめる機能を持つアプリだ(図1)。

図1 MSQRDによるエフェクトの例
図1 MSQRDによるエフェクトの例

このスクリーンショットはアップルの「App Store: MSQRD」から引用したもの。
YouTubeには多数の動画が公開されているので、興味がある人はこちらを参照されたい: MSQRDSnapchat

 そのエフェクト機能では、現実のライブビデオ映像に対して非現実のアニメーションなどのマスク映像を付加するという処理がリアルタイムに実施される。これによって、ベースとなるビデオ映像は現実ではあるものの、その一部が改変された新たな映像が生み出されている。このように現実世界が一部拡張された状況のことを拡張現実(Augmented Reality: オーグメンテッド・リアリティ)、略してARという。

 スマートフォンでのAR活用は、スマートフォンの登場当初からあり、必ずしも最新テクノロジーというわけではないが、前出の人気アプリが最近になって登場してきたことからも分かるように、その使い道は現時点でも未知数で発展途上だといえるだろう。また今年(2016年)は、ゴーグル型のヘッドマウントディスプレイ(HMD)が各社から登場し、「VR元年」だといわれている。ARやVRが持つポテンシャルはかつてなく高まっており、これまでにはなかった付加価値を創出できる機運が生まれてきている。今が、ARの可能性や、開発の実際を正しく理解するベストなタイミングだ。

 そこで本稿では、ARの概要を基本から整理し直し、その仕組みや開発ライブラリ、開発に役立つデータとWeb APIについてまとめる。本稿は全3回の予定で、今回のARの概要に続いては、実際にARライブラリと公開データ・APIを活用して、iPhone向け(第2回)、Android向け(第3回)のサンプルアプリを開発してみる。

1. ARの概要

 この記事のタイトルを見てここまで読み進んだ読者は、ある程度ARの知識があり、開発にも興味があるということだろう。しかし一般向けのニュースなどでは、ARとVRが混同されていることも多く、ARが広く、正しく理解されているとは言いがたい。そこでまずは、ARとは何なのか、他の類似概念と何が違うのか、簡単に基本から振り返っておこう。

1.1 ARとは何か? ARとVRの違い

AR

 冒頭の説明の繰り返しになるが、ARAugmented Reality拡張現実)とは、人が知覚している現実世界をベースとして、その一部がコンピューティングテクノロジーによって改変・拡張された状況・環境のことを指す。ポイントはあくまで現実世界がベースであるということだ(図2)。

図2 ARの概要図
図2 ARの概要図

 例えば街中を歩いているときに、スマートフォンのARアプリを建物や道にかざすと、それらの建物や道に関連する情報(ビル名や道路の名称など)が吹き出しで表示されるなどだ。イメージしやすいように、参考となる動画を掲載しておこう。

動画1 【YouTubeから引用Wikitudeのブログ記事(英語)に掲載されているコンセプト動画「We humans see the world in 3D - now Wikitude does, too.」

この動画は、ARのイメージを伝えるためのコンセプト動画です。

VR

 一方、VRVirtual Realityバーチャル・リアリティ仮想現実)とは、コンピューティングテクノロジーによって生み出された、実際には存在しない(あるいは別形状の)仮想世界をベースとして、その世界の中にあたかも自分自身が存在しているような感覚・体験をユーザー(人間)にもたらす状況・環境のことを指す。ポイントは、あくまで仮想世界がベースとなっていることで、そこがVRとARの決定的な違いである。

 VRでは、自分自身が仮想世界に入り込めるので、非現実の体験を実際の体験のように味わえる。これによって例えば、ゲームの世界観への没入感を高めたり、実際には人間が体験できないことを仮想的に体験したりできる。よく見かけるのはジェットコースターゾンビが出るオバケ屋敷のVRを体験するデモで、体験しているユーザーは本物のように知覚してしまい、驚いて体が動いてしまったり、ときには驚いてころんだりする人もいる。それだけ現実の知覚・体験と同じように感じられるのがVRの強みである。

 VR用デバイス(基本的にヘッドマウントディスプレイ)は、2014~2015年ごろはOculus Riftが目立っていたが(参考:本サイトの開発者向け記事)、近年では例えばサムスンのGear VRHTCのViveなど、ほかのVRデバイスとの競争が激化してきている。今現在で最も期待・注目されているのがソニーのPlayStation VR(2016年10月発売予定、次の動画を参照)ではないだろうか(PlayStation VRの登場により、ゲーム体験が新たなステージに進化して話題になるのは間違いないと筆者は予測している)。

動画2 【YouTubeから引用PlayStation VRの公式サイトに掲載されている「PlayStation VR コンセプト映像」

 VRの説明で少し脱線したが、ARと類似の概念をさらにいくつか以下にピックアップしておこう。

MR

 MRMixed Realityミックスト・リアリティ複合現実)とは、コンピューティングテクノロジーによって生み出された仮想世界をベースとして、その世界観の中に現実世界の要素を反映させた状況のことを指す。ポイントは、仮想世界(CG)と現実世界が融合することである。確かに「現実+CG追加」のARに近い概念ではあるが、ARが現実世界をベースにしているのに対し、MRはあくまで仮想世界をベースにしており、アプローチは真逆である。一方、VRは、MRと同じように仮想世界がベースなので同じアプローチだが、現実世界の要素を仮想世界の中に持ち込まないというところがMRと異なる。

 MRの例として、非常に危険な工場の作業現場を想定してみよう。その現場と全く同じ構成で、部屋や機械の一部の部品を含んだ疑似的な作業現場(=物理的な空間)を作成し、ユーザーが操作する一部の部品以外はCGで表現するのでブルーバックで色塗りするなどしてCG合成が可能な状態にする。そしてユーザーがヘッドマウントディスプレイなどを付けた状態でその疑似的な作業現場を見渡すと、ユーザーにとってはまるで実際の作業現場に入っているかのように体感できる(部屋の中は「CG」だが、操作する一部の部品は「現実」というミックス・融合した映像になっている)。そしてこの部品を操作すると、物理的に実在するので体感フィードバックもあり、仮想世界でありながら本当に現場で作業をしているような感覚が得られるはずだ。このようにVRのゲームと違って、MRは特に危険な場所でロボットを遠隔操作する場面などで役立ちそうな技術である。

 詳しくは後述するが、MR用デバイスとしてはHoloLensが挙げられる。HoloLensは北米向けに開発版が販売開始されている(一般販売や日本での販売の時期は発表されていない)。なお、ここではVR/AR/MRの違いを明確に区別して説明した。しかし最近では厳密な定義はさておき、3D CGがふんだんに使われ、CGと現実との融合度が高いARもMRと表現されるケースが増えてきているので、知っておいてほしい(※2016/6/10追記)。

SR

 SRSubstitutional Realityサブスティテューショナル・リアリティ代替現実)とは、体験者本人に気付かれないように、現実世界が別の代替世界に置き換えられた状況のことを指す。例えばSF映画などでたまにある設定だと思うが、「現在の世界にいる体験者が見ている場所が、実は過去の状態で見えている」といった状態をイメージするとよい。ポイントは、体験者が現実空間と仮想空間の区別ができない代替世界にいるということだ。ただし、SRはまだ実験段階にあり、今後の発展と実用化が期待されている状況である。

1.2 ARの特徴と利用モデル

 AR/VR/MR/SRという4つの概念を説明したが、本稿はARを解説する記事なので、さらに深く掘り下げてARの特徴や利用ケースを考えてみよう。

ARの特徴: モバイルAR、スマートグラスAR

 現在のARでよくあるのは、スマートフォンやタブレットを用いたものだ。そういったモバイルデバイスに標準搭載されている「外側のメインカメラ」(以下、外カメラ)や「内側の自撮りカメラ」(以下、内カメラ)の映像をライブ表示にした状態で、その映像表示の上にCGによる画像/アニメーション/文字などを重ね合わせたり(前掲の図2はこのパターン)、映像の一部もしくは全部の縮尺変更や色味変更をしたりする(ARの定義としては、このような視覚情報だけでなく、音声などの聴覚情報や嗅覚・触覚などあらゆる知覚が対象とされている)。このようなARはモバイルARと呼ばれ、ARで最も一般的な使い方だ。本連載で取り扱うのも、このモバイルARである。

 次に注目されているARが、スマートグラスなどのメガネ型デバイス(≒ヘッドマウントディスプレイ=VR用途なども含む)を用いたものである。メガネとして背景が透けて見えるディスプレイ領域に、画像/アニメーションなどを重ね合わせることでARを実現する。このARを表現する一般的な用語はまだ存在しないと思うが、モバイルARと対比して本稿ではスマートグラスARと呼ぶことにしよう※2016/6/10追記: スマートグラスARは、ARのみならずMRにも活用されているので、最近では「MRデバイス」と表現されるケースが増えてきている。今後は、モバイルAR=AR、スマートグラスAR=MRという認識が一般的になりそうである)

 スマートグラスの先駆けとして話題になったのはGoogle Glass現在、個人向け販売のプロジェクトは中止されている)だが、現在はマイクロソフトのHoloLensに大きな注目と期待が寄せられている。HoloLensは、現実の3D空間に合わせて3Dのオブジェクトを描画することで、そこにあたかもそのオブジェクトが存在するかのように(いわゆるホログラムを)表現できる(動画3を参照)。そのため、例えばSF映画でよくあるような次世代の3D UI(ユーザーインターフェイス)が構築できる可能性など、未来の技術としてのポテンシャルは高い。また最近、JALがHoloLensを使ったパイロット用トレーニングツール(=実物そっくりのコックピットをホログラムとして表現してパイロットが操作手順を学習するのに役立てるMRツール)のプロトタイプを開発していることが発表されるなど、実業界からの関心も高いのが特徴だ。

動画3 【YouTubeから引用HoloLensの公式サイトに掲載されているコンセプト動画「Microsoft HoloLens - Transform your world with holograms」

ARの特徴: 画像/アニメーション/3Dオブジェクトによる拡張

 モバイルARやスマートグラスARに共通していえるのは、映像における2D/3D空間と描画対象(=ターゲット)の位置・領域を計算・確定(=認識)して、そこに画像/アニメーション/3Dオブジェクトなどを描画するということである。このターゲットの認識には、主に下記の3つの方法が使える。

  • 1ロケーション GPSの位置情報を活用した方法
  • 2マーカー QRコードのような白黒の図形で構成されたマーカーをターゲット特定用のマークとして用いる方法
  • 3マーカーレス 画像分析により特徴点を抽出して3D空間内のターゲットの位置・領域を確定する方法

 1ロケーションベースの手法に対して、23ビジョンベース画像認識型)の手法としてまとめられることもある。それぞれ、もう少しイメージしやすいように実例も示しておこう。

1ロケーション

 2009年にリリースされたスマートフォンアプリの「セカイカメラ」を覚えている人はいるだろうか(2014年1月にサービス終了)。GPSの位置情報を利用した代表的なモバイルARアプリで、街中などでカメラをかざすと、場所にひも付いた写真やメッセージなどが表示される機能を持っていた(図3)。実際のアプリ開発では、GPS位置情報にデバイスの方位や傾き(=磁気センサーや加速度センサーで取得して計算)などの情報を組み合わせることで、より厳密に3D空間内のターゲットを認識し、そこに画像などをレンダリングすることになる。

図3 ロケーションを利用したモバイルARアプリの例(セカイカメラ)
図3 ロケーションを利用したモバイルARアプリの例(セカイカメラ)

このスクリーンショットはWorld Summit Awardsの「YouTube動画: Sekai Camera - セカイカメラ」から引用したもの。

 場所に基づくARとしてほかには、少し前にはやったグーグルのリアルワールドゲーム「Ingress」や、2016年にサービス開始とされているリアルワールドゲーム「Pokémon GO(ポケモンGO)」がある。このようにロケーションベースARは、現実世界の街中を、ゲームのような仮想世界とフュージョンする方向で進化しており、この活用法が今一番面白い。

2マーカー

 位置特定用の(基本的に正方形の)マーカーを紙に印刷するなどしておき、カメラでそのマーカーを認識することで、3D空間内のターゲットを認識する。例えば図4は、正方形のマーカーを読み取り、その位置に初音ミクが3D表示されるARのデモ動画(をスクリーンキャプチャして引用したもの)である。あらかじめ決めておいたマーカーを使うので実装が比較的容易である。

図4 マーカーを利用したARの例(ARToolkitとMMD)
図4 マーカーを利用したARの例(ARToolkitとMMD)

このスクリーンショットはVayanis氏の「YouTube動画: The Secret Garden ARToolkit MMD Project」から引用したもの。

 特に紙媒体での利用に向いており、QRコードと同じような使い方をイメージするとよい。なおQRコードと異なる点として、マーカーに対する情報の書き換えが可能であることが挙げられる。これにより、一度使った印刷物を他のARで再活用することも可能となる。また、QRコードでは基本的に文字データを扱うが、ARでは動画・音声・画像といったさまざまなデータを扱うという違いもある。

 ARマーカーは、商品の購入者特典といったプロモーションで使われるケースが多い。2012年ごろの少し古い事例となるが例えば、「キリンチューハイ 氷結」の缶にプリントされたARマーカーを専用のARアプリでのぞくと、アプリ上のARビューにキャラクターが出現してPerfumeの新曲に合わせて踊るというものがあった(参考記事)。

 他の方法と比較して、マーカーの最大の特長は「認識しやすい」ことだ。そのため、安定的かつ高速にARを実現する必要がある場面では特に役立つだろう。例えばARを活用した富士通の製品では、「工場の作業現場」で部品交換の手順をARにより表示することで、作業の正確性を高められ、人的ミスが防止できるとしている。このように主に企業内の作業現場で、ARマーカーはより多く使われていくのではないだろうか。

3マーカーレス(特徴点抽出)

 映像における1コマの画像を分析して画像の特徴点を抽出することで、3D空間内のターゲットを認識する。ターゲットにおける特徴点の変化をトラッキングすることで、動きに合わせてARオブジェクトの形状や向きを変化させることが可能になる。例えば冒頭でも示したモバイルARアプリ「MSQRD」はこのタイプで、3D空間で顔検出を行い、そこにエフェクトとなるマスク画像/アニメーションをマッピングしており、動きに合わせてエフェクトも変化する。

 また、例えば東京書籍のモバイルARアプリ「教科書AR」を使って、教科書に掲載されている「東京スカイツリー」のページをライブ表示すれば、そのページ上に「東京スカイツリー」の3Dオブジェクトが表示される(図5)。ARアプリで認識された「東京スカイツリー」の画像は、事前にターゲット(Target)(≒正方形ではないマーカーとなる画像)としてARアプリ内に登録されていたものだ。画像分析された結果、登録済みターゲットに合致すると判定され、そのターゲットを基準にした位置・領域に3Dオブジェクトが表示されている。

図5 マーカーレス(特徴点抽出)を利用したモバイルARアプリの例(教科書AR)
図5 マーカーレス(特徴点抽出)を利用したモバイルARアプリの例(教科書AR)

このスクリーンショットは朝日新聞社の「YouTube動画: AR技術で『動く教科書』」から引用したもの。

 この手法は、画像分析が必要になるという点で難易度が高いといえるが、最近ではOpenCVをはじめ、マイクロソフトの「Cognitive Services」(コード名:“Project Oxford”)やグーグルの「Cloud Vision API」など、顔検出や特徴点抽出などの画像分析用のAPI/サービス、さらに後述するARライブラリが多数登場してきており、徐々に取り組みやすくなってきている。今後は特にコンシューマー向けで、マーカーレスで何かをするモバイルARアプリがさらに増えてくるに違いない。

ARの利用ケース

 ここまでに示したように、例えばゲームや教育、ちょっとした遊び、医療/パイロット/軍事における高度でリスクの高い作業をトレーニングするためのツールなど、ARにはいろいろな利用ケースが考えられる。ほかにも、看板などの自動翻訳、購入前の家具の試し置き、服やメガネのバーチャル試着など、挙げればきりがない。ぜひ自由な発想で面白い活用方法を発見してほしい。

2. AR開発を実現するテクノロジー

 さて、それではAR開発の概要に話を移そう。

2.1 ARを実現する仕組みと技術要素

 ARの基本的な技術要素は、ここまでの説明の中ですでに紹介している。ここでは一般的に、各要素がどのような流れで活用されていくのかをあらためて図としてまとめておこう。あくまで一般的な処理の流れであり、必ずしも全てのAR開発でこの流れに従って実装するわけではないことに注意してほしい。

図6 ARの仕組みと処理の流れ
図6 ARの仕組みと処理の流れ

15の意味・内容については、下記の本文を参照されたい。

 1カメラによる映像の取り込み スマートフォン/タブレットの外カメラや内カメラ、あるいはスマートグラスのカメラにより、現実世界の映像を取り込む。

 2ライブ映像上のターゲットの認識 取り込んだライブ映像の各フレームから、ロケーション/マーカー/マーカーレス(特徴点抽出)などの手法によりターゲットを認識する。スマートフォン/タブレットの場合、この段階でバッファー領域に現在のライブ映像のフレームをレンダリングしておくこともある。

 3拡張用のARオブジェクトの作成 ライブ映像の上に重ねて表示する画像/アニメーション/文字/3DオブジェクトなどのARオブジェクトを、コンピューター上で作成する。なお、ARコンテンツ(=ターゲットとARオブジェクト)の点数が多すぎるなどの理由でARコンテンツをサーバー側で管理する必要がある場合は、ターゲットの認識処理(2)をサーバー側に委ね、その処理結果のデータであるARオブジェクトをサーバーから取得する(3′)。

 4ARオブジェクトの位置・姿勢の計算 カメラの向きとターゲットの位置・領域の情報を基に3次元空間におけるARオブジェクトの形を計算する。

 5ディスプレイへの描画 バッファー領域に3DのARオブジェクトをレンダリングし、描画が完成したフレームバッファーをスワップして、スマートフォン/タブレットの場合はディスプレイに映し出し、スマートグラスの場合はレンズもしくは目の網膜に投影する。

2.2 AR開発のライブラリ

 次に、どのようなAR開発ライブラリが存在するのか? 代表的なものをいくつかピックアップして簡単に紹介しよう。

ARToolKit(エーアールツールキット)
図7 ARToolKitの公式サイト
図7 ARToolKitの公式サイト

 オープンソース(LGPLv3)のマーカー系のARライブラリ。C言語をサポート。iOS/Android/Unityアプリの開発に対応。マーカーを認識でき、正方形から2Dバーコードなどいろいろと対応している。歴史も長く、ドキュメントも充実しているので、使っているデベロッパーも多いが、人気は下降傾向にある。マーカーを使った基本的なARアプリであれば、こちらを使うケースが多いだろう(ただし最近ではマーカーではなくマーカーレスが主流になってきている)。

NyARToolkit(ニャーツールキット)
図8 NyARToolkitの公式サイト
図8 NyARToolkitの公式サイト

 ARToolKitをJavaやC#に移植してカスタマイズした、オープンソース(LGPLv3、一部のユーティリティはMITライセンス)のARライブラリ。日本語の情報も多いので比較的使いやすいだろう(その点を鑑みて、ここで取り上げた)。

Wikitude(ウィキチュード)
図9 Wikitudeの公式サイト
図9 Wikitudeの公式サイト

 有償のARライブラリ(無料のトライアルライセンスあり)。基本はJavaScriptによるクロスプラットフォーム開発だが、iOS/Androidネイティブ言語用のSDKも提供されている。iOS/Androidアプリの開発に対応しており、プラグインによりUnity/Xamarin/Cordova/Titaniumでも利用できる。スマートグラスへの対応も積極的で、Epson Moverio BT-200Vuzix M300などに対応している。ロケーションベースARとビジョンベースARの両方に対応しており、認識した画像をトラッキングできるなど機能が充実している。日本ではグレープシティが販売代理店として各種サポートを行っている。

Vuforia(ヴューフォリア)
図10 Vuforiaの公式サイト
図10 Vuforiaの公式サイト

 有償のARライブラリ(無料のStarterライセンスあり)。iOS/Androidのネイティブ開発に対応しており、Unity(C#)開発もサポートしている。またスマートグラスにも対応しており、Epson Moverio BT-200ODG R-7などのデバイスがサポートされている。HoloLensにもいち早く対応予定である。

その他

 以上のもの以外にも多数のARライブラリが存在するが、執筆時点ではまずは上記のものを押さえておくのがお勧めだ。さらにARライブラリを調べたいという方は、下記のリンク先の比較表を参照してほしい。

2.3 Wikitudeの仕様と機能

 本連載ではARライブラリのWikitudeを実際に使ってサンプルアプリを開発してみる。以下にWikitudeのスペックを簡単に紹介しておこう。

Wikitude SDKのシステム要件

 Wikitudeでは、JavaScript/HTML5/CSSといったWeb標準技術を用いたクロスプラットフォームの開発が可能で、

  • iOS: Xcode
  • Android: Android Studio

などの開発環境はもちろん、

  • Xamarin Studio
  • Titanium Studio
  • Unity 3D

といった開発環境も選択できる(これらを使うにはプラグインが必要になる。どのようなプラグインがあるかは後述の表1を参照されたい)。

 また、基本的にJavaScript APIを使うことが推奨されるものの、Wikitude SDKはiOS/AndroidのネイティブAPIによるAR開発にも対応している。Wikitude SDKのアーキテクチャやAPIについては次回以降でもう少し詳しく説明する。

 作成したモバイルARアプリが利用可能なデバイスについては「グレープシティ: Wikitude SDK - システム要件」のページを参照してほしい。

Wikitude SDKの機能一覧

 Wikitudeには、ライセンス体系に基づいて、

  • SDK Lite
  • SDK Pro
  • SDK Pro+
  • Pro+ Unlimited

という4つのエディションが用意されている。このうちSDK Liteは主に下記の機能が制限されている。

【SDK Lite】

  • ビジョンベース(画像認識型)ARは実装できない
  • 3DモデルをARオブジェクトに使用できない

 Pro以降はフル機能が使えると考えてよい。ただしスマートグラス開発の場合は、「Epson/Vuzix用のPro」という特殊なライセンスが必要になる(通常はiOS/Android用のライセンスのみ)。

 Wikitudeを活用したARで実現できることは、次の公式コンセプト動画を見るとイメージしやすいので、ぜひ一度再生してみてほしい(なお、この動画にはコンセプト表現が含まれており、Wikitudeの機能だけで全てを実現できるわけではない。例えば3Dトラッキング機能は現在、ベータ版として提供されており、正式版の機能ではないので注意したい)。Wikitudeの機能内容についてより具体的には、次回以降で実際に開発を試しながら示す。

動画4 【YouTubeから引用Wikitude SDKの公式ページ(英語)に掲載されているコンセプト動画「Wikitude Augmented Reality SDK」

この動画は、WikitudeによるARのイメージを伝えるためのコンセプト動画です。

 ここでは参考までに、Wikitudeの機能一覧表を掲載しておく(今回は名前だけの掲載で、各機能内容の説明は割愛する)。なお、これらの機能は、ARのみならずVRで活用することも可能である。

●ビジョンベース(画像認識型)AR
オフラインでのマーカーレス2D画像の認識
オフラインでのマーカーレス2D画像のトラッキング
オフラインでのマーカーレス3Dモデルの認識(ベータ)
オフラインでのマーカーレス3Dモデルのトラッキング(ベータ)
クラウドでのマーカーレス2D画像の認識
クラウドでのマーカーレス2D画像のトラッキング
拡張トラッキング
物理ターゲットへの距離
●ロケーションベースAR
ジオロケーション
ジオフェンス
レーダーUI要素
相対位置
距離に基づくスケーリング
●ARオブジェクト
ARビューのフルカスタマイズ
基本的な拡張(テキスト、画像、ボタン)
スプライトシートアニメーション
動画の拡張
動画の透過処理
HTMLコンテンツの拡張
音声の拡張
3Dモデルの拡張
3Dモデルアニメーション
プロパティアニメーション
●拡張機能
スクリーンショット
スクリーンへのスナップ
外/内のカメラ制御
カメラズーム
フラッシュライト制御
プラグインAPI
●ツール
3D Model Encoder
デスクトップデバッグ用のADE.js
●ターゲット管理
Target Manager Web Tool
Targets API
Targets Enterprise Script
●モバイル開発プラットフォーム
Unityプラグイン
Cordovaプラグイン
 ├ Intel XDK
 ├ SAP Mobile Platform
 ├ Telerik
 └ PhoneGap
Titaniumモジュール
Xamarinコンポーネント
表1 Wikitude SDK(JavaScript API)の機能一覧表

SDK Liteでは、前述の通り「ビジョンベース(画像認識型)ARは使用できない」などの機能制限があることに注意してほしい。Targets APIやTargets Enterprise Scriptは、各エディションに付属ではなく別売りライセンスとなっている。
Wikitude SDKのJavaScript APIとネイティブAPIには機能差があり、ネイティブAPIの方はiOS/AndroidのAPIのみで実現できる部分を中心に機能が省略されているので注意してほしい。

Wikitudeの代表的なツール&サービス

 WikitudeはSDKを用いて開発するが、開発・運用を支援するためのツールやサービスも提供している。押さえておくべき2つのサービスをここで紹介しておこう(いずれも別料金が発生する)。

  • Wikitude Cloud Recognition 認識用のターゲットが1000枚以上ある場合には、クラウド上でターゲットコレクションを管理することで、認識処理をクラウド側に委ねることができるサービス
  • Wikitude Studio 非常に簡単にARコンテンツを作成できるツール。具体的にはWebブラウザー上のUIを操作することで、認識用のターゲットを追加し、拡張用のARオブジェクトを作成できる

3. AR開発に役立つデータとWeb API

 最後に、比較的手軽に実装を開始できるロケーションベースARのモバイルアプリを開発する想定で、そのサンプルアプリ開発に役立ちそうなデータやWeb APIへのリンクを掲載する。

3.1 位置情報が含まれる主要なデータ

  • 国土数値情報 ダウンロードサービス: オープンデータ。多種多様な国土関連の地理データがダウンロード可能で、サンプルAR開発には使えるだろう。難点を挙げると、Web APIが用意されているわけではなく、データをいったん取得したうえで取り扱う必要がある
  • 国土数値情報 バス停留所: オープンデータ。上記のダウンロードサービスで提供されているデータファイルの一つ。今後の記事の中で使用予定
  • 国土数値情報 バスルート: 同上。バスはあらゆるところを走っているので、サンプルAR開発には使いやすいだろう
  • 駅データ.jp: 全国の鉄道各駅の位置情報を含むデータがダウンロードできる。Web APIも提供されている
  • 駅.Locky: 鉄道各線の時刻表がユーザーの力によって作成されている。ダウンロード手段はないので、実際にデータを活用するにはWebスクレイピングで該当データを抽出する必要がある
  • 自治体オープンデータサイト一覧: 各都市が提供しているオープンデータへのリンクがまとめられている。ただしリンク切れも多い
  • DATA GO JP: 日本政府のオープンデータ。膨大ではあるが、どのデータに位置情報が含まれているかは1つずつ探す必要があり、使い勝手はよくない

3.2 位置情報が含まれる主要なWeb API

  • 駅すぱあとWebサービス: 有名な乗り換え案内サービスの公式Web API。実際に試すには、開発評価版を申し込む必要がある
  • ぐるなび Web Service: レストラン検索APIには緯度・経度の情報が含まれており、モバイルARのサンプル開発では使いやすいだろう。今後の記事の中で使用予定
  • ホットペッパー API: グルメサーチAPIに緯度・経度の情報が含まれている
  • YOLP(地図):場所情報API - Yahoo!: 指定された位置付近の主要なランドマーク名と位置情報を返すAPI
  • モバイラーズオアシスAPI: モバイラーズオアシスに寄せられた電源の使えるお店情報の位置情報を取得できる

4. まとめ - AR開発を試してみたいと思った方へ

 以上でARの概要から開発ライブラリまでをまとめた。AR開発に関心を持っていただけただろうか?

 本稿は全3回の連載の第1回である。次回からは実際の開発に挑戦してみる。第2回がiOSアプリ開発で6月中旬公開予定、第3回がAndroidアプリ開発で7月中旬公開予定だ。筆者自身がAR開発は初めてとなるので、「まだAR開発を試したことはない」という方は、ぜひ次回と次々回もお付き合いいただき、一緒に開発にチャレンジしていただけるとうれしい。

1. 【現在、表示中】≫ 拡張現実(AR)とは? モバイルARを実現するテクノロジーと開発ライブラリ[PR]

ARの概要と特徴、利用モデルを図と動画で初歩から解説。主な開発ライブラリと、その一つであるWikitudeを紹介し、AR開発で使える「位置情報データ&API」も紹介する。

2. iPhone向け拡張現実アプリの開発に挑戦してみた(Wikitude活用)[PR]

モバイルARアプリ開発に初挑戦! 位置情報を含むオープンデータの「バス停位置情報」と、ARライブラリの「Wikitude」を活用したら、拡張現実に対応した有用なiOSアプリが簡単に開発できた。

3. WikitudeでカンタンAndroid向けAR開発。ブラウザーでデバッグ可能[PR]

位置情報を含むレストラン検索の「ホットペッパーAPI」を活用したAndroid向けモバイルARアプリを作成。Wikitudeを使えば、使い慣れたテキストエディターで開発し、ブラウザーで手軽にデバッグできる。

イベント情報(メディアスポンサーです)

Twitterでつぶやこう!


Build Insider賛同企業・団体

Build Insiderは、以下の企業・団体の支援を受けて活動しています(募集概要)。

ゴールドレベル

  • グレープシティ株式会社
  • 日本マイクロソフト株式会社