「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部)
「セカイカメラ」が、米国で開催されたデモイベント「TechCrunch50」でお披露目されて以来、「AR(Augmented Reality、拡張現実)」を銘打ったツールが数多く出現してきました。
Augmented Realityの利用・研究はセカイカメラ以前にも数多くありましたが、「ARToolKit」の登場により、ARマーカー認識技術を手軽に使えるようになり、ARが広まった理由の1つとなっています。
AR Toolkitは、C/C++は元よりJava、JavaScript、Flashなどさまざまな環境で動作する派生ライブラリとして広がってきています。
また、ARToolKitは無料で使えるライセンス形態から、商品として購入するライセンス形態もあり、単なる研究から一歩進んだ商用の領域に手を広げてきています(古くからあるAR商用ライブラリとしては「Metaio」が知られています)。
現時点で技術的には枯れた部類と思われがちなARですが、認識技術の向上のみならず、「PTAM(Parallel Tracking and Mapping)」のような特徴点を抽出して利用するマーカーレスのARなど、応用の幅や見せ方の幅が広がってきていることは確かです。
また、仰々しいヘッドマウントディスプレイではなく、iPhoneやAndroid携帯電話、ノートPCとWebカメラといった手軽な機材で、AR風の楽しみ方ができるようになったことも影響しているでしょう。
さらに、研究用途や便利なツールとしてだけではなく、「ARCADE REALITY」「暗殺者FPS」のように、現実世界を拡張した世界の中で楽しむARゲームといった楽しみ方も現れてきています。
ARゲームは、技術うんぬんよりも、現実世界ではできないことを実現したつもりになれます。見えない敵を倒したり、普段想像の世界でしか描けたかったことを手元の携帯デバイスで現実化できるのです。
一方、ARであることを強く前面に出さずに、人々の日々の「便利さ」を提供しているものもあります。「東京の地下鉄」「ご近所ナビ」のようなGPSや地図をうまく活用したツールも広く一般に受け入れられるようになってきました。
また、ツール単体でのAR利用にとどまらず、ARのプラットフォームとして展開している企業もあります。「Layer」はその1つで、ARプラットフォームのAPIを広く公開し、今後の展開も注目されています。
「自分が得意とするのはJavaなので、流行のARとは関係ない」と悲しむことはありません。上記で紹介したLayarはAndroid携帯電話上で動作するARアプリとして、いち早く登場し話題を集めました。そのように、JavaでもさまざまなAR環境が用意されています。
JavaやC#、Android用のARToolKitクラスライブラリです。日本語の解説も充実しています。
ARToolkitをGL4JavaやJOGL、Java 3Dで利用することのできるライブラリ群です。Videograbberにも対応します。
アート系の作品によく使われているJavaをベースとした平易なプログラミング環境「Processing」でのAR事例です。
Copyright © ITmedia, Inc. All Rights Reserved.
Java Agile 記事ランキング