google 雲錨工具介紹
使用雲錨點建立 Android 和 iOS 使用者可以共享的多人或協作型 AR 體驗。
雲錨點工作原理

圖片.png
藉助雲錨點,您可以讓同一環境中的多臺裝置使用 ARKit 和/或 ARCore 錨點。
同一環境中的使用者可以將雲錨點新增到他們在自己的裝置上看到的 AR 場景中。
您的應用可以渲染連線到雲錨點的 3D 物件,從而讓使用者能夠檢視物件並同步與物件進行互動。
為了實現這些共享的 AR 體驗,ARCore SDK 使用 Google 伺服器 託管 和 解析 錨點。
託管錨點
託管錨點會在給定物理空間的公用座標系中對映錨點。
在您託管錨點時,ARCore 會將相關可視對映資料從使用者的環境傳送到 Google 伺服器。 上傳後,此資料會被處理成稀疏的點圖,類似於 ARCore 點雲。
解析錨點
解析錨點可以讓給定物理空間中的多臺裝置將之前託管的錨點新增到它們的場景中。
雲錨點解析請求會將可視特徵描述符從當前幀傳送到伺服器。 伺服器會嘗試將可視特徵與稀疏的點圖相匹配。 這會讓您的應用將解析的錨點一致地置於每個使用者在他們的裝置上都能看到的場景中。
資料儲存和訪問限制
雲錨點的資料具有以下儲存和訪問限制:
-
託管錨點時上傳至雲端的原始視覺對映資料在七天後捨棄。
-
錨點會根據儲存的稀疏點圖在伺服器端解析。
- 生成後,稀疏的點圖可用於一天的雲錨點解析請求。
- 之前上傳的對映資料永遠不會發送至使用者的裝置。
-
無法根據稀疏點圖確定使用者的地理位置或者重建任何影象或使用者的物理環境。
-
任何時候都不會儲存請求中用於解析錨點的可視特徵描述符。
評論
隨著蘋果的ARKit的推出,它開啟了消費者AR的起跑槍,我們看到每個大平臺都宣佈了AR策略:谷歌的ARCore; Facebook的相機平臺;亞馬遜Sumerian;和微軟繼續建立其混合現實生態系統。我們現在正在目睹雲服務的曙光,這將為AR開發人員提供引人注目的功能,但前提是雲服務提供商必須獲得使用者體驗,首先實現消費級UX。
在ARKit和ARCore之前的AR在技術上有效,但使用者體驗很差。你需要一個列印的標記或小心地握住和移動手機才能開始使用,然後它工作得非常好。製作了精彩的演示視訊,展示了令人驚歎的最終工作經驗。直到ARKit推出之前,基本AR的“正常工作”使用者體驗才可用(這是在牛津活動視覺實驗室發明移動SLAM 10年之後)。
使用者體驗難在:
-
使用者參與具有隨機性。使用者從任何地方隨機加入,即從玩家之間的任何相對角度或距離。
-
消除或最小化“預掃描”,特別是如果使用者不理解為什麼需要它,或者獲得關於他們是否正確的反饋。
-
一旦系統同步(即重新定位到共享的世界座標集),內容就需要準確對齊。這意味著兩個系統都同意共同的虛擬x,y,z點與現實世界中的相同點完全匹配。通常在裝置之間幾釐米的距離在使用者感知方面是可以的。然而,當(最終)共享遮擋網格時,任何對齊錯誤都非常明,底層的ARCore和ARKit跟蹤器只能精確到3-5釐米左右,因此對於任何多人重定位器系統來說,獲得更好的對齊是不可能的。
-
使用者不必等待。同步座標系應該是即時的,只需零點選。理想情況下,即時意味著只需幾分之一秒,但正如任何移動應用程式設計師都會告訴您的那樣,使用者在感覺系統速度太慢之前會有2-3秒的耐心。
-
多人遊戲體驗應該跨平臺工作,並且UX應該跨裝置保持一致。
-
資料管理很重要。安全和資料共享。
什麼是谷歌的“雲錨”?
那麼Google如何做AR Mutiplayer呢?
-
玩家1啟動一個應用程式,然後他們點選一個按鈕,表示他們想要“託管”遊戲。這會觸發向Google伺服器上傳一些“可檢視像資料”到Google的雲端。谷歌是精確的非特定的,具體是什麼上傳,參考視覺資料,在雲(在裝置上)進行處理並強調它隨著時間的推移被丟棄,注意有一些個人識別資料(即一部分來自相機的照片)會自動上傳到Google。
-
玩家1還必須手動輸入“房間號”,因為同一wifi SSID中可能有幾個錨。谷歌的云然後處理這個上傳的視覺資料,建立“錨點”,這是一種3D點雲(或更準確地說是一個SLAM地圖,這是一個點雲和這些點的一些可識別的描述,甚至可能是一些關鍵幀影象),它儲存在Google的雲端。
-
玩家2出現,並要求加入遊戲。玩家1需要告訴玩家2房間號碼,以便下載正確的錨點。
-
Player 2的手機向Google上傳更多可視描述符資料,然後Google處理該資料,然後嘗試匹配這兩個資料集(地圖)。這種匹配點雲的過程稱為“重定位”,如果點雲彼此非常相似且很小(即從同一個地方捕獲並覆蓋一小塊區域),則很容易做到,但很難做到當它們不同且大時(即,玩家1和玩家2彼此分開,並且要支援的物理區域很大)。
-
如果解析/重新定位成功,則將“變換矩陣”傳遞迴玩家2.這只是告訴玩家2的手機與玩家1相關的3D空間中的精確位置,因此玩家2的圖形可以是適當地渲染以使其看起來“正確”並且與玩家1看到的物理位置相同。
-
沒有給予玩家2的資訊或指導。
Google已經能夠通過Tango的ADF檔案(這是一種Anchor形式)實現這一目標,儘管這是一個手動過程。
ofollow,noindex">上述視訊演示下載
參考資料
- 討論 釘釘群21745728 qq群144081101 567351477
- 本文最新版本地址
- 本文涉及的python測試開發庫 謝謝點贊!
- 本文相關海量書籍下載
- https://medium.com/6d-ai/dawn-of-the-ar-cloud-1b31eb4b52ac
- https://developers.google.com/ar/develop/developer-guides/anchors