[No.H100]
Thunderbox Entertainment的丹·泰勒(Dan Taylor)是一位游戲領(lǐng)域的資深從業(yè)者,曾參與過(guò)《榮譽(yù)勛章》,《殺手》和《古墓麗影》等熱門內(nèi)容的制作。他早前曾向我們分享過(guò)他們團(tuán)隊(duì)在開發(fā)移動(dòng)VR內(nèi)容時(shí)的經(jīng)驗(yàn)與教訓(xùn)。
延伸閱讀:《Tsuro》實(shí)戰(zhàn)分享:移動(dòng)VR內(nèi)容開發(fā)經(jīng)驗(yàn)與教訓(xùn)*
現(xiàn)在,他再次向我們介紹了將Oculus Go游戲移植到Rift平臺(tái)時(shí)需要注意的事項(xiàng)。以下是映維網(wǎng)的具體整理:
要了確保我們首款主要的VR內(nèi)容能夠流暢地支持Oculus Go,我們進(jìn)行了大量的研究:你可能已經(jīng)看過(guò)Unity分享的關(guān)于如何為移動(dòng)硬件優(yōu)化游戲的文章,或者看過(guò)將Rift游戲移植到Quest的視頻介紹。我們Thunderbox Entertainment總是在嘗試與眾不同的道路,所以這篇文章感覺有點(diǎn)像是“倒過(guò)來(lái)”。
要將一款專為移動(dòng)設(shè)備開發(fā)的VR體驗(yàn)升級(jí)成支持PC,這其中有多么困難呢?實(shí)際上并不難,前提是你知道自己在做什么,并且專注于以最小的成本實(shí)現(xiàn)最大的價(jià)值。
我們的游戲《Tsuro:The Game of The Path》是基于同名的桌面游戲,所以核心玩法大致相同:玩家輪流將棋子放在棋盤,然后棋子將沿著棋盤路徑行進(jìn)。如果路徑把它們引導(dǎo)到邊緣,則棋子剔除。獲勝者是最后一位仍在游戲中的玩家�!禩suro》的虛擬版本要大70倍,背景則設(shè)置成古老的日本寺廟。由于游戲玩法十分簡(jiǎn)單,所以我們專注于提高沉浸感和環(huán)境保真度。
如下所示,《Tsuro》采用了低多邊形風(fēng)格,這在Go中看起來(lái)非常優(yōu)秀。今天我們將概述使得游戲配得上Oculus Rift的額外性能的步驟。
1. 六自由度和Touch
我們首先解決的問(wèn)題是六自由度頭部追蹤和Oculus Touch控制器。我們是通過(guò)PC開發(fā)《Tsuro》,而為了加速迭代時(shí)間,我們已經(jīng)實(shí)現(xiàn)了其中的大部分,但游戲需要進(jìn)行最后的潤(rùn)色修改。由于我們的環(huán)境存在坡度,我們編寫了一個(gè)簡(jiǎn)單的高度調(diào)整腳本,這樣用戶就可以在屋頂和坡道周圍走動(dòng)。由于《Tsuro》的Go版本設(shè)計(jì)為支持單個(gè)控制器,我們同時(shí)必須確保玩家可以輕松地切換左手控制器和右手控制,同時(shí)能夠選擇將Oculus Touch控制器用于Rift或Rift S。
最終,控制器更新中的最關(guān)鍵一點(diǎn)是添加合適的觸覺反饋。對(duì)于下面的動(dòng)圖,你實(shí)際感受時(shí)會(huì)更加炫酷。
利用現(xiàn)有的音頻文件來(lái)驅(qū)動(dòng)控制器觸覺非常簡(jiǎn)單,但我們發(fā)現(xiàn)更為夸張的波形會(huì)更加合適,所以我們使用了一個(gè)狀態(tài)機(jī)來(lái)直接控制振動(dòng),并且我們的補(bǔ)間系統(tǒng)動(dòng)態(tài)生成波形(上面的爆炸動(dòng)圖如下所示)。這使得我們能夠以更快的迭代時(shí)間精確控制控制力。如果你希望進(jìn)一步了解有關(guān)自定義補(bǔ)間系統(tǒng),請(qǐng)參閱我之前分享的博文。
我不知道應(yīng)該如何強(qiáng)調(diào)優(yōu)秀的觸覺反饋對(duì)于一款游戲的重要性:當(dāng)我們實(shí)現(xiàn)了這一點(diǎn)后,一切都感覺更為“真實(shí)”。
另外,在這個(gè)時(shí)候你的游戲版本應(yīng)該非常適合Oculus Quest,所以你可以進(jìn)行相應(yīng)的擴(kuò)展。
2. PBR著色器
現(xiàn)在是時(shí)候利用高端的圖形性能力了。為了提升圖形質(zhì)量,我們用高級(jí)的PBR著色器替換了所有移動(dòng)著色器。PBR著色器的鏡面高光確實(shí)可以提升環(huán)境的逼真度和沉浸感。
簡(jiǎn)單嗎?不簡(jiǎn)單。照明響應(yīng)的改動(dòng)意味著我們的UI變得完全不可讀。為了令其再次可讀,我們需要小心翼翼地調(diào)整照明,選擇UI材質(zhì),并且重新為大部分界面上色。一旦UI恢復(fù),我們調(diào)整特定元素的材質(zhì)屬性,并且將用稍微更高端的著色器來(lái)替換Mobile Water Shader。請(qǐng)留意水體:要支持VR,反射和折射需要對(duì)著色器進(jìn)行專門的調(diào)整。
3. 調(diào)整照明和陰影
移植過(guò)程中最苦難的一點(diǎn)可能是照明。對(duì)于移動(dòng)端,為了平衡性能和畫面,我們堅(jiān)持下面的標(biāo)準(zhǔn):
環(huán)境是單個(gè)對(duì)象
環(huán)境未點(diǎn)亮,照明提前烘培
只有主要的游玩區(qū)域有陰影
一次只為少數(shù)物品提供陰影
陰影比較生硬和低分辨率
沒有環(huán)境照明
對(duì)于PC,我們可以推翻上述標(biāo)準(zhǔn):
我們可以分割環(huán)境并允許更高分辨率的照明貼圖
采用混合的環(huán)境照明,大部分仍然主要是烘培,但…
陰影貼圖允許我們?yōu)檎麄(gè)場(chǎng)景體提供動(dòng)態(tài)陰影
每個(gè)動(dòng)態(tài)對(duì)象都可以投射實(shí)時(shí)陰影
陰影比較柔和和高分辨率
天空和點(diǎn)亮環(huán)境
為了令烘焙照明看起來(lái)盡可能出彩,我們進(jìn)行了大量的實(shí)驗(yàn),如調(diào)整環(huán)境照明和紋理密度。Unity中的烘焙照明是一種黑魔法,我強(qiáng)烈推薦這個(gè)優(yōu)秀的YouTube視頻教程 。重要提示:當(dāng)?shù)姹赫彰鲿r(shí),使用超低分辨率進(jìn)行快速讀取,然后當(dāng)對(duì)結(jié)果感到滿意時(shí),你就可以加碼,并在它計(jì)算更為詳細(xì)的版本時(shí)出去享用午飯。高分辨率的貼圖可能需要一段時(shí)間進(jìn)行烘烤,但最終的結(jié)果絕對(duì)值得。
既然你擁有這些高級(jí)的著色器,你可以通過(guò)添加動(dòng)態(tài)照明來(lái)進(jìn)一步利用它們。Oculus建議最多使用3個(gè)動(dòng)態(tài)照明,但由于我們的環(huán)境針對(duì)移動(dòng)設(shè)備進(jìn)行了優(yōu)化,所以我們可以使用更多的動(dòng)態(tài)照明。我們將其用于火炬效果,并使游戲?qū)ο笞孕邪l(fā)光。我們嘗試了正向渲染和延遲渲染,但都沒有發(fā)現(xiàn)有太大的性能差異。
4. 視覺效果與顏色分級(jí)
現(xiàn)在照明效果已經(jīng)調(diào)整完畢,接下來(lái)我們升級(jí)FX。
我們將移動(dòng)天空盒改為動(dòng)態(tài)生成的天空盒,其中包含漂移的云朵,一個(gè)位于正確照明位置的太陽(yáng),以及一個(gè)可調(diào)節(jié)的漸變曲線。然后,我們將大部分的低多邊形無(wú)照明效果換成更為精細(xì)的著色器(最明顯的是花瓣,塵埃和坩堝)。
最后,你可以使用圖像后期處理。設(shè)置起來(lái)非常簡(jiǎn)單,并且可以令游戲畫面大為改觀。需要強(qiáng)調(diào)的是,這里的訣竅是凡事不可過(guò)量:很多效果在VR中看起來(lái)非常糟糕(如景深),但我們采用了細(xì)致的顏色分級(jí)和微妙的Bloom效果,從而令《Tsuro》為Rift帶來(lái)更為夢(mèng)幻的氛圍。
5. 高保真度音頻
在將游戲移植到Rift時(shí),音效的差異令我們感到十分驚訝。盡管我們沒有時(shí)間研究Oculus的聲音整合,但《Tsuro》的Go版本包含一個(gè)非常動(dòng)態(tài)的音景,可為逼真感提供微妙的混響。對(duì)于PC版本,為了提高聲音衰減的逼真度,我們發(fā)現(xiàn)幾乎每個(gè)聲音發(fā)生器都需要重新調(diào)整。請(qǐng)注意:在Unity中,包含對(duì)數(shù)衰減的聲音永遠(yuǎn)不會(huì)是完全無(wú)聲(請(qǐng)參閱下面的曲線)。我們沒有在Go版本中發(fā)現(xiàn)到這一點(diǎn),但隨著Rift保真度的提高,這個(gè)細(xì)節(jié)會(huì)非常明顯。
6. 提交前的測(cè)試
如果你已經(jīng)為Go發(fā)行過(guò)游戲,你應(yīng)該非常熟悉Oculus的VRC測(cè)試。對(duì)于幫助VR生態(tài)系統(tǒng)保持高質(zhì)量的內(nèi)容,這項(xiàng)測(cè)試十分重要。值得注意的是,Rift版本的測(cè)試存在微妙的差異。主要是當(dāng)你摘下頭顯時(shí),你必須暫停游戲并禁用控制。請(qǐng)務(wù)必查閱官方的檢查表,并使用自動(dòng)驗(yàn)證工具來(lái)快速過(guò)一遍需要注意的地方。
Oculus Debugging Tool非常便于在開玩游戲時(shí)顯示性能數(shù)據(jù)。奇怪的是,我們發(fā)現(xiàn)通過(guò)Oculus菜單啟動(dòng)內(nèi)容會(huì)更加流暢,而不是直接運(yùn)行.exe更加流暢。
一旦你確定游戲能夠達(dá)到90FPS,接下來(lái)就是最后的調(diào)整。
7. 額外的細(xì)節(jié)
一切看起來(lái)都華麗,而且?guī)史浅A鲿常沒有達(dá)到要求。這時(shí)你還可以做什么呢? 《Tsuro》的Go版本有一個(gè)似乎人人都非常喜歡的細(xì)節(jié):一只隨機(jī)出現(xiàn)的小狐貍在寺廟中閑逛。對(duì)于Rift版本,我們決定給它提供一定的伙伴:池塘里的錦鯉,籬笆上的雀鳥,以及一只嗡嗡作響的大黃蜂。
作為添頭,這個(gè)增強(qiáng)版動(dòng)物園可以通過(guò)一定的優(yōu)化支持Go版本。
最后,我們花費(fèi)了一點(diǎn)時(shí)間來(lái)為Oculus Home開發(fā)Custom Items。我們利用Boxshot將標(biāo)準(zhǔn)FBX格轉(zhuǎn)換為可以在本地進(jìn)行測(cè)試的GLB文件,然后再上傳到Oculus Dash。我們將物品與一些酷炫的成就關(guān)聯(lián)起來(lái),而玩家現(xiàn)在可以解鎖Tsuro棋盤游戲,并通過(guò)可愛的日式立體模型來(lái)裝飾自己的虛擬空間。
如果你希望直接贈(zèng)送給玩家,你可以將其作為Entitlements并分配給游戲。
8. 是時(shí)候發(fā)行了
六自由度運(yùn)動(dòng),觸覺反饋,PBR著色器,精心設(shè)計(jì)的照明,增強(qiáng)的視覺效果,重新平衡的音效,VRC合規(guī)性,以及一點(diǎn)額外的元素,《Tsuro》感覺比以往更加身臨其境。通過(guò)額外的細(xì)節(jié)和細(xì)致的潤(rùn)色,畫面看起來(lái)非常出色……
我們很高興能《The Path of the Path》能夠登陸Rift,并希望這款優(yōu)化的體驗(yàn)?zāi)軌蛭嗟挠螒蛲婕摇?/p>
榜單收錄、高管收錄、融資收錄、活動(dòng)收錄可發(fā)送郵件至news#citmt.cn(把#換成@)。
海報(bào)生成中...