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