平台專屬指南
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
Unreal Engine
ARCore Geospatial API 可讓您遠端附加內容至 Google 街景服務涵蓋的任何區域,並在全球範圍內創造 AR 體驗。這項功能會使用裝置感應器和 GPS 資料偵測裝置環境,然後將該環境中可辨識的部分比對 Google 視覺定位系統 (VPS) 提供的位置資訊模型,以便判斷使用者裝置的精確位置。這個 API 也會將使用者的本機座標與 VPS 中的地理座標合併,讓您在單一座標系統中運作。
透過 VPS 進行全球本地化
VPS 的基礎來自 Google 地圖街景服務,我們已在全球各地拍攝街景圖像超過 15 年。深度神經網路會找出並描述圖片中可能在長時間內辨識到的部分。接著,系統會將這些部分與數十億張圖像合併,以便計算全球環境的 3D 點雲。這個本地化模型包含數兆個點,幾乎涵蓋所有國家/地區,並會在日後擴大涵蓋範圍。
當使用者的裝置向 Geospatial API 提出要求時,神經網路會處理像素,找出使用者環境中可辨識的部分,並與 VPS 定位模型比對。電腦視覺演算法會計算裝置的位置和方向,提供比單獨使用 GPS 更精確的定位資訊。
使用 Geospatial API 放置錨點
放置錨點時,其他 ARCore API (例如 ARCore Cloud Anchor API) 也會使用圖像對應來判斷裝置的姿勢。不過,這些 API 建立的圖像對應圖為本機對應圖,因為它們需要明確對應空間。
Geospatial API 會根據 WGS84 規格,提供錨點的水平 (經緯度) 和垂直 (高度) 位置。您可以將地理空間錨點放在世界各地的任一位置,並指定特定緯度、經度和海拔高度,而無需手動繪製空間地圖。
地理空間錨點類型
有三種地理空間錨點可用來將內容附加至實際位置。WGS84 錨點代表相對於 WGS84 橢圓體的特定緯度、經度和高度位置。地形錨點代表特定經緯度位置,以及相對於地面或樓層的高度。屋頂錨點代表特定高度、經度和相對於建築物頂端的高度。如要進一步瞭解這些功能,請參閱開發人員指南。
使用 Geospatial API 開發的用途
以下列舉幾種在專案中使用 Geospatial API 的方法。
引導使用者前往特定地點
GPS 非常適合用於建構位置相關體驗,但如果您需要建構精確且精確的 AR 體驗,GPS 的準確度可能會偏差。有了 Geospatial API,您就不必擔心虛擬物件會跳來跳去。您可以明確地在地圖上標示景點,以便附加內容並進行可靠的本地化,讓使用者在擁擠的都會區找到自己的車輛,或在人潮擁擠的地區找到路線。
建立以位置為基礎的 AR 體驗
您可以使用 Geospatial API 打造引人入勝的使用者體驗,提供實用且令人滿意的功能,而無需建立及維護多個地點的地圖。讓使用者沉浸在虛擬世界中,盡情發揮創意。
遊戲和自我表達
使用者可以透過 Geospatial API,將地球轉換成創意繪圖的畫布。舉例來說,Balloon Pop 可讓使用者在現實世界中放置氣球做為目標,並嘗試使用可在世界空間中對距離做出反應的物理球,試圖讓氣球爆破。附近的使用者可以透過簡單的 Firebase 實作方式加入體驗,並且彈出相同的氣球。有了 Pocket Garden,使用者就能在住家附近打造繽紛的 AR 社區花園,在真實世界中精準放置種子、種植藤蔓和多肉植物等。Balloon Pop 和 Pocket Garden 都是開放原始碼,您可以利用這兩款遊戲發揮創意。
裝置相容性
少數 ARCore 支援裝置不支援 Geospatial API。這些裝置會列在 ARCore 支援的裝置頁面中。
後續步驟
- 觀看I/O 大會的 VPS 和 ARCore Geospatial API 講座,進一步瞭解 Geospatial API 及其功能。
- 探索 Balloon Pop 和 Pocket Garden,這兩個開源範例應用程式都使用了 Geospatial API。