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