為指定 Android 的 Unity (AR Foundation) 應用程式啟用地理空間 API

調整應用程式的設定,讓應用程式使用 Geospatial API

必要條件

請務必瞭解基本 AR 概念 以及如何在繼續操作前設定 ARCore 工作階段

詳情請參閱 詳情請參閱「Geospatial API 簡介」一文 Geospatial API 的相關資訊。

如果您是第一次使用 ARCore 進行開發,請參閱入門指南 瞭解軟體和硬體需求、先決條件及 您使用的平台專屬其他資訊

如要使用 ARCore Geospatial API,您的專案必須支援 AR 基礎AR Foundation 適用的 ARCore 擴充功能

啟用 ARCore API

在應用程式中使用視覺定位系統 (VPS) 之前,您必須先 啟用 ARCore API 建立新的叢集或開啟現有 Google Cloud 專案這項服務負責 託管、儲存及解決地理空間錨點。

偏好無金鑰授權,但也支援 API 金鑰授權。

將必要的程式庫新增至應用程式

授權應用程式呼叫 ARCore API 後,您必須將程式庫新增至 在應用程式中啟用地理空間功能。

  1. 前往「編輯」>「Project Settings」>XR 外掛程式管理 >ARCore 擴充功能
  2. 在「選用功能」下方,選取「地理空間」

在工作階段設定中啟用地理空間功能

在應用程式中啟用地理空間功能後,請在應用程式的 AR 工作階段設定中啟用地理空間功能,以便與 ARCore API 通訊:

  1. 確認專案 Assets 資料夾中包含 ARCoreExtensionsConfig 指令碼物件。如要建立資產,請在「Assets」窗格中按一下滑鼠右鍵,然後依序選取「Create」>XR >ARCore 擴充功能設定
  2. 在「Assets」ARCoreExtensionsConfig資料夾中選取「ARCoreExtensionsConfig」ARCoreExtensionsConfig可編寫指令碼的物件,然後將「Geospatial Mode」設為「Enabled」ARCoreExtensionsConfigARCoreExtensionsConfig

  3. ARCore Extensions 遊戲物件設為使用 ARCoreExtensionsConfig 設定。在「Hierarchy」窗格中,找出您一開始設定 ARCore 擴充功能時建立的 ARCore Extensions 遊戲物件,然後將「ARCore Extensions Config」欄位連結至「Assets」資料夾中可編寫指令碼的物件。

提示使用者允許使用裝置資料

如果應用程式使用 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 可能足以產生高精確度的姿勢。

後續步驟