運用 ARCore Geospatial API 打造全球規模的沉浸式 AR 體驗

平台專屬指南

ARCore Geospatial API 可讓您從遠端將內容附加到 Google 街景服務所涵蓋的任何區域,以全球規模打造 AR 體驗。這項功能會使用裝置感應器和 GPS 資料偵測裝置環境,然後將該環境中可辨識的部分與 Google 視覺定位系統 (VPS) 提供的本地化模型進行比對,判斷使用者裝置的精確位置。此外,這個 API 也會將使用者的本機座標與 VPS 的地理座標合併,以便在單一座標系統中運作。

使用 VPS 全球本地化

VPS 是 Google 地圖的街景服務圖像 (拍攝至今已超過 15 年),也是 VPS 的基礎。深層類神經網路能識別並描述長時間可能辨識出的組成部分。接著,系統會將這些零件合併至數十億張圖像,以運算出全球環境的 3D 點雲。這個本地化模型包含數兆個點數,並涵蓋幾乎所有國家/地區,且日後將涵蓋所有國家/地區。

使用者的裝置向地理空間 API 發出要求時,類神經網路會處理像素,找出使用者環境中可辨識的部分,並將這些部分與 VPS 本地化模型進行比對。接著,電腦視覺演算法會計算裝置的位置和方向,提供的位置比單純使用 GPS 時更為準確。

使用 Geospatial API 放置錨點

放置錨點時,其他 ARCore API (例如 ARCore Cloud Anchor API) 也會使用圖片對應功能判斷裝置姿勢。不過,這些 API 建立的圖片地圖屬於本機,因為它們明確需要對應空間。

地理空間 API 可根據 WGS84 規格,為錨點的水平 (經緯度) 及垂直 (海拔高度) 位置提供。你可以利用地理空間錨點位置,在世界上幾乎任何地點以指定的緯度、經度和高度放置這個錨點,不必手動繪製空間。

地理空間錨點類型

地理空間錨點有三種類型,可用來將內容附加至實際位置。WGS84 錨點代表以特定經緯度和高度 (WGS84 橢球體) 表示的地點。地形錨點代表特定位置、經度,以及相對於地面或樓層的高度。 屋頂錨點代表特定替代區域、經度,以及相對於建築物頂端的高度。 詳情請參閱開發人員指南

使用 Geospatial API 進行開發的應用案例

以下是在專案中使用 Geospatial API 的方式。

引導使用者前往特定地區

GPS 很適合用於打造以位置資訊為基礎的體驗,但如果你需要打造精確且精準的 AR 體驗,便可以關閉精確度。有了地理空間 API,您不必擔心虛擬物品在跳動。您可以明確地在地圖上附加內容,透過可靠的方式進行本地化,讓使用者在人口稠密的都會區找到自己的汽車,或是在人潮眾多的地方找路。

建立適地性 AR 體驗

您可以利用地理空間 API 打造引人入勝的使用者體驗,提升實用性和樂趣,不必製作及維護多個地點的地圖。盡可能讓使用者沉浸在虛擬世界中。

遊戲內容與自我表達

有了 Geospatial API,使用者即可將地球變成創意十足的畫布。舉例來說,Balloon Pop 可讓使用者將氣球放置為現實世界中的目標,並嘗試使用支援物理性的球,在世界空間中隨距離做出反應。「鄰近使用者」只需要經過簡單的 Firebase 導入作業,即可加入體驗並彈出相同的氣球。透過 Pocket Garden,使用者只要有色彩繽紛的 AR 社群花園,就能準確地在真實世界中大量放置種子、種植藤蔓、泡綿多肉植物等。氣球流行樂和 Pocket Garden 皆採用開放原始碼,你可以盡情發揮創意。

裝置相容性

少數支援 ARCore 的裝置不支援 Geospatial API。如需這些裝置的相關資訊,請參閱支援 ARCore 的裝置頁面

後續步驟