Google AR 交互的開源與幕後

Google AR 交互的開源與幕後

Google I/O 的 AR/VR 沙箱體驗區一直人頭攢動

在幾周前的 Google I/O 上,我們的 AR 開發平臺 ARCore 發佈了一個重要更新,相信關注我們的開發者們已經知道了:我們添加了諸如 Cloud Anchors 這樣的新 API*,從而實現了多用戶協作 AR 體驗,帶來了可以將 2D 圖像激活為 3D 對象的 Augmented Images 技術。這些更新將會改變我們今天使用 AR 的方式,並使開發者能夠創建更豐富、更沉浸的 AR 應用。

Cloud Anchors (共享錨點) 通過 Google 的服務器來實現協作式的 AR 體驗。

其實在確定下來這些新功能後,我們決定對我們的 AR 平臺以及它蘊含的可能性進行測試。於是我們開發了真實的項目,來展示這些體驗都是如何走進現實的。所有的演示都在 I/O 的 AR/VR 沙箱區域展示。更重要的是,我們完全開放了源代碼,讓您可以看到創建這些體驗的過程是多麼簡單。在經歷了 I/O 期間的實際操演之後,我們對這些項目的表現非常滿意,並希望在這裡與大家分享一些幕後的經驗和想法。

Light Board - 多人遊戲

Light Board 是一款 AR 多人桌面遊戲,兩位玩家在浮動遊戲板上相互發射彩彈。

Google AR 交互的開源與幕後

在創建 Light Board 的時候,我們必須牢記最終用戶是誰,即參加 I/O 的開發者們。我們希望 Light Board 成為開發者們在訪問 I/O 沙箱展區時會去嘗試的簡單而有趣的遊戲。開發者們在路過時只有幾分鐘的時間來進行遊戲,所以它需要讓玩家 (甚至非玩家) 來快速上手,而無需經過複雜的設置過程。

所以視覺設計是我們對 Light Board 的關注重點之一。我們對遊戲視覺的要求是:與 I/O 2018 現場的裝飾設計風格保持一致。這樣一來,我們的應用就像是與會者在身邊看到的內容的延伸。因此,我們的設計理念中包含 3 個目標明快的色調簡單的圖形自然的實體材質

Google AR 交互的開源與幕後

Google AR 交互的開源與幕後

AR/VR Sandbox 展區的設計。右圖 - Light Board 遊戲桌面的主視覺設計。注意兩者之間保持著風格和元素的延續。

Light Board 的這些設計是在 Maya 和 Cinema 4D 中創建的。我們使用 Substance Painter 為模型創建了基於實物的材質。連續迭代對開發來說至關重要,對創建美術內容來說同樣如此。考慮到這一點,即使對於這個相對簡單的項目,我們也會仔細跟蹤設計工作流中的細節變化。這樣一來,我們就能夠在完成最終設計方案之前快速嘗試不同的外觀和桌面樣式。

在開發方面,我們選擇 Unity 遊戲引擎作為開發環境。Unity 賦予了我們一些重要優勢。首先,我們可以很容易地立即獲得美觀的 3D 圖形並加以運行。其次,由於引擎組件已經解決了基礎的工作,所以我們可以立即開始在遊戲的玩法邏輯上進行代碼迭代。與前面提到的視覺設計一樣,完善的底層和工作流管理使得我們可以在做出最終決定之前測試許多玩法選項 (這裡的工作很像遊戲領域的關卡設計師來調校和打磨關卡方案)。此外,只需多處理一點點工作,Unity 就可以支持 Android 和 iOS 系統。

為了實現實時多人遊戲,我們使用了 Firebase 實時數據庫。我們一度很擔心 I/O 期間的網絡性能表現,並認為提升數據庫的穩定性會讓遊戲更能容忍網絡的不良狀況。事實證明,這套系統一直運行得非常好,我們甚至能在退出後重新加入遊戲時不損失任何操作 (做過實時多人對戰的開發者會知道這有多重要)!

我們在創建 Light Board 的過程中獲得了很多樂趣,也希望大家可以從這個例子中看到,你們不僅可以輕鬆創建 AR 應用,更可以輕鬆使用 Cloud Anchors 等非常酷的新功能。

Just a Line - 和您的朋友一起畫畫

今年 3 月,我們發佈了 Just a Line,這款 Android 應用可以讓您使用手機在空中畫畫。這是一個旨在展示 ARCore 強大功能的簡單實驗性應用。在 Google I/O 中,我們將 Cloud Anchors 添加到應用中,這樣一來,即使一個人使用 Android 設備,另一個人使用 iOS 設備,兩個人也可以同時在同一空間中協同創作。

Google AR 交互的開源與幕後

兩個版本的應用都是原生開發的:Android 版本採用 Android Studio 編寫,而 iOS 版本則採用 Xcode 編寫。ARCore 的 Cloud Anchors 功能讓 Just a Line 能夠配對兩部手機,允許用戶在同一空間中同時進行繪畫。配對功能適用於 Android 和 iOS 設備,圖形則通過 Firebase 實時數據庫進行同步。

Illusive Images - 活起來的藝術展

Illusive Images 演示了一個由 AR 技術增強的畫廊,它由3件作品組成,每件作品都探索了不同的增強圖像 (Augmented Images) 使用案例和用戶體驗。當人們從一邊走到另一邊,在物體周圍走動,或者在特定方向注視時,2D 藝術作品將與 3D 空間結合,讓觀眾超越物理框架,置身於藝術作品的空間。

Google AR 交互的開源與幕後

Google AR 交互的開源與幕後

由於增強圖像的視覺性質天然會超越物理規則,所以我們在不同視覺特徵的表現形式上進行了大量嘗試。為了獲得最佳效果,我們通過調整作品的畫布大小來實現快速迭代,甚至還嘗試著在用戶的屏幕中直接強化亮度和對比度 (ARCore 可以準確識別環境中的光照等信息)。通過多種手法配合,在不影響設計意圖的情況下實現最佳的成像效果。

Google AR 交互的開源與幕後

該應用是在 Unity 中使用 ARCore 創建的,大部分視覺內容則是在 Cinema 4D 中創建的。3D 動畫以 fbx 的格式導入到 Unity 中,在實際使用時展現的樣子完全由用戶和藝術品的相對位置來驅動,不得不說這種畫廊看起來真是令人神往。


分享到:


相關文章: