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

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

前提条件

AR の基礎的なコンセプトを理解しておいてください。 と ARCore セッションを構成する方法を確認してください。

詳しくは、 Geospatial API の概要 Geospatial API に関する情報です

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

ARCore Geospatial API を使用するには、プロジェクトで AR 基盤 ARCore Extensions for AR Foundation をご覧ください。

ARCore API を有効にする

アプリでビジュアル ポジショニング システム(VPS)を使用する前に、 ARCore API を有効にします Google Cloud プロジェクトで管理されます。このサービスは 地理空間アンカーのホスティング、保存、解決です。

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

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

アプリでの ARCore API の呼び出しを承認したら、次にライブラリを アプリで地理空間機能を有効にします。

  1. [編集] >プロジェクト設定 >XR プラグイン管理 >ARCore 拡張機能
  2. [Optional Features] で [Geospatial] を選択します。

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

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

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

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

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

ARCore Geospatial API を使用するアプリは、ユーザーに以下のプロンプトを表示する必要があります。 ユーザーのデバイスのデータの使用を認め、許可します。詳しくは、 ユーザーのプライバシー要件 情報です。

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

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

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

ARCore 拡張機能が適切な位置情報の利用許可を自動的にリクエストする ARCoreExtensions.Update() で地理空間モードが有効になっている場合。ユーザーが 正確な位置情報の利用許可が付与されていないため、セッションの再開に失敗し、 「アクセスが許可されていません」エラーが発生します。これは終了です エラーが発生し、権限リクエストを再度トリガーするには再起動が必要です。

デバイスの現在地での地理空間の利用状況を確認する

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

Geospatial API は、VPS がカバーされていない地域でも使用できます。オーバーヘッドの障害物がほとんどない、またはまったくない屋外環境では、GPS で高精度のポーズを生成できます。

次のステップ