画期的なARKit
「世界でもっとも普及しているiPhoneが、いきなりすべてAR端末になることのインパクトは計りしれません」。ARKitがもたらす可能性についてそう語るのは、自らVR(仮想現実)、MR(複合現実)、AR(拡張現実)向けアプリの開発を手掛ける谷口直嗣氏です。
iOS 11で初採用されたARKitは、iPhoneとiPadで動作するARアプリをを開発するためのフレームワーク。これによりiOSアプリ開発者は標準のAPIだけでさまざまなARアプリを従来より簡単に開発できるようになります。グーグルのアンドロイド端末でも「ARコア(AR Core)」を提供しており、ARKitと同様なことができますが現状では対応機種が限られています。その一方、ARKitではすでに稼働している数千万台以上のiOSデバイス(A9チップを搭載したiPhone 6s以降の機種)がARに対応したことになります。
谷口直嗣 Naoji Taniguchi
医療向けAR/VR/MR開発を手掛けるHoloEyes社CEO兼CTO、女子美術大学非常勤講師。1970年生まれ、横浜国立大学建設工学科卒業後、日本総合研究所、ナブラを経て独立。ゲームのリアルタイム3D技術を応用した多用途なゲームエンジンの開発、ロボットアームとCGソフトの連携アプリ開発などを手掛ける。2016年に共同創業者の杉本真樹氏とHoloEyes社を設立。【URL】http://holoeyes.jp
もちろん、これまでも「ポケモンGO」のようにAR機能を利用したアプリはいくつも存在しましたが、開発者はARKitのどの点に注目しているのでしょうか。
「まず、3Dのオブジェクトを空間上に出現させるためのARマーカーがいらなくなったというのが大きいです」
従来のARライブラリは画面上にオブジェクトを出現させるために、あらかじめ“目印”となる画像をマーカーとして登録しておく必要がありました。そのため、カメラからARマーカーが少しでも見切れるとオブジェクトが表示されなくなったり、位置が追随できずに不自然な表示になってしまうことが多かったのです。
ARKitではこのマーカーが不要となり、その代わりにカメラビューのシーンをリアルタイムに自動分析することで、空間上の平面を検出。そして、それに合わせて3Dオブジェクトを出現させるのですが、この際にiPhoneカメラの画角も取得してバーチャルなカメラとの画角を一致させるので違和感なく3Dオブジェクトを配置できます。
また、シーンの明るさを推定することで、暗い場所ではバーチャルのライト光量も落として3Dオブジェクトを暗く表示させるなど、あたかも物体が「そこにある」という高いリアリティを実現します。さらに、画面上のオブジェクトをタッチして動かしたり、位置をトラッキングしてカメラの動きに合わせてオブジェクトが追随することも可能です。ただし、現状ではできないこともあります。その1つは位置検出に用いられているのが画像解析のため「平面」しか認識できないこと。
「ARKitではテーブルや床のような地面と平行な平面しか認識できません。そのため、壁面に合わせてオブジェクトを表示させたり椅子のような複雑な形状のものにキャラクターを座らせたりといったことはまだ困難です」
だが、それを解決するためのテクノロジーはすでに登場しています。マイクロソフトのMRグラス「ホロレンズ(HoloLens)」では、赤外線を照射することでその場の空間形状を認識できるデプス(深度)センサを搭載しています。これにより、壁から3Dオブジェクトが出現するゲームなどを楽しむことが可能。ただし、高機能な専用デバイスのため価格が約30万円程度と高く、現状ではiOSデバイスほどの普及は見込めません。
HoloLensでお腹に赤ちゃん
HoloLensで、胎児の3Dデータを人体にホログラフィックで投影したところ。2次元画像ではわかりにくいのですが、レンズ越しに現実世界と重なって見えるので、部屋を歩いて回り込んでも“そこ”に実際にあるように見えます。
無論アップルもただ手をこまねいているわけではありません。勘のよい人ならすでにお気づきでしょうが、この3Dデプスセンサは11月3日発売のiPhone Xにも搭載されているのです。顔認識のフェイスID用のため前面カメラのみですが、次世代モデルで背面カメラ部分にも搭載されるようになれば、ホロレンズのようなリアルタイムの精度の高い空間認識が可能となるかもしれません。
「もし、それが実現すると精度の高いポイントクラウド(3次元の点座標情報)の取得ができるので、カメラを周囲に向けるだけで奥行きの情報を持ったジオメトリが生成できるようにもなるはずです」
ARKitの詳細情報
iOSの開発者向けページにARKitに関する情報が多数掲載されています。まだ実現できることが他社製品に比べて少ないのではという意見もありますが、圧倒的に多数のデバイスでOS標準でARをサポートしたことの意味のほうがはるかに重要です。
上流から下流までの情報設計
ARKitでARアプリの開発が容易になったとしても、それは3Dオブジェクトを出現させる位置指定がOS側の機能で楽に行えるようになったに過ぎず、実際の開発では3Dオブジェクトをどのように生成して、どう動かすかのほうに力点が置かれます。ですが、優れたAR/VR開発環境はもう整いつつあるといいます。
「3Dアプリやゲームアプリの開発は『ユニティ(Unity)』を使うのが一般的です。ARKitを使ったアプリもユニティのプラグインですぐに作成できます」
実際に谷口氏はユニティでCTスキャンの2Dデータを元に生成した3Dの肝臓のモデリングデータを机の上に表示するサンプルのARアプリをものの1時間程度で作成できたそう。また、動きを加えたAR動画もユニティとクアルコムのARライブラリ「ビューフォリア(Vuforia)」を組み合わせれば手軽に取り組めます。
開発環境が整った現在では、むしろ3Dデータを表示するデバイスの種類や特性を踏まえた情報設計こそが重要だといいます。
「VR/MR/ARはそれぞれ視聴するためのハードウェアや機能が異なりますが、これらを区別して考える必要はないと思います」
谷口氏はこれを1つの川の上流と中流、下流に例えて説明します。上流にあたるのが「HTC Vive」「Oculus」など頭に装着するタイプのVRヘッドセット。取り扱う情報量が多く応用可能性も高いのですが、開発に手間がかかりスタンドアローンデバイスのため利用シーンが限定的で価格も比較的高価です。一方、川の中流にあたるのがホロレンズのような現実空間に3Dオブジェクトを重ね合わせて表示するMRグラス、下流にあたるのが取り扱う情報の流れは緩やかですが全体では圧倒的な数を誇るiOSデバイスのARKitです。谷口氏は実際の手術でも使える医療用途のVRやホロレンズで使えるMRアプリの開発を中心に行っていますが、ARKitの影響力は大きく、その動向に注目していると語ります。
「アップルは上流域の開発環境はあまり顧客対象として考えておらず、AR/VR開発環境については他社の後手に回っている印象もありましたが、上流にGPUパワーが強力なiMacプロを投入し、下流域をARKitで抑えたことで川の流域全体を手に入れようとする本気度を感じます。現状は中流が空白なので、グラス型のデバイスなどがアップルから出てくることを期待したいですね」
UnityとARKitでアプリ開発
マルチプラットフォームでVR/AR開発にも対応しているゲームエンジンの「Unity」では、素材を販売する「Asset Store」でARKit用のプラグイン「Unity ARKit Plugin」がオープンソースで提供されています。これをUnityに読み込めば、チェックボックスを入れるだけでサンプルのARKit対応アプリが作成できます。
VR/MR/ARの情報設計
VR/MR/AR向けのハードウェアは「HTC Vive」「Oculus」などのVRヘッドセット、MicrosoftのMRゴーグル「HoloLens」やGoogle「Tango」、iOSのARKitと価格や情報量、普及度に違いがあり、それぞれ特性が大きく異なります。川の上流から中流、下流のように、それぞれに合わせて操作できるような情報設計が重要となるといいます。
カジュアル用途から変わる
ARKitの登場で川下流域から広がるARアプリですが、谷口氏はこれから数年で一気に環境が激変していくことを予想します。
「おそらくARはインスタグラムやフェイスブック、グーグルのストリートビューのような大多数のユーザにとって非常に身近なところから一気に普及すると思います。動画エフェクトアプリの『SNOW』のようにARコンテンツを女子が日常的に発信していく姿だってもうすぐ訪れるのではないかと思います」
現実空間をデジタル化しエンターテインメントと融合するARの世界を実現するための環境はすでに整ったといえるでしょう。
GoogleのAR Core
GoogleもAndroid端末向けのARプラットフォーム「AR Core」を発表しています。よく似ている部分もありますが、対応デバイスの数ではARKitには及びません。有力なスマートフォンの開発環境が相次いでAR対応したことで、身近な分野からAR/VR/MRが普及していくでしょう。
Xcodeでも作成可能
最新版のXcodeでは、ARアプリ作成用のプロジェクトが用意されています。サンプルアプリ程度であればすぐに作成可能。シミュレータには戦闘機のオブジェクトが表示されますが、カメラ機能を使うためARとしての挙動を確認するにはiOSデバイス実機での検証が必要です。