Google AR 互動的開源與幕後

Android_開發者發表於2018-06-06

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 互動的開源與幕後
△ I/O 2018 中 AR/VR Sandbox 展區的設計。

Google AR 互動的開源與幕後
Light Board 遊戲桌面的主視覺設計。注意兩者之間保持著風格和元素的延續。
Light Board 的這些設計是在 Maya 和 Cinema 4D 中建立的。我們使用 Substance Painter 為模型建立了基於實物的材質。連續迭代對開發來說至關重要,對建立美術內容來說同樣如此。考慮到這一點,即使對於這個相對簡單的專案,我們也會仔細跟蹤設計工作流中的細節變化。這樣一來,我們就能夠在完成最終設計方案之前快速嘗試不同的外觀和桌面樣式。

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

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

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

請點選此處網站獲得我們的原始碼,試試 Light Board 吧!

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 實時資料庫進行同步。

Just a Line 的 Android 原始碼連結:請點選此處

iOS 版本原始碼:請點選此處

Illusive Images - 活起來的藝術展

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

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

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

點選此處下載原始碼快來親身體驗一下吧!

正如本文中提及的,為了讓您的開發體驗更輕鬆,我們開源了所有這次 I/O 上的 AR 演示專案,希望您玩得開心。更希望您能在瞭解到用 ARCore 進行開發是多麼簡單後,能更有自信地開始建立屬於自己的 AR 體驗。我們期待著看到來自大家的作品!

請點選此處檢視更多 ARCore 相關內容資訊

Google AR 互動的開源與幕後

相關文章