調整應用程式的設定,讓應用程式使用 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 後,您必須將程式庫新增至 在應用程式中啟用地理空間功能。
- 前往「編輯」>「Project Settings」>XR 外掛程式管理 >ARCore 擴充功能。
- 在「選用功能」下方,選取「地理空間」。
在工作階段設定中啟用地理空間功能
在應用程式中啟用地理空間功能後,請在應用程式的 AR 工作階段設定中啟用地理空間功能,以便與 ARCore API 通訊:
- 確認專案 Assets 資料夾中包含 ARCoreExtensionsConfig 指令碼物件。如要建立資產,請在「Assets」窗格中按一下滑鼠右鍵,然後依序選取「Create」>XR >ARCore 擴充功能設定。
在「Assets」ARCoreExtensionsConfig資料夾中選取「ARCoreExtensionsConfig」ARCoreExtensionsConfig可編寫指令碼的物件,然後將「Geospatial Mode」設為「Enabled」ARCoreExtensionsConfigARCoreExtensionsConfig。
將 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 可能足以產生高精確度的姿勢。
後續步驟
- 取得裝置攝影機的地理空間姿勢,藉此判斷使用者裝置的實際位置。
- 查看裝置特定位置的 VPS 可用性。