平台專屬指南
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
Unreal Engine
ARCore Geospatial API 可讓您在 Google 街景服務涵蓋的任何區域遠端附加內容,並在全球範圍內建立 AR 體驗。這項技術會使用裝置感應器和 GPS 資料偵測裝置環境,然後將環境中可辨識的部分與 Google 視覺定位系統 (VPS) 提供的本地化模型進行比對,判斷使用者裝置的精確位置。API 也會負責將使用者的本機座標與 VPS 的地理座標合併,讓您可以在單一座標系統中作業。
透過 VPS 進行全球本地化
Google 地圖的街景圖像是 VPS 的基礎,這些圖像已在全球各地拍攝超過 15 年。深層類神經網路會辨識並描述圖片中可能長期可辨識的部分,接著,系統會合併數百億張圖片中的這些部分,計算全球環境的 3D 點雲。這項本地化模型包含數兆個點,涵蓋幾乎所有國家/地區,未來還會擴大涵蓋範圍。
當使用者的裝置向 Geospatial API 發出要求時,神經網路會處理像素,找出使用者環境中可辨識的部分,並與 VPS 定位模型比對。電腦視覺演算法接著會計算裝置的位置和方向,提供比單獨使用 GPS 更準確的位置資訊。
使用 Geospatial API 放置錨點
放置錨點時,ARCore Cloud Anchor API 等其他 ARCore 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。