本文へスキップ

lightship_vps


title: ビジュアル・ポジショニング・システム(VPS)


'/static/video/ardk/vps_demo.mp4' から vps_demo をインポートする

Lightship VPS

Lightshipのビジュアル・ポジショニング・システム(VPS)を使えば、ユーザーの位置と向きをセンチメートル単位の精度で、しかも数秒で特定することができます。 Lightship VPSを使えば、現実世界とデジタル世界をつなぐロケーションベースのAR体験を作ることができます。 コンテンツをこれらの場所に固定することで、ARセッションを継続することができます。 VPSは、拡張現実をこれらの場所に関わるコミュニティにより関連性のあるものにし、ユーザーに自分の周りの世界を探索する新たな理由を与えます。

備考

これはパブリックベータ機能であり、機能は将来のリリースで変更される可能性があります。 パブリックベータなどの ARDK 機能のローンチタイプの詳細については、 Lightshipのローンチタイプを参照してください。

VPSとは?

Nianticのビジュアル・ポジショニング・システム(VPS)はクラウドベースのシステムで、デバイスがLightshipのマップに対してどの位置にいるかを知ることができる。 マップに対するデバイスの6DoFのポーズを決定することで、現実世界と位置関係を保ったまま、永続的な仮想オブジェクトを配置することができる。

VPS Map

Lightship VPSマップは、ユーザーによって投稿されたスキャンを使用して作成され、スキャンに含まれる場所のカバー率によって構成されています。 ロケーションに十分な数のスキャンが提出されると、そのロケーションは「VPS-Activated(VPSが有効)」になります。 VPS-Activated Locations(VPSが有効なロケーション)の作成方法の詳細については、 パブリックロケーションを作成する を参照してください。

エリアのスキャンが十分に収集されると、そのデータが処理されてエリアのマップが作成されます。 マップ上の接続されたノードがスペースを形成し、そのスペースがVPSが有効な各ロケーションを構成します。 VPSが有効なロケーションの中で最も品質が高いスペースは、そのロケーションのデフォルトスペースとして保存され、それぞれのデフォルトスペースにはデフォルトアンカーが関連付けられます。 VPS Coverage APIには、 LocalizationTarget の一部としてデフォルトアンカーが含まれています。 また、 Geospatial Browser からダウンロードしたロケーションには、 ARLocation としてUnityにロードできるデフォルトアンカーがメッシュのzipファイル内に含まれています。

Anchors

各アンカーは、現実世界における安定した位置と向きを表します。 アンカーはペイロードとして保存でき、セッションをまたいで解決することで持続的な仮想オブジェクトを作成できます。 アンカーの最も高度な抽象レイヤーが ARLocation です。 UnityでARLocationsを使用する方法については、 ロケーションARを使用してコンテンツを現実世界に配置する を参照してください。

ローカライゼーションプロセス

ローカライゼーションは、アンカーの位置と向きをデバイスのローカルトラッキング座標系で解決するプロセスです。 ローカライゼーションを行うには、ユーザーがデバイスをアンカーに関連付けられた現実世界の場所に向ける必要があります。 Lightshipは、カメラフレームをクラウドに送信し、一致するものを探します。 (ユーザーが問題に直面している場合は、 VPS Coverage API を通じてヒント画像を追加し、参照してもらうことができます。)

デバイスのローカルトラッキングは完全に正確ではないため、ローカライズ後にアンカー位置がずれることがあります。 Lightshipは、この問題に対処するため、さまざまなテクニックを用いて正しいアンカー位置を再計算する Location Drift Mitigation 機能を提供しています。

ローカライゼーションの品質に影響を与える要因は他にもあります。 移動速度が速すぎる、暗闇や霧、カメラレンズの汚れ、インターネット接続の不備などはいずれも、ローカライゼーションの速度や品質に影響を与える可能性があります。 ローカルトラッキングに失敗したり、突然別の場所に飛んでしまう場合、アンカーは「Untracked」状態となり、ユーザーは再度ローカライズする必要があります。

トラブルシューティング

ローカライゼーションに失敗する場合は、以下の手順をお試しください。

  1. インターネット接続の状態と位置情報へのアクセスが許可されていることを確認してください。 ローカライゼーションを使用するには、位置情報へのアクセスが必要です。
  2. ARLocation が現実世界の正しい位置に対応していること、またデバイスがヒント画像を指していることを確認してください。
  3. 夜間にローカライゼーションを行う場合は、明るい日中に再度試してください。
  4. ローカル設定の問題を排除するために、別のデバイスで試してください。

上記の方法を試しても解決できない場合は、 プレイバックのデータセット を作成し、 Unityにセットアップ してコンテンツをテストしてください。

このコンテンツやLightshipのその他のコンテンツについて、さらにサポートが必要な場合は こちら までお問い合わせください。

VPSを使用してロケーションAR体験を作成する

VPSを使って以下のことができます:

  1. Geospatial Browserから1つまたは少数のパブリック・ロケーションを使用して、Unity内の3Dメッシュに対してコンテンツをオーサリングします。
  2. 実行時に、エンドユーザーが任意のパブリック・ロケーションに対して相対的にコンテンツを配置できるようにします。
  3. プロトタイピングのためのテストスキャンを作成し、使用します。

Shared ARのVPSコロカライゼーションにより、複数のユーザーが簡単に同じセッションに参加し、パブリック・ロケーション内でプレイすることができます。

VPSの使用例として、ジオキャッシングARゲームがあります。 プレイヤーは近くのパブリック・ロケーションで自分のデバイスをローカライズできます。 あなたは、他のプレーヤーが見つけることができるように、その場所に仮想オブジェクトを作成し、「隠す」ことができます。

ロケーションARは現在、以下の機能を提供しています:

  • パブリック・ロケーション は、VPS-Activated でアプリが関与できる、ユニークまたは注目すべき、一般にアクセス可能な実世界の場所です。
  • VPS Coverage API では、VPS が有効なパブリック・ロケーションを発見できます。
    • VPS Coverage Areas は、ユーザーがVPSでローカライズできる地理的な地域で、ユーザーがローカライズできるパブリック・ロケーションの周辺地域を示しています。
    • VPS Localization Targets は、ユーザーがローカリゼーションのためにデバイスで追跡できるパブリック・ロケーションの実世界の画像です。
  • Geospatial Browser (Beta) では、世界中のパブリック・ロケーションを検索、指名、見つけることができる。 プロジェクトに使用したい場所を選択し、関連する3Dメッシュアセットをダウンロードできます。
  • テストスキャン 、Niantic Wayfarerアプリを使用してテストするための周辺地域のVPSロケーションです。
  • AR Location Manager 、パブリック・ロケーションにコンテンツを簡単に永続化できます。 Geospatial BrowserからメッシュをダウンロードしてUnityにインポートし、AR Location ManagerでAR Locationを追加できます。 そうすれば、コンテンツを3Dメッシュにドラッグ・アンド・ドロップして、後でその場所から見つけることができる。

VPS対応したAR体験の開発を支援するために、以下を提供しています:

  • Niantic Wayfarer App Lightship VPSのカバレッジを向上させるため、パブリック・ロケーションでスキャンを取り込み、送信することができます。 また、アプリを使用して、迅速なテストと開発のためにプライベートVPSロケーションを作成することもできます。 最後に、Wayfarerアプリは、パブリック・ロケーションとプライベートVPSロケーションでのローカリゼーションのテストに使用できます。
  • lightship.dev の VPS 開発者ポータルでは、パブリック・ロケーションを視覚化し、プライベート VPS ロケーションを管理できます。

Lightship VPS APIは、VPSバックエンドにリクエストを行います。VPSバックエンドは、リクエストを行うために、ユーザーの位置情報や、アプリを使用しているユーザーに固有のIDなどのユーザー情報を受け取る必要があります。 これを容易にするために、ARDKはLightship VPSリクエストで自動的に使用されるUser IDデータ要素を提供します。 このユーザーIDは、プライベートなユーザーデータとみなされ、アプリは、 ARDKおよびデータプライバシーで説明されているように、プライベートなユーザーデータを取り扱うためのプライバシーポリシーとガイダンスを提供する必要があります。

次のステップ