特集
» 2009年10月05日 00時00分 公開

AR三兄弟が考える拡張現実とマッシュアップ:これなら分かるAR(拡張現実)

iPhoneアプリのセカイカメラやアニメの電脳コイルなど、なにかと話題のAR。既存のWebサービス・概念・製品とマッシュアップすることによって、ARはさらにユニークな方向に可能性が広がります

[川田十夢, AR三兄弟,@IT]

iPhoneアプリのセカイカメラで話題

 セカイカメラや電脳コイルや、なにかと話題のAR(Augmented Reality:拡張現実)ですが、既存のWebサービス・概念・製品とマッシュアップすることによって、ARはさらにユニークな方向に可能性を広げることができます。

 この連載では、連続デブ(開発)小説と題して開発を続けているAR三兄弟のマッシュアップ事例を1つ1つ紹介しながら、ARの新しい可能性について皆さんと探ってゆきたいと考えています。

ところで、ARって何?

 AR三兄弟と名乗っている以上、この質問には全力で答えられなくてはいけませんね。ARとはAugmented Realityの略で、日本語では拡張現実と呼ばれる概念です。そう定義されるとうっかり大層なモノに思えてしまいますが、私たち日本人からすると、漫画やアニメで常日頃から目にしているモノですので、さほど身構える必要はありません。『ドラゴンボール』のスカウターも、『電脳コイル』も、『サマーウォーズ』も、ひいては『ジョジョの奇妙な冒険』のスタンドさえ、ARといえばARです。

AR3Bros episode-iv | twitter & BaseballGameClassic & AR from ar3bros on Vimeo.

 

日常を大きく省略する斬新な技術、それがAR

 急に漫画の世界を例に説明されても、何だかシックリこないと思われますので、話を日常生活に戻します。例えば、皆さんがパソコンで目的の場所を探すとします。そのとき、皆さんが目的地へたどり着くまでに、実行しなくてはならないフローは次のようになります。

 これがARを使うと、次のような動作で事足りてしまいます。

 斬新とは省略するということ。ARは、こんな斬新なフローが当たり前になるかもしれない、人類にとって画期的な概念なのです。どうですか? 自分でも作ってみたくなったでしょ?

ARソフトウェアってどんな言語で作れるの?

 プログラムリソースのオープン化は、私たち開発者に大いなる恩恵をもたらしています。このARについても複数の言語で複数のライブラリがオープンソースとして存在しており、開発者は、自分の得意な言語のライブラリを使えば、すぐに誰でもARソフトウェアを開発することができます。

 私たちAR三兄弟は、AdobeのFlashを得意としていますので、AS3のライブラリであるFLARToolKitを使って開発することにしました。C言語が得意な方は、FLARToolKitの大本となったARToolKitを、JavaやC#が得意な方はNyARToolkitを利用すれば、Webカメラなどで取得した現実世界の映像に対して、リアルタイムで仮想オブジェクトを配置することが可能となり、手軽にARソフトウェア開発を開始することができます。

 また最近では、iPhone用AR開発キットiPhone ARKitがオープンソースとしてあったり、上でご紹介したNyARToolkitはAndroid開発環境も対応していたりするので、モバイル端末向けにARソフトウェアを作りたい場合には、そちらを利用するといいでしょう。取りあえず、ここではFLARToolKitを使った開発事例をご紹介します。

ARToolKitの偉大なる開発者に敬意と感謝を!

 自ら苦労して作り上げたライブラリを一般に広く公開してくれたプログラマへの敬意なくして、面白いARソフトウェアは作れないでしょう。彼らへの尊敬や感謝の念を自分が作るARソフトウェアに込め、彼らに喜んでもらえることをモチベーションの一つにして、面白いソフトウェアを開発しましょう。みんな日本人というのも何だか誇らしいじゃないですか!

ライセンスについて

 基本的にこの一連のライブラリはGPLライセンスなので、このライブラリを使って開発されたシステムのプログラムソースは原則的に開示しなくてはいけません。

 商業的案件やメーカーなどのクローズドな開発現場でこのARライブラリを利用する場合、どうしてもプログラムソースを開示したくないというケースが生じると思われますが、ソースを開示しなくてもよい商用ライセンスとしての利用も、最近では整備されてきているので、ARToolKitを商用利用したいという方はコチラをご覧ください。

FLARToolKitでできること

 FLARToolKitでできること、それはマーカーの認識と仮想オブジェクトの配置です。マーカーを認識させることで、Webカメラの映像をXYZ軸でとらえ、オブジェクトを拡張現実に配置することができます。

 FLARToolKit のソースを公開しているSpark projectにてライブラリ一式をダウンロードして、SimpleCube.flaをパブリッシュすれば、すぐにAR体験をすることができます。

 さくーしゃ氏ご本人による初心者向けチュートリアルを読めば、それがなぜ動いているのかがサンプルコード付きで分かりますが、以下の法則を覚えておけば、さらに最速のスタートダッシュを切ることができるでしょう。

これさえ覚えておけば大丈夫! FLARミングの法則

 実際に何かオブジェクトを配置する前に、上に図示したFLARミングの法則を覚えておいてください。手の甲をマーカーに向けて考えたとき、親指がX軸を、人差し指がY軸を、中指がZ軸を示すのがFLARToolKitの特徴です。これさえ覚えておけば、フライング気味にスタートダッシュを切ることができるはずです。

ほかに必要となる知識・技術について

 本誌@ITでは、AR三兄弟の解説記事を読み進める中で、参考となる記事が多く掲載されています。分からない個所がある場合には、以下のリンク先を参考にすることをオススメします。

ARにマーカーって必須なの?

 この質問を真顔でされたとしたら、私は真顔でこう答えます。

 現に、セカイカメラをはじめとして、マーカーレスなARソフトウェアは多く存在していますし、近い将来、マーカーは全く意味を成さない過去の代物になると思われます。

 しかし、私たちはこの「一見無駄なモノ」「いずれ省略され、忘れ去られてしまうモノ」に高い価値を見いだし、さらにそれをTシャツや名刺に刷るなどしてあえてビジュアライズしたら、一般に分かりやすく、かつARTでバカバカしいエンターテインメントなARソフトになるのではないかと着想しました。

 そして、むしろ前時代性を助長するキャラ設定をすることで、最先端技術とは別方向の、新しいARの可能性の探究につながるのではないかという狙いもあり、あえてこのマーカーを使うことにし、前述のマーカーベースのライブラリであるFLARToolKitを開発エンジンとして採用することにしました。

AR三兄弟のロゴ+キャラクター+UIデザインについて

 AR三兄弟のミッションは最先端技術だけで完結する可視化ではなく、過去からずっとあって、かつ可視化される必要のないモノを可視化することです。

 それは家族かもしれないですし、音楽かもしれませんし、あるいはまだ名前の与えられていない感情かもしれません。それはポリゴンポリゴンした3DCGでは表せない、角ばった前時代的なゴロっとしたモノでありますから、キャラ設定にはドット画が必須でした。

 昔から好きだったCraig Robinsonというイギリス出身のドット画職人の技法を研究し、彼へのオマージュを込めてマーカーが印刷されたTシャツを着た三兄弟をデザインしました。

 AR三兄弟のロゴはドットを配置している際に、誤って線と塗りの色を反転させた時に生じた偶然生まれた産物です。結果的に、これは計算ではどうにもならないゴロっとしたロゴになりました。

 UIのデザインは前時代的なテレビのテロップ手法を模した形式にしました。これも前時代的なイメージを増幅させるためのアプローチです。

 次回からいよいよ各話解説が始まります。

 前提となる技術、コンセプトの説明がうっかり長引いてしまったところで、ノーマネーのまま第1回フィニッシュです。次回からはいよいよ、拡張現実と既存の概念の融合による画期的なマッシュアップ事例の解説に入ります。お楽しみに!

■川田十夢(cmrr_xxx
AR三兄弟長男として活躍する傍ら、ALTERNATIVE DESIGN++の責任者をしています。公私ともに長男を演じているので、責任感は強い方だと思います。

ALTERNATIVE DESIGN++って何?
JUKIというアパレルメーカーの一画で、ミシンとネットをつなげる特許技術を発案したり、インタラクティブなミュージックビデオを作って賞をもらったりしながら、カルチャーとハードのユニークな融合を目指しているメメメな非秘密結社です。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。