由Vision3聯(lián)合國際保護組織使用Unity開發(fā)的Drop in the Ocean是一個10分鐘的虛擬現(xiàn)實社交冒險體驗,由Philippe和Ashlan Cousteau講述。在該體驗中觀眾可以乘坐水母,感受深海的神秘。最重要的是,參與者能夠從海洋生物的角度體驗塑料污染危機。
盡管將該項目開發(fā)為社交虛擬現(xiàn)實體驗面臨巨大的技術(shù)挑戰(zhàn),但將觀眾描繪成全身化身對我們的團隊來說非常重要。當(dāng)他們進入到Drop in the Ocean中時,四名參與者需要合作掃除他們周圍的塑料碎片,這讓他們對海洋正在面臨的威脅及其在解決方案中的作用有了新的認(rèn)識。正是出于這一目的Drop in the Ocean贏得了人們的喜愛,并受到了Unity環(huán)境和可持續(xù)發(fā)展資助計劃的關(guān)注,Unity在2021年為項目提供了一筆資助。
在本文中,將深入研究Vision3團隊如何使用Unity開發(fā)Drop in the Ocean,并分享一些得到Unity環(huán)境和可持續(xù)發(fā)展資助計劃資助后Vision3團隊的未來規(guī)劃。
體驗背后
當(dāng)觀眾知道他們在身臨其境的體驗中與真人互動時,社交虛擬現(xiàn)實將人們帶到不可能的地方的神奇能力就被展現(xiàn)了出來,它允許創(chuàng)作者創(chuàng)作獨特的故事。
能夠與朋友分享這樣的時刻,并實時對他們的行為做出身體反應(yīng),是沉浸式娛樂的一個非常特殊的元素。在項目開始的時候,比如Drop in the Ocean,Vision3團隊一直在想方設(shè)法讓觀眾獲得更有價值的體驗。
Drop in the Ocean于2019年首次推出,作為PC-VR體驗,需要通過有線電纜連接為每個參與者提供專用的高端工作站。隨著項目的發(fā)展,一個定制的基于RGB攝像頭的動作捕捉系統(tǒng)被開發(fā)出來,讓觀眾在體驗中能夠看到彼此的全身化身。這個攝像機系統(tǒng)和高規(guī)格的本地網(wǎng)絡(luò)由一臺獨立的基于Linux控制系統(tǒng)的PC控制。
動作捕捉系統(tǒng)給了無標(biāo)記跟蹤前所未有的運動自由,但受到當(dāng)時藝術(shù)水平的限制。它還依賴于固定的照明條件,這些條件通常與我們的目標(biāo)場地不兼容。
簡而言之,我們的團隊建立了一種極具創(chuàng)新性的體驗,允許觀眾作為完全的化身彼此互動,代價則是巨大的設(shè)備要求和對體驗場地的限制。
三年后,我們給自己設(shè)定了一個非常雄心勃勃的挑戰(zhàn):如何保留視覺保真度、科學(xué)上準(zhǔn)確的海洋物種模型和全身虛擬形象,以便創(chuàng)建一個聯(lián)網(wǎng)的、基實際位置的體驗,可以在移動VR設(shè)備上實現(xiàn)。
動態(tài)分辨率和優(yōu)化著色器
雖然有興趣將項目移植到獨立設(shè)備,降低成本,增加受眾規(guī)模,但也同樣有必要盡可能保持PC-VR版本的視覺質(zhì)量。
原始版本的Drop in the Ocean列出了移動端開發(fā)面臨的幾乎所有挑戰(zhàn)——水母模型上的多個半透明層、大型動物物種上極高的多邊形數(shù)量、幾個場景中的大量對象數(shù)量、固定的時間線構(gòu)建以及大量的對象交互物理算法。VFX開發(fā)人員Conrad Hughes是移植團隊的一員,他的想法是在保持項目正常運行的同時盡可能保持視覺保真度。在這種情況下,首先要做的是將Drop in the Ocean從高清晰度渲染管道(HDRP)運行切換到通用渲染管道(URP)。雖然URP犧牲了一些質(zhì)量,但我們發(fā)現(xiàn)與PC版本相比,它運行速度要快得多,并支持獨立設(shè)備。
為了是保持盡可能多的特寫保真度,同時讓觀眾感覺他們始終保持在海平面以下。我們利用FFR(固定凹進渲染)等全局性能增強器來降低設(shè)備屏幕中心的分辨率。一些設(shè)備擁有分辨率極高的屏幕,這意味著盡管顯示器具有顯示出色圖像的驚人能力,但硬件可能難以推動所有這些像素。FFR會保證你正在看的東西的保真度和質(zhì)量并以較低分辨率填充其余部分。
我們還在整個項目中使用了動態(tài)分辨率。當(dāng)屏幕上有很多東西時,渲染比例會下降,當(dāng)屏幕上只有幾個主要對象時,渲染比例會上升。這樣,當(dāng)觀眾專注于注視一個目標(biāo)時,他們會得到100%的質(zhì)量。但是,當(dāng)他們專注于一大群物體(即數(shù)百只水母)時,他們會獲得一種真實的存在感和置身于一大群物體中的感覺。
為了描繪出玩家的手、化身和一些其他的VFX物體,我們需要訪問VFX圖形。這在一定程度上是因為這些資產(chǎn)最初是使用VFX圖表創(chuàng)作的,并且使用了一些定制的腳本。從本質(zhì)上說,重建整個VFX將是一個巨大的時間限制。為了讓VFX圖形在Open GL 3.1上工作,我們必須禁用軟件包中的立方體貼圖數(shù)組(GLES 3.1不支持該功能)。本質(zhì)上,我們將VFX圖表包從Unity 2022移植到2021 LTS,并做了一些調(diào)整以使其工作。最終我們成功了。一些最近實現(xiàn)的特性減少了對一些腳本和定制的小程序的需求,這對我們很有幫助。
除此之外,我們的開發(fā)人員禁用了陰影并修改了照明設(shè)置,以保持動態(tài)照明(但不要讓太多的燈光同時影響一個表面),以降低成本。我們還將生成時間進行了交錯,以防止GPU故障,并瀏覽了一系列標(biāo)準(zhǔn)做法,減少紋理大小,減少著色器復(fù)雜性和昂貴的ALU數(shù)學(xué)運算,減少紋理抽頭,盡可能壓縮紋理,使用頂點動畫代替蒙皮網(wǎng)格,以使游戲在硬件上成功運行。為了讓Drop in the Ocean在獨立設(shè)備上運行,我們還使用了大量早期游戲機時代的技術(shù)。
總的來說,我們盡量節(jié)約使用昂貴的東西。但當(dāng)我們使用它們時,我們能確保將其用在最重要的地方,這樣就不會浪費性能與開銷。
構(gòu)建網(wǎng)絡(luò)的新方法
通過轉(zhuǎn)向獨立設(shè)備,我們改變了網(wǎng)絡(luò)的配置方式,并極大地改變了調(diào)節(jié)控制。以前,專用電腦一直通過以太網(wǎng)連接,現(xiàn)在我們面臨的挑戰(zhàn)是通過Wi-Fi 6網(wǎng)絡(luò)監(jiān)控連接設(shè)備(以及遠(yuǎn)程觀察設(shè)備電池壽命并確保體驗同時在所有設(shè)備上啟動)。
在部署中,Drop in the Ocean需要無縫地持續(xù)引入團體觀眾流,而不能中斷或重新校準(zhǔn)。首席開發(fā)人員Gokhan Sivrikaya首先構(gòu)建了一個單獨的定制解決方案,支持多種類型的設(shè)備和應(yīng)用程序。
這讓我們有機會添加一個在平板電腦上運行的監(jiān)管應(yīng)用程序,以便管理員可以在該區(qū)域檢查設(shè)備的狀態(tài)。它還允許我們輕松地添加其他Wi-Fi設(shè)備,這些設(shè)備可以在玩家與游戲互動時提供觸覺反饋。
Unity幫助我們以相同的代碼在不同設(shè)備的不同操作系統(tǒng)上實現(xiàn)輕松切換。
使用空間錨點來確定玩家的位置以與反運動學(xué)方式交互
在移除動作捕捉系統(tǒng)后,我們在開發(fā)能夠與其他玩家的動作和位置同步的全身化身方面仍然存在重大挑戰(zhàn)。我們的團隊使用反向運動學(xué)來模擬游戲中玩家的身體,游戲中玩家的位置需要與現(xiàn)實世界中的位置進行校準(zhǔn)。
我們使用的設(shè)備有自己的方向(前進矢量),玩家的初始位置可以在坐標(biāo)系中的任何地方。在普通的多人游戲中,當(dāng)其他玩家在很遠(yuǎn)的某個地方——可能在他們的家里——出生點可以用來將虛擬世界中的玩家生成到他們指定的位置。對于這種體驗來說,虛擬世界和現(xiàn)實世界(以及兩個世界中人的位置)應(yīng)該是匹配的,這樣玩家就可以在現(xiàn)實世界中自由互動,而不會互相碰撞。
為了實現(xiàn)這一點,我們使用了空間錨。每臺設(shè)備都在同一個真實世界的坐標(biāo)上放置錨點,設(shè)備將玩家的相對位置從錨點發(fā)送到服務(wù)器。從那里,服務(wù)器將這些相對位置共享回設(shè)備,并且所有設(shè)備根據(jù)它們在它們的虛擬坐標(biāo)系中與錨的相對位置來解決這個問題。這樣解釋,聽起來很復(fù)雜,那我們換個簡單的說法,Unity用它的核心庫幫助我們解決了這個問題!
Unity環(huán)境和可持續(xù)發(fā)展資助
隨著體驗的完成,我們的下一個挑戰(zhàn)是擴大Drop in the Ocean項目的訪問量,以便讓更多人有機會成為社交虛擬現(xiàn)實體驗的一部分。這需要我們不斷推動技術(shù),尋找解決方案,使其更靈活、更實用,同時展望我們開發(fā)的未來內(nèi)容,并在現(xiàn)有的堅實基礎(chǔ)上尋找全新的方式將人們聚集在一起。
我們的團隊得到了Unity的獎金,這讓我們能夠?qū)rop in the Ocean體驗投入到不僅僅是我們當(dāng)?shù)氐纳鐓^(qū)。從最初的構(gòu)想開始,我們就一直將該項目的兩個理想受眾作為目標(biāo):一是更廣泛的普通受眾,他們將通過此體驗更加了解海洋環(huán)境被破壞的現(xiàn)狀,二是政府和企業(yè)內(nèi)部的關(guān)鍵決策者。
為了更廣泛地接觸到公眾,我們正在與北美和國際上領(lǐng)先的水族館、科學(xué)博物館和美術(shù)館合作,使用Unity環(huán)境和可持續(xù)發(fā)展資助基金在人流量較大的文化機構(gòu)和場所舉辦Drop in the Ocean項目體驗,Drop in the Ocean將允許每次4-6名游客參觀。我們相信當(dāng)他們摘下設(shè)備時,他們將更加可能加入保護海洋的斗爭中去。
與此同時,到2023年,我們會帶著Drop in the Ocean參加一些重要的環(huán)境和氣候行動會議,并支持國際保護組織的外展活動。
我們希望Drop in the Ocean可以在支持全球2030年保護至少30%海洋方面發(fā)揮重要作用。
我們很自豪能夠推出Drop in the Ocean體驗,他是一種靈活的、基于位置的活動體驗。我們正在尋找一系列的目的地來舉辦這一項目。我們已經(jīng)在探索如何將這種體驗帶給那些難以參與活動的群體,如教室中的學(xué)生們。
隨著Drop in the Ocean成功移植到獨立設(shè)備,我們下一步將期待在線迭代,保留我們喜歡的連接性的一切,那時Drop in the Ocean將支持北美和歐洲以外地區(qū)的人們進行訪問。
Drop in the Ocean將來可能成為我們?yōu)閬碜允澜绺鞯氐膶W(xué)校團體創(chuàng)造的一種在網(wǎng)上共同體驗的方式,成為來自不同文化的學(xué)生分享他們保護健康海洋夢想的平臺。
我們注意到,我們的許多觀眾可能是第一次接觸VR,因此,在適當(dāng)?shù)臅r候,我們也希望刪除可能限制交互的組件。當(dāng)人們摘下頭顯時,他們會感覺到自己是海洋保護運動的一部分。
沉浸式體驗的未來發(fā)展可以進一步推動這一概念,我們將繼續(xù)尋找方法,讓觀眾感覺他們在我們的故事中實現(xiàn)了價值。