Android をターゲットとする Unity(AR Foundation)アプリで Geospatial API を有効にする

Geospatial API を使用できるようにアプリの設定を構成します。

前提条件

続行する前に、AR の基本コンセプトARCore セッションを構成する方法を理解してください。

Geospatial API の詳細については、Geospatial API の概要をご覧ください。

ARCore を使った開発を初めて行う場合は、スタートガイドで、ソフトウェアとハードウェアの要件、前提条件、使用しているプラットフォームに固有の情報を確認してください。

ARCore Geospatial API を使用するには、プロジェクトが AR FoundationAR Foundation 用の ARCore Extensions をサポートしている必要があります。

ARCore API を有効にする

アプリで Visual Positioning System(VPS)を使用する前に、新しい Google Cloud プロジェクトまたは既存の Google Cloud プロジェクトで ARCore API を有効にする必要があります。このサービスは、地理空間アンカーのホスト、保存、解決を行います。

キーレス認証が推奨されますが、API キー認証もサポートされています。

必要なライブラリをアプリに追加する

ARCore API を呼び出すようにアプリを承認したら、ライブラリを追加してアプリで地理空間機能を有効にする必要があります。

  1. [Edit] > [Project Settings] > [XR Plug-In Management] > [ARCore Extensions] に移動します。
  2. [オプション機能] で [Geospatial] を選択します。

セッション構成で地理空間機能を有効にする

アプリで地理空間機能を有効にしたら、アプリの AR セッション構成で地理空間機能を有効にして、ARCore API と通信できるようにします。

  1. プロジェクトの Assets フォルダに ARCoreExtensionsConfig スクリプト可能オブジェクトが含まれていることを確認します。作成するには、[アセット] ペインで右クリックし、[作成] > [XR] > [ARCore Extensions Config] を選択します。
  2. Assets フォルダで ARCoreExtensionsConfig スクリプト可能オブジェクトを選択し、[Geospatial Mode] を [Enabled] に設定します。

  3. ARCoreExtensionsConfig 構成を使用するように、ARCore Extensions ゲーム オブジェクトを設定します。[Hierarchy] ペインで、ARCore Extensions の初期設定時に作成した ARCore Extensions ゲーム オブジェクトを見つけ、[ARCore Extensions Config] フィールドを Assets フォルダの ARCoreExtensionsConfig スクリプト可能オブジェクトに接続します。

デバイスデータの使用を許可するようユーザーに求める

ARCore Geospatial API を使用するアプリは、デバイスのデータの使用を承認して許可するプロンプトをユーザーに表示する必要があります。詳しくは、ユーザーのプライバシー要件をご覧ください。

デバイスの互換性を確認する

ARCore をサポートするすべてのデバイスが Geospatial API をサポートしているわけではありません。ユーザーのデバイスの互換性を確認するには、AREarthManager.IsGeospatialModeSupported() を呼び出します。FeatureSupported.Unsupported が返された場合は、セッションの構成を試行しないでください。

実行時に位置情報の利用許可をユーザーに求める

ARCore Extensions は、ARCoreExtensions.Update() でジオ空間モードが有効になっていると、適切な位置情報の権限を自動的にリクエストします。ユーザーが正確な位置情報の権限を付与しなかった場合、セッションは再開されず、「権限が付与されていません」というエラーが発生します。これは終了エラーであり、再起動して権限リクエストを再度トリガーする必要があります。

デバイスの現在地でジオスペースの提供状況を確認する

Geospatial API は VPS と GPS を組み合わせてジオ空間ポーズを決定するため、デバイスが位置情報を特定できる限り、この API を使用できます。屋内空間や人口密集地など、GPS の精度が低い地域では、API は VPS のカバレッジに依存して高精度の姿勢を生成します。一般的な条件下で、VPS の位置精度は約 5 メートル、回転精度は 5 度であると期待できます。AREarthManager.CheckVpsAvailability() を使用すると、特定のビジネスが VPS の対象かどうかを判断できます。

Geospatial API は、VPS がカバーしていない地域でも使用できます。屋外で上部に遮蔽物がほとんどない環境では、GPS だけでも高い精度でポーズを生成できる場合があります。

次のステップ