Google ARCore 新功能 !

ARCore Geospatial API 技術解說 & 作品介紹

Designium
The Designium Lab 科技實驗室
11 min readAug 26, 2022

--

緣起

2022 年 5 月 Google I/O 開發者大會上,AR 開發套件 ARCore 的更新中,宣佈新功能「ARCore Geospatial API」已可公開下載使用,讓開發者打造結合 AR 導引的 3D 街景應用更容易。

從 Geospatial API 釋出當天,The Designium 就開始對 Google 影像定位系統 (Visual Positioning System, VPS) 服務進行研發。在本文中將結合 Google 的官方說明與 The Designium 的實際開發經驗,向大家介紹 Geospatial API 的功能、使用方法、生活中實際應用上的可能性。

什麼是 ARCore Geospatial API ?

Geospatial API 是一個地理空間的應用程式介面,可以存取 Google 位於全球各地的地理空間資訊,並提供與 Live View 相同的 AR 街景導引功能,可以在 3D 實景地圖中,疊加 3D 虛擬模型、圖像、影片等數位媒材,來引導使用者從任一地點到達另一個指定地點的技術。

Google 從 2007 年 7 月推出街景服務,至今已歷經 15 週年,走遍 100 個國家地區、累積超過 1700 億張照片,行走距離覆蓋地表超過 1000 萬英里,足足可繞行地球超過 400 圈。

現在,運用 Google Earth 的 3D 模型資料和 Google Maps 的街景服務圖片資料, Google 完成從地理空間資訊及語義辨識 (Semantic Understanding) 上來理解的這世界的可能性,特別是藉由影像定位系統 (Visual Positioning System, VPS) 對手機相機鏡頭可以辨識的 3D 模型來提供定位分析,也就是 Geospatial API (地理空間 API) 。

Geospatial API 可透過對使用者周遭環境的地理空間進行視覺辨識,讓 Google Maps 原本的 GPS 導航功能更精準,更可進一步在 AR 世界中標示出現實環境應用情境所需的精確位置,在各應用領域皆具有無窮的開發潛力,讓遊戲更有趣、讓藝術更具互動性、讓世界成為你的畫布。

從 ARCore v1.31.0 到 ARCore v1.33.0 !

想要製作出基於位置資訊的 AR 應用服務有多種方式可以達成 :

  • 手機硬體配備定位 GPS+IMU

IMU 為結合陀螺儀、三軸加速度計、電子羅盤而成的慣性導航模組,適合用來開發戶外、以街道建築為目標的位置情報互動體驗,缺點是在城市區域定位容易產生飄移。因為 GPS 並非 100% 的精準,在穩定的訊號下,GPS 定位準確度大約在距離使用者實際位置 3 公尺範圍內;當 GPS 訊號下降則會導致實際位置和 GPS 接收器所記錄位置的誤差,即使針對電子羅盤進行校準,距離誤差也約為 5–10 公尺左右,方位誤差則約為 30–45 度左右。環境因素是阻擾 GPS 衛星訊號的主要原因之一。

  • 利用雲錨點 Cloud Anchor

雲錨點製作前期需親臨現場設置,記錄了場景空間特徵情報和虛擬數位內容所在位置情報,可以讓位於同一現實場景的多台設備多次進出同一個 AR 場景,同時多位使用者將虛擬數位內容放置在同一現實場景中,適合用於小規模的使用情境設計,在該錨點上進行多人 AR 互動體驗。

  • 使用地理空間 Geospatial API

Google 開發新的機器學習加速器,從高解析度 Google 街景影像計算出 3D 點雲環境,來比對手機相機看到的真實街景,精準定位出使用者所在位置,資料回傳可在一秒內完成。因此,此技術具有以上兩點的使用特性,可遠端以座標設置錨點,決定導引指向、AR 內容出現位置、方向和角度等,幾乎可在 Google 有街景的任何地方使用,進而帶來更沉浸的互動體驗。

由以上內容可知,「錨點 Anchors」對於基於位置資訊的 AR 應用來說有多重要。因此,Geospatial API 對錨點亦包含了幾項防呆設計,包含確保錨點正確地落在指定建築物的屋頂上、牆上等指定部位,且不會因任何因素發生飄移的狀況;以及即使虛擬數位內容無法正常顯示,也不會影響錨點位置的鎖定。

ARCore v1.33.0 更釋出 ARCore v1.31.0 時預告的 Geospatial Terrain Anchor API 「地形錨點」功能,可以選擇在與地形相關的指定水平位置和高度建立錨點,讓錨點在 AR 視覺上更準確地落在地面上。

在 Unity 使用 Geospatial API

使用 Unity 來製作 iOS 的 AR 專案為例,需要以下四步驟 :

  1. 使用無金鑰授權 ( 事先取得 token ) 或直接使用 API 金鑰授權來啟用 Geospatial API

2. 詢問使用者是否允許使用裝置的定位資訊

3. 從 Google Maps 或 Goolge Earth 找到想要建立的地理空間錨點座標值,可選擇使用地形錨點或相機的地理空間姿勢 CameraGeospatialPose 來判斷地點的錨點高度,取得錨點設置的所需資訊後,就可以宣告座標來完成地理空間錨點設置,並將 AR 內容固定在指定的地理座標上。

4. 取得裝置相機的地理空間姿勢 CameraGeospatialPose ,包含經緯度位置、高度、裝置所朝向的方位。

The Designium 作品介紹

透過以下 R&D 範例,讓大家了解更多 Geospatial API (地理空間 API ) 的相關應用。

[1] Google Maps x Geospatial API

Google Geospatial API 的最大特色之一就是人不用到現場,可以遠端設置錨點。將此特色再與 Google Maps 結合,直接在 Google Maps 上放置圖釘 📍 選擇錨點設置地點,就可將設置地點座標導入 Geospatial API 內宣告為錨點座標使用,一方面在製作上省去交互查詢輸入的動作,另一方面在互動體驗設計上可直接從 2D 地圖上確認現實世界場所情報,讓錨點設置操作更直覺 & 更簡便。

[2] Maps Direction API x Geospatial API

Geospatial API 的定位精準度也提高了 Google Maps 遊戲化的可能性,結合 Maps Direction API 的導航功能,讓系統沿著導航路線自動配置 AR 物件,可以邊玩遊戲邊抵達目的地 🎮 也特別能在地圖道路上用來顯示區域化特色,適於各年齡層操作,並能引起數位族群關注。

[3] Geospatial API in USJ

與範例 [2] 同樣的遊戲化導航機能,出發前以範例 [1] 的方式在 Google Maps 上放置圖釘設置目的地錨點,依據選擇的目的地特徵指定導航時放置在路上的 AR 內容,最後實際至日本環球影城 (USJ) 進行實測 🏰🎡🎢 在各區域特色劃分清楚的主題樂園內可以邊玩、邊排隊、邊奔波,讓 AR 好像也成為園區內的一種新遊樂設施體驗 ✨

[4] Anchor Tool for Geospatial API

遠端設置錨點有不用親臨現場的好處,但活動企劃中如有對現實環境中特定物件互動的情境設計,因應精細的需求規劃,錨點設置前最好還是到現場了解街道狀況。因此,研發了方便的錨點工具 🔧 用來管理現場錨點設置工作的進行。

抵達現場後開啟錨點工具,可以邊走邊設置錨點,並手動指定此錨點擺放的 AR 內容。在錨點設置工作進行中,也可隨時在「設置模式」與「遊戲模式」間切換現場即時進行除錯、修正,確認沒問題再切換回設置模式以鎖定錨點位置/類型等設定 📱

錨點工具不僅讓開發人員製作更便利,也有讓玩家自己創作遊戲關卡自己玩的感覺 🎮 過程中設置的錨點數據將即時上傳同步到雲端保存。

[5] Google Maps x Google Places API x Geospatial API

最後,再度玩轉 Google Maps 地圖 📍 添加 Google Places API 可針對地點類型進行搜尋,再自動設置錨點在搜尋結果的每個位置上,再自動顯示與錨點位置相關的情報資訊,如 : 名稱、地址、星級、相片、評價…等各式各樣網路資訊。不管是因生活需求而搜尋餐廳、便利商店,或出門在外搜尋旅遊中心、旅遊景點,可以透過實景 AR 經雙眼親自查看四周的搜尋結果與自己的距離、所在方向,實在是非常實用且便利 ! ✨(推薦從 0:45秒開始看!)

結語

以世界版圖的規格來創建和部署基於位置資訊的沉浸式 AR 體驗,可以從作品介紹中看到 AR 與 Google Maps 的緊密結合。Geospatial API 是一個因地圖的開發而誕生,具備可在地圖上開發 AR 內容、延伸地圖相關的互動應用、創造使用於地圖路線上實景環境的視覺元素…等功能的應用程式介面 (API)。

其他與企業合作的早期應用如透過 AR 進行租車與還車程序、導航並顯示停車位、體育場館的 AR 帶位服務…等,大大提升了數位生活應用上的使用者體驗 ( User Experience, UX ),創造出優質、流暢、有說服力的互動環境。

以上所有介紹的內容都是將地球變成畫布時可能發生的絕佳範例。現今,Geospatial API 已發展成熟且適用於所有支援 ARCore 的 Android 和 iOS 設備,未來 ARCore 也將不斷地持續進化。

覺得心動了嗎?The Designium 創建利用各種 VPS 服務的數位內容及 APP 應用程式,當然也包括利用 Geospatial API 的應用。對 AR(或使用 VPS 的 AR)感興趣的朋友們,隨時歡迎以下方式與我們聯繫,商討一同合作的可能性 😊

編輯後記

Geospatial API 發表至今才 3 個月,感嘆本公司工程師在短時間內完成各式各樣的案例測試 👏 就像大家生活已經脫離不了 Google Maps 一樣,相信在不久的未來, AR 結合地理空間定位的服務 (Geospatial、VPS) 也會成我們生活中的一部分📱✨ 研發中體驗到的美好經驗,在此推薦大家值得一試。

👩‍🎨 Mary 醬 : 「很期待看到當世界變成畫布時,會創造出什麼。」

👩‍💻 Mariko 醬 :「好想早點體驗戴上AR眼鏡逛街的生活!」

因為AR世界,現在我們每天的生活都很有趣 !

聯絡我們

--

--

Designium
The Designium Lab 科技實驗室

Award-winning XR Studio specializes in developing VPS experiences. 日本東京科技x設計公司。 基於「讓人們感到開心」的理念,開發結合新科技的數位內容體驗。包含「結合地方文化」、「提供技術服務」、「協助有趣的創作」等。 如需合作相談,請隨時與我們聯繫。