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

平台專屬指南

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 支援的裝置頁面中。

後續步驟