シェアードアンカー(Shared Anchor)
シェアードアンカーとは、周囲の人と AR 体験を共有したり、持続的な AR コンテンツを実現するための空間上のポイントです。共有体験に参加したいユーザーは、それぞれ同じ共有アンカーを見つける必要があります。
共有アンカーを見つけたユーザーは、他のユーザーとバーチャルオブジェクトを共有することができます。共有されたバーチャル・オブジェクトは、同じ物理的な場所にあらわれます。
この概念は、SDK が場所を認識しようとする自己位置推定のプロセス( 自己位置推定(Relocalization)のコンセプト 参照)で使用されます。
AR Cloud Tracking API では、シェアードアンカーは画像や地図に関連付けられています。各画像には 1 つのシェアードアンカーが含まれ、各マップには 1 つのシェアードアンカーが含まれます。いずれの場合も、シェアードアンカーは、自己位置推定処理後の座標系の原点を表します。
シェアードアンカーが見つかると、座標系の変更により、ローカル・アンカーに接続されていない既存のバーチャル・オブジェクトは、別の場所に「ジャンプ」したように見えることに注意してください。
画像ベース(Image-based)のシェアードアンカー
最もシンプルなシェアードアンカーは、紙に印刷されたポスターや写真のような画像です。
画像をシェアードアンカーとして使用するためには、データベースにあらかじめ画像を登録しておく必要があ李ます。シェアードアンカーは、画像の中央に自動的に作成され、自己位置推定が開始され、カメラで画像が配置されたときに使用されます。
画像をシェアードアンカーとして使用するための手順は以下の通りです。
アプリ作成時
- 1 つまたは複数の画像を含む画像データベースを作成する
- アプリの設定で、画像ベースのシェアードアンカーオプションを有効にする。
ランタイム時
- シェアードアンカーとして使用する画像を選択する(またはすべての画像をシェアードアンカーに設定する)。
- シェアードアンカーの再配置プロセスを開始し、画像を探す
ユーザーがデバイスを向けて画像を検出すると、システムは自動的に関連付けられたシェアードアンカーを使用して、コンテンツの共有を可能にします。
なお、シェアードアンカーとして使用される画像は、ゲーム中ずっと静止している必要があります。ユーザーが画像を検出した後に画像が動いてしまうと、ユーザーの座標系が非同期になってしまいます。
また、シェアードアンカーとして設定されていないデータベース内の画像は、通常の AR 画像としてバーチャルコンテンツに重ねて使用することができます。これらの画像は動かすことも可能です。
マップベースのシェアードアンカー
マップとは、Pretia 3D スキャナーアプリを使って事前にマッピングされたエリア(部屋や道路など)を表しています。
3D スキャナアプリは、そのエリアの情報を収集し、マップ内の特定の場所に共有アンカーを作成し、これらの情報をすべてサーバーに保存します。\ Pretia Tracking SDK で作成されたアプリケーションは、サーバーにリクエストして、特定のマップを使った共有アンカーの自己位置推定プロセスを開始することができます。
この自己位置推定プロセスでは、システムがエリアを認識するまで、ユーザーは自分のデバイスを周囲に向ける必要があります。この時点で、地図に関連付けられた共有アンカーが発見され、ユーザーはコンテンツの共有を開始することができます。
サーバー上のシェアードアンカーを探すしくみ
工事中
- 使用するマップに対応するキーを設定する
- 自己位置推定処理(共有アンカーの検索)を開始します。
- カメラで周囲を撮影すると、デバイスは定期的にサーバーにデータを送信し始めます。
- ある時点で、サーバーはデバイスのデータとマップを照合します。
- この時点でデバイスの座標系が更新され、コンテンツの共有が可能になります。
- その後も、デバイスは時々サーバーにデータを送信し、再認識の精度を高めていきます。