はじめに
近年メタバースを筆頭にXR(VR/AR/MR)技術が注目を集めています。その中でもAR領域が目覚ましい発展を遂げています。本記事では、XRの基礎知識から、代表的なAR開発ツールを例にXR最新技術動向について紹介します。
XR(VR, AR, MR)とは
XRとはVR, AR, MRの総称であり、またMRとはVR, AR両方の要素を兼ね備えています。
VR(Virtual Reality, 仮想現実)とはグラス型デバイスやスマートフォンなどを通し3Dで構成された仮想空間に入り、あたかもその空間に自身がいるような体験ができる技術です。 AR(Augmented Reality, 拡張現実)とは現実空間に3D情報を付加する技術です。
MR(Mixed Reality, 複合現実)は、現実空間に3D情報を映し出し、かつその情報が本当に現実空間に存在するように扱う事ができる技術です。例えば、MR技術を使用し特定位置に3Dモデルを配置した際、立ち位置を変えると様々な角度から3Dモデルを視認する事ができる、また3Dモデルに手で触れて位置を動かす操作が可能です。3Dモデルに触れる際は図2に示すハンドトラッキングという技術を用いており※1、仮想手を用い3D情報を実際に手で触るように扱う事が可能です。2023年度のWWDC※2にて発表されたApple社のVision Pro※3もハンドトラッキングを利用できます。
※1:図中のハンドトラッキングは、Hololens2で実施したもの(https://www.microsoft.com/ja-jp/hololens/hardware)
※2:WWDC(Worldwide Developers Conference)とはApple社が開催している開発者向けのイベントである
※3:https://www.apple.com/jp/newsroom/2023/06/introducing-apple-vision-pro/
XR領域のSDK, API紹介
近年、XRに特化したSDK, APIの技術発展が目覚ましく、従来は実装が難しかったVPS(Visual Positioning System)などのXR機能を容易に構築する事が可能になりつつあります。
VPSとは、スマートフォンのカメラで現在位置の風景を撮影した際、今撮影者がどこにおり、かつどの方角を向いているのかを検出する技術です。この機能により任意の地点にARコンテンツを配置できます。例えば東京駅に行き、駅をスマートフォンのカメラで映すと事前に東京駅に登録した3Dオブジェクトを表示させる事ができます。
以降に、表1に示す2つのXRツールについて、共通して利用できる屋外でのVPS機能について着目し比較を実施しました。
Niantic Lightship ARDK
Niantic Lightship ARDKとは、ARアプリ開発に使用できるARDK※です。主な機能として「VPS」、「ARコンテンツ共有」等があります。 本ARDKのVPSの特徴として、ポケモンGOを通じてユーザーから提供されたデータを利用しており、30000以上のロケーションを特定できる点があげられます。また提供されていないロケーションについても、任意の場所を撮影する事で新規にロケーションを登録できます。 ARコンテンツ共有とは、設置したARオブジェクトを複数人で同時に見る事ができる技術です。
図3は経路案内アプリのキャプチャ図です。GPSを用い図の通りゴール地点の方向を示す矢印を表示し、ゴール地点の検出はVPSを用いました。屋内、屋外ともに本ARDKのVPSによりゴール地点の検出ができました。
以上より、本ARDKは没入感の高いARコンテンツの開発に適しています。本ARDKにより、任意の地点にARコンテンツを表示する事や、複数ユーザーでのARコンテンツの共有ができる事を紹介しました。これらの機能により、例えば任意の地点にARオブジェクトで作られたキャンバスを表示させ、複数ユーザーで同時に絵を描くなどといった、場所とユーザー同士の相互作用がある没入感の高いARを比較的簡単に実装できます。
※ARDK:Augmented Reality Developer Kitの略称。ARアプリ開発に使用できるプログラムやAPIをパッケージ化したもの。
Geospatial API
Geospatial APIとは、「VPS」と「Anchorの配置」が可能なAPIです。 本APIにおけるVPSの特徴として、Googleストリートビュー画像を検出に使用しており、Googleストリートビューに登録されている地点は精度よく検出できるという点があげられます。一方、登録されていない屋外地点はVPSが利用できず位置検出ができません。
Anchor配置について、Google Mapsの緯度経度及び高度情報を利用し、任意の地点にARオブジェクトを配置できます。これによりARオブジェクト配置の際に、緯度経度のみならず任意の高さを設定できます。
次に、本APIのVPSとAnchor配置機能を用い屋外用の経路案内アプリを実装し、「目的地の登録及び検出検証」と「Anchor配置の高度精度の検証」を実施しました。
図4は経路案内途中及びゴール地点のキャプチャ図です。左図の矢印については、緯度経度を指定し配置しました。右図の星型オブジェクトについては、事前に撮影した目的値の画像をアプリに登録しておき、当該画像がVPS機能により検出された場合に表示をしました。このように、屋外の利用において本APIにて経路案内が実現できます。
図5はAnchor配置機能の高さ精度を検証したキャプチャ図です。地面からの高さが0m, 1m, 2mの地点それぞれに白い箱型のオブジェクトを配置しました。実際にオブジェクトを配置した場所に到着すると、高さ方向にて大きな位置ずれがなく表示されました。 以上の結果からGeospatial APIを用いることにより、Googleストリートビューに登録されている地点であれば、緯度経度及び高さ方向を加えたARコンテンツの配置が可能になります。利用者の身長を加味したアプリケーションや、特定の建造物の特定の高さにARコンテンツを配置するなど、より精度が求められるコンテンツの開発に活用できます。
さいごに
本記事を通し、XRアプリを構築できるSDK, APIについて紹介しました。各SDK, APIは表2の通り特徴が異なるため、用途に応じて使い分ける事が必要です。また近年のXRツールは劇的な進歩を遂げているため、今後更に容易に実装できる機能が増え、ユーザーにXRのアプリケーションを届けやすい環境になる事が予見されます。これにより、ユーザーにとってXRがスマートフォンのような身近な存在になる事が期待されます。
[PR]提供:NTTデータ