調整應用程式的設定,讓應用程式使用 Geospatial API。
必要條件
請務必先瞭解基本 AR 概念,以及如何設定 ARCore 工作階段,再繼續操作。
如要進一步瞭解 Geospatial API,請參閱 Geospatial API 簡介。
如果您是 ARCore 開發新手,請參閱「開發入門」一文,瞭解軟體和硬體需求、前置條件,以及其他特定平台的相關資訊。
如要使用 ARCore Geospatial API,您的專案必須支援 AR Foundation 和 ARCore 擴充功能。
啟用 ARCore API
在應用程式中使用視覺定位系統 (VPS) 前,您必須先在新的或現有 Google Cloud 專案中啟用 ARCore API。這項服務負責代管、儲存及解析地理空間錨點。
建議使用無金鑰授權,但也支援 API 金鑰授權。
將必要的程式庫新增至應用程式
授權應用程式呼叫 ARCore API 後,您必須新增程式庫,才能在應用程式中啟用地理空間功能。
- 依序前往「Edit」 >「Project Settings」 >「XR Plug-in Management」 >「ARCore Extensions」。
- 在「選用功能」下方,選取「地理空間」。
在工作階段設定中啟用地理空間功能
在應用程式中啟用 Geospatial 功能後,請在應用程式的 AR 工作階段設定中啟用 Geospatial 功能,以便與 ARCore API 通訊:
- 請確認專案的 Assets 資料夾包含可編寫指令碼的 ARCoreExtensionsConfig 物件。如要建立這類範本,請在「Assets」窗格中按一下滑鼠右鍵,然後依序選取「Create」>「XR」>「ARCore Extensions Config」。
在「Assets」資料夾中選取「ARCoreExtensionsConfig」可編碼物件,然後將「Geospatial Mode」設為「Enabled」。
設定 ARCore Extensions 遊戲物件,以便使用 ARCoreExtensionsConfig 設定。在「層級」窗格中,找出您在初始設定 ARCore 擴充功能時建立的「ARCore Extensions」遊戲物件,然後將「ARCore Extensions Config」欄位連結至「Assets」資料夾中的「ARCoreExtensionsConfig」可編寫指令碼的物件。
提示使用者允許使用裝置資料
使用 ARCore Geospatial API 的應用程式必須向使用者顯示提示,讓使用者確認並允許使用裝置資料。詳情請參閱「使用者隱私權規定」。
檢查裝置相容性
並非所有支援 ARCore 的裝置都支援 Geospatial API。如要檢查使用者的裝置相容性,請呼叫 AREarthManager.IsGeospatialModeSupported()
。如果傳回 FeatureSupported.Unsupported
,請勿嘗試設定工作階段。
在執行階段要求使用者授予位置存取權
在 ARCoreExtensions.Update()
中啟用地理空間模式時,ARCore 擴充功能會自動要求適當的位置資訊權限。如果使用者未授予精確位置權限,工作階段將無法繼續,並產生「未授予權限」錯誤。這是終止錯誤,需要重新啟動才能再次觸發權限要求。
查看裝置目前位置的 Geospatial 供應情形
由於 Geospatial API 會結合 VPS 和 GPS 來判斷地理空間姿勢,因此只要裝置能夠判斷自身位置,即可使用此 API。在 GPS 精確度較低的區域 (例如室內空間和擁擠的都會環境),API 會依靠 VPS 涵蓋範圍產生高精確度姿勢。在一般情況下,VPS 可提供的位置準確度約為 5 公尺,旋轉準確率為 5 度。使用 AREarthManager.CheckVpsAvailability()
判斷特定地區是否具有 VPS 涵蓋範圍。
地理空間 API 也適用於未涵蓋 VPS 的區域。在幾乎沒有或完全沒有障礙物的戶外環境中,GPS 可能足以產生高精確度的姿勢。
後續步驟
- 取得裝置相機的地理空間姿勢,判斷使用者裝置在真實世界中的確切位置。
- 查看裝置所在位置是否有 VPS。