最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《It Takes Two》背后的聲音設(shè)計(jì) | Hazelight 音頻團(tuán)隊(duì)訪談

2021-12-29 11:44 作者:Wwise官方  | 我要投稿

Hazelight Studios 開發(fā)的《It Takes Two》是一款專為合作模式設(shè)計(jì)的分屏平臺動作冒險(xiǎn)游戲,其因內(nèi)容豐富多彩、畫面新穎有趣而獨(dú)樹一幟。在為這樣一款游戲構(gòu)建聲景時,最大的挑戰(zhàn)源自分屏設(shè)計(jì)及其對音頻的影響。

下面來聽我們在 Hazelight Studios 的朋友說說其在為《It Takes Two》構(gòu)建音頻時都遇到了哪些挑戰(zhàn)和機(jī)遇。在此,音頻團(tuán)隊(duì)的首席聲音設(shè)計(jì)師菲利普?埃里克森 (Philip Eriksson)、技術(shù)音頻設(shè)計(jì)師喬基姆?埃尼格?蕭伯格 (Joakim Enigk Sj?berg)、音頻程序員格蘭?克里斯蒂安森 (G?ran Kristiansson) 和高級聲音設(shè)計(jì)師安妮?索菲?蒙喬 (Anne-Sophie Mongeau) 會探討其在分屏、混音、聲音設(shè)計(jì)、性能和音樂方面采取了怎樣的做法。本次訪談將揭示其為了向用戶提供優(yōu)質(zhì)音頻體驗(yàn)采取了哪些技術(shù)方案,以及這如何為同類游戲的音頻制作樹立了新的標(biāo)準(zhǔn)。

分屏

能否簡要說說在《It Takes Two》中處理縱向分屏?xí)r采取了怎樣的技術(shù)方案?

菲利普:我們對縱向畫面分屏的處理方法是把混音也一分為二。將左側(cè)、中置和右側(cè)揚(yáng)聲器作為所有聲音的基礎(chǔ),相對于后置揚(yáng)聲器來說始終優(yōu)先選擇前置揚(yáng)聲器。在左側(cè)和中置揚(yáng)聲器之間對左邊屏幕的聲音實(shí)施聲像擺位,同時將其中一小部分散布到右側(cè)揚(yáng)聲器。事實(shí)上,玩家動作聲、技能音效甚至角色語音都運(yùn)用了這一技巧。另外,游戲中的環(huán)境聲是四聲道的,所以后置揚(yáng)聲器中也會播放。在游戲當(dāng)中,兩個角色在分處不同地點(diǎn)時會聽到不同的環(huán)境聲。對于右側(cè)角色,我們會壓低其左側(cè)、前置和后置揚(yáng)聲器發(fā)出的環(huán)境聲(對于左側(cè)角色,采用相反做法)。這樣可以確保呈現(xiàn)與屏幕空間相稱的清爽體驗(yàn)。

圖 1:對環(huán)境聲實(shí)施聲像擺位

在不從中間垂直分隔的情況下,對分屏的處理有沒有什么不同?比如,在某個玩家一側(cè)的空間變大、由縱向分屏變?yōu)闄M向分屏或者畫面由分屏變?yōu)槿恋臅r候。

喬基姆:兩個玩家在縱向分屏模式下占用同樣的屏幕空間是目前最為普遍的情形,也是我們在技術(shù)上投入時間和精力最多的地方。除此之外,游戲當(dāng)中還有一種常見的情形,就是兩個玩家在全屏模式下共用同一畫面。不過,在這些情形下,既定的空間布局框架并沒有被完全打破。這一點(diǎn)對我們來說很重要。如此一來,即便視角不同,音頻的行為規(guī)則也只是略有變動,玩家不注意的話可能都察覺不到。在全屏環(huán)節(jié)當(dāng)中,我們的主要做法是相對于屏幕中點(diǎn)來追蹤聲源,并以此在橫向平面上相應(yīng)地對其實(shí)施聲像擺位。這跟我們總體的屏幕空間管理理念是一致的,同時也極大地提高了此類玩法環(huán)節(jié)的清爽度,盡管這些環(huán)節(jié)本身往往畫面繚亂、節(jié)奏緊張。

格蘭:針對這種復(fù)雜情況,我們想到的其中一個技術(shù)方案是添加濾波插件。該濾波插件是個按聲道配置的雙二階濾波器,其允許根據(jù)需要調(diào)節(jié)相應(yīng)的音量推子和 Q 值。這樣方便在玩家死亡和重生時對各個聲道實(shí)施精細(xì)的控制。通過對一半混音進(jìn)行低通濾波器掃頻并針對每個玩家明確加以區(qū)分,我們最終獲得了清爽的聲音效果。由于玩法限制(比如長時間處于低 HP 值狀態(tài)),我們無法對低通的那一半混音應(yīng)用類似的效果。如果應(yīng)用的時間過長,聽覺效果會適得其反。所以,我們只把它用在了發(fā)生于轉(zhuǎn)瞬之間的死亡/重生時刻。多虧 Wwise 中的現(xiàn)有代碼庫,插件的功能很容易就實(shí)現(xiàn)了。

那完全空間化 (3D) 的聲音呢?兩個玩家有時會處在相對于聲源的不同位置。你們是如何設(shè)法避免在游戲世界中定位這些空間化聲音時造成混淆的??

菲利普:這個處理起來要比 2D 聲音稍微棘手一點(diǎn)。在為游戲制作聲音的過程中,我們很早就意識到了這個問題,不過直到很晚才想到解決辦法。有個最簡單的例子:某個玩家可能處在離聲源很近的地方,但其攝像機(jī)是偏的,而另一玩家離聲源相對較遠(yuǎn)一點(diǎn),但是正對著它。在這種情況下,混音疊加之后聲音會同時出現(xiàn)在前置和后置揚(yáng)聲器中,導(dǎo)致感知的聲音范圍很寬、音量很大(跟預(yù)期相比)。就我個人感覺,這會產(chǎn)生違和感。這樣就把游戲交了肯定是不行的。我們有一條堅(jiān)定不移的原則,就是在實(shí)施聲像擺位和混音時優(yōu)先考慮有聲源在視野之內(nèi)發(fā)聲的玩家。但這個問題把規(guī)則打破了,所以我們必須得做點(diǎn)什么。

喬基姆:我們在此看到的問題基于項(xiàng)目本身特定的聽者設(shè)置。這里有兩大痛點(diǎn)。第一個是空間音效如何定位。對于最靠近空間聲源的玩家,通常產(chǎn)生的混音輸出最響亮,其視角對揚(yáng)聲器部署的影響也最大。其視野往往跟設(shè)計(jì)師其時要關(guān)注的東西不符,然而我們并沒有現(xiàn)成的工具來對此加以調(diào)控。

第二個是 Wwise 本身如何針對聽者組合聲道。在來自空間音效的輸出被兩個玩家聽到時,信號量會翻倍;跟只有一個玩家聽到同樣的聲音相比,其輸出音量增大了。這會對最終結(jié)果產(chǎn)生難以預(yù)測的影響,因?yàn)楦鱾€聲道的信號量完全取決于兩個玩家具體在聲源的什么位置。

在開始將聲音整合到游戲中時,我們很快發(fā)現(xiàn)了空間化發(fā)聲體的振幅問題。為此,我們先是創(chuàng)建了一個非常簡單的 RTPC,并將之與上層 Actor-Mixer 的 Make-Up Gain 綁定。對于每一播放空間化聲音的發(fā)聲體,都會追蹤聽者的相對距離。當(dāng)兩者都在范圍之內(nèi)時,會持續(xù)更新此 RTPC 以根據(jù)兩者的距離降低音量 – 所有這些都是為了抵消聲道加倍帶來的強(qiáng)度增加。當(dāng)然,這種修復(fù)非常蹩腳。而且,因?yàn)闆]法準(zhǔn)確預(yù)測兩個聽者加在一起的信號量,整體實(shí)現(xiàn)起來并沒有獲得理想的振幅平坦化結(jié)果。

由于這兩個問題的存在,我們根本無法控制游戲的空間混音。為此,我們決定深入探究 Wwise 的底層邏輯,以便在如何處理《It Takes Two》中的空間化聲源方面制定自己的規(guī)則。

圖 2 & 3:一個空間聲源,兩條聽者通路

格蘭:在 Wwise 系統(tǒng)中建立自己的規(guī)則之前,我們需要先了解 Wwise 本身的規(guī)則。為此,我們詳細(xì)考查了目前都有什么、哪些需要調(diào)整以及在哪里做調(diào)整。

就像前面說的,我們開始得很晚。所以,要斟酌如何在保證項(xiàng)目進(jìn)度的情況下獲得想要的結(jié)果。就設(shè)計(jì)需求而言,我們的目標(biāo)是消除信號重復(fù)的問題,并依據(jù)指向性聚焦來對信號加以限制,以此構(gòu)建自己的 Spatial Panning 系統(tǒng)。

為此,需要知曉衰減范圍內(nèi)的所有聽者及其相對于各個發(fā)聲體的朝向。最終,我們選擇了主要根據(jù)距離來對信號變化做平滑過渡。同時,間接借助玩法來控制指向性信號平滑過渡的速度,因?yàn)樵诖蠖鄶?shù)情況下旋轉(zhuǎn)變化都相當(dāng)可控和平滑。為了減輕對性能的影響并按照所需格式獲取數(shù)據(jù),我們不得不在 Wwise 系統(tǒng)中做一系列的調(diào)整以求獲得想要的結(jié)果和性能。

有沒有發(fā)現(xiàn)這一 Spatial Panning?解決方案固然很有幫助但也造成了其他問題?有的話,都是什么問題?采用了什么方法加以避免?

菲利普:我們對這一問題的修復(fù)并非完美無暇,玩家仔細(xì)聽的話肯定能聽出點(diǎn)什么來。但是,它解決的問題絕對比造成的問題多。我們的解決方案涉及到移動的聲音(比如由后置揚(yáng)聲器轉(zhuǎn)到前置揚(yáng)聲器),所以需要通過創(chuàng)建線性插值來實(shí)現(xiàn)平滑的過渡。如果玩家控制角色快速做出劇烈動作,即便基于各種潛在情形做了精細(xì)調(diào)整,線性插值感覺起來還是可能有點(diǎn)遲緩。但是,游戲中并不存在玩家獨(dú)自聆聽某一聲源的情形,所以很難對整個混音當(dāng)中的個別問題進(jìn)行甄別。

喬基姆:Spatial Panning 功能是專門為了解決我們在《It Takes Two》中遇到的問題而構(gòu)建的。在這個項(xiàng)目的開發(fā)過程中,為了獲得最終想要的結(jié)果而采取的各種方案(包括 Spatial Panning)并非寬泛地面向所有以“動作”為主要表現(xiàn)形式的分屏游戲;相反,它們是為《It Takes Two》量身打造的。比如,它的玩法非常線性;玩家總是向前移動,當(dāng)中觸發(fā)的所有空間音效都是據(jù)此設(shè)計(jì)的。雖然我們的解決方案在這樣的游戲環(huán)境下效果很好,但并不意味著其對開放世界或玩家視角不對稱的游戲也有效。當(dāng)然,我們將來可以在 Spatial Panning 理念的基礎(chǔ)上不斷進(jìn)行拓展。但是,在開發(fā)新的游戲時肯定要對其具體需求做重新的思考。

格蘭:由于游戲的發(fā)行正好趕上新主機(jī)的發(fā)布,鑒于新主機(jī)本身的問題和特點(diǎn),我們不得不頻繁更新 Wwise 版本。這也意味著我們要花大量時間來確保各項(xiàng)功能(如 Spatial Panning)運(yùn)行良好。在使用第三方軟件時,這是常有的事情,沒什么好奇怪的。不過在對現(xiàn)有軟件做出修改時最好記住一件事情,那就是構(gòu)建配套工具(或使用現(xiàn)有工具)來盡量幫助實(shí)現(xiàn)這一過程,同時在代碼庫中清晰標(biāo)記所作的改動。這樣可以降低在不同版本之間遷移時的成本。

混音

《It Takes Two》的混音效果聽起來很不錯。雖然存在分屏的問題,但感覺一直都很清爽。在對游戲進(jìn)行混音時采用了怎樣的方法?當(dāng)時有什么設(shè)想?如何投入實(shí)際應(yīng)用的?

菲利普:我們想打造富有變化、充滿樂趣的混音,確保始終聚焦于引人注目的新鮮事物上。這款游戲非常線性,相比開放世界游戲,實(shí)現(xiàn)起來容易很多。當(dāng)玩家在房間之間穿梭或沿著主路移動時,只要不斷聚焦于有趣的聲音和事件上即可。這一點(diǎn)大部分都是通過混音決策實(shí)現(xiàn)的,為此要仔細(xì)甄選哪個玩家應(yīng)當(dāng)聽到什么。在音頻團(tuán)隊(duì)觀摩會議中,從制作音效到完成終混,我們一直在想這個問題。最終我們決定由兩個人合作完成混音,以此確保游戲能夠像設(shè)計(jì)的那樣運(yùn)作。這也使得整個混音過程充滿了樂趣,而且有人協(xié)助和探討確實(shí)很有幫助。

安妮?索菲:分屏對我們的有些混音決策產(chǎn)生了很大的影響。比如,我們沒有試圖總是把兩邊屏幕分開并將之看作一種阻礙,而是選擇理性地看待分屏設(shè)計(jì)并巧妙地借助聲音來敘事,以此突顯兩邊屏幕中當(dāng)前的關(guān)鍵元素并通過混音來強(qiáng)化。通過每次聚焦于一個重要元素,我們可以告訴玩家要關(guān)注什么。這一點(diǎn)在場面宏大、節(jié)奏緊張的戰(zhàn)斗場景當(dāng)中尤為重要。有時這意味著要在呈現(xiàn)內(nèi)容上把控得非常嚴(yán)苛,但也正因如此才確保了混音的清爽度和一致性。

有沒有考慮過基于播放配置呈現(xiàn)不同的混音?比如,借助耳機(jī)為兩個本地玩家提供不同的混音,或者在兩個聯(lián)機(jī)玩家的終端分別加以處理?

菲利普:在音頻制作之初,我就想過這個問題,也萌生過一些想法。比如,壓低自身角色的動作聲和對方角色的說話聲。或者,將另一玩家在游戲世界中聽到的環(huán)境聲靜音。但是后來對玩家體驗(yàn)做了一下設(shè)想,發(fā)覺這些想法并沒有什么實(shí)際用處。因?yàn)椴还軐τ谀姆N游戲模式,在畫面表現(xiàn)方面都是一樣的。所以,合理的做法是采用同樣的聲音處理方式。否則的話,不同的混音還要單獨(dú)維護(hù),反而會增加我們的工作量。與此同時,我們也力爭在兩個玩家處于全屏模式、身處相同聲景時提供恰如其分的音頻體驗(yàn)。尤其對于像《It Takes Two》這樣的游戲,我覺得更應(yīng)該借助聲音設(shè)計(jì)來讓玩家彼此之間感同身受、情意相通。

HDR

《It Takes Two》有沒有使用 Wwise HDR?怎么設(shè)法做到既滿足自身需求又貼合分屏設(shè)計(jì)的?

菲利普:我們確實(shí)使用了 Wwise HDR。這個很容易做出選擇。我們要利用 HDR 清理混音,剔除那些聽不到的聲音,以此來對游戲進(jìn)行優(yōu)化。之前在 EA DICE 的時候,不少游戲開發(fā)當(dāng)中都用過 HDR。稍加測試一下,很快對 Wwise HDR 就熟了。下面是我總結(jié)的一些技巧和竅門:

  • 對聲音的響度進(jìn)行歸一化處理;

  • 規(guī)定要針對不同類別的聲音使用怎樣的 Voice Volume 值,或者明確哪些聲音在混音當(dāng)中最為關(guān)鍵(不一定非得響度最大,也可以是有趣的聲音);

  • 盡量讓 Voice Volume 值保持不變(距離衰減除外)。比如,不要對 Voice Volume 值應(yīng)用隨機(jī) LFO RTPC。否則,自身聲音會將其他聲音壓低(或者被其他聲音壓低),每次的調(diào)節(jié)效果都不一樣,最終可能會顯得雜亂無章。

  • 針對所有可變音量和整體混音使用 Make-Up Gain;

  • 倘若同一音效對應(yīng)有多個分層,要注意各個聲部可能具有不同的 Voice Volume 值,這樣的話那些要一起播放的分層也會被壓低。明智的做法是為要一起播放的分層設(shè)置相同的 Voice Volume 值,并使用 Make-Up Gain 對這些分層之間的聲像擺位統(tǒng)一進(jìn)行處理;

  • 注意,如果將 Voice Volume 設(shè)為低于 HDR 窗口范圍下限的數(shù)值,并且在 Virtual Voice Behavior 中選擇了相應(yīng)設(shè)置,自身的聲音很可能會被剔除??梢杂幸鉃橹?,但要心里有數(shù)。

另外我們還發(fā)現(xiàn),有兩個聽者也意味著同一時間會有兩個 HDR 實(shí)例。也就是說,假如某一聽者處在 Voice Volume 較高的聲源旁邊,而另一聽者處在衰減范圍之外,那么疊加之后的 HDR 閃避幅度將弱于兩個聽者都靠近聲源的情形。這種行為未必是我們想要的。

圖 4:利用 Voice Monitor 直觀地呈現(xiàn) HDR 數(shù)據(jù)

混響效果器

《It Takes Two》的混響和整體環(huán)境聽起來非常真切。使用了哪種混響效果器?把這些環(huán)境打造得如此逼真,還探究過哪些解決方案?

菲利普:《It Takes Two》音頻監(jiān)制的核心宗旨在于為玩家提供沉浸體驗(yàn),讓游戲世界對聲音做出響應(yīng)以激起玩家的共鳴。我們希望能夠構(gòu)建一個美輪美奐、富有新意的游戲環(huán)境,比如吸塵臂、玻璃罐以及萬花筒關(guān)卡中的怪異混響效果。為此,我們嘗試使用了 Wwise RoomVerb 插件,但其并不能完全滿足我們的需求。最終,我們決定只使用卷積混響效果器來根據(jù)需要靈活地加以調(diào)節(jié)。我們使用鞭子和煙花對不同環(huán)境做了大量沖激響應(yīng)錄音,并為水下及其他奇幻場景精細(xì)設(shè)計(jì)了很多沖激信號樣本。

除了這些卷積混響效果器,我們還構(gòu)建了 Environment Type 系統(tǒng),以便能夠播放各種專門設(shè)計(jì)的反射尾音。我們主要將這些尾音用在了爆炸聲和武器聲上。其他一些借助較長尾音傳達(dá)空間和響度特性的聲音對此也有應(yīng)用。事實(shí)上,我們專門制作了兩個不同版本的腳步聲尾音:一個用于小房間,一個用于大房間。

為了將游戲世界打造得更加逼真,我們構(gòu)建了運(yùn)行時延遲系統(tǒng)。該系統(tǒng)借助射線投射推斷從角色到反射表面的距離及表面類型。這樣較為靜態(tài)的混響和人為設(shè)計(jì)的反射會更加自然,確保游戲世界能夠?qū)Ψ浅<?xì)小的變化快速做出反應(yīng)。

圖 5:針對特定關(guān)卡調(diào)節(jié) Convolution Reverb 的 Impulse Response 設(shè)置

喬基姆:在設(shè)計(jì)相應(yīng)系統(tǒng)來模擬聲音播放起來的環(huán)境效果時,要明確頻譜是預(yù)先設(shè)定好的還是在運(yùn)行時動態(tài)調(diào)節(jié)。基于現(xiàn)實(shí)資源和理論構(gòu)想,設(shè)法在兩者之間找到合適的平衡點(diǎn),努力做到兼顧技術(shù)需求和創(chuàng)作愿景。就《It Takes Two》中的環(huán)境系統(tǒng)而言,我們希望能夠通過卷積處理來實(shí)現(xiàn)混響效果。雖然我們最終要在運(yùn)行時動態(tài)地將信號饋送到這些總線中,但效果器自身特性卻是為渲染特定類型的環(huán)境預(yù)先設(shè)計(jì)的。在玩家在游戲當(dāng)中移動時會監(jiān)控其位置,并據(jù)此設(shè)法將信號輸出到對應(yīng)混響總線,不過混響本身的聲音效果是相當(dāng)固定的。

另一方面,有了堅(jiān)實(shí)可靠的混響基底,我們就可以大膽地使用可變延遲線來表現(xiàn)早期反射物理現(xiàn)象。這些可變延遲線由從游戲中收集的各種數(shù)據(jù)(比如到墻壁的距離、聽者周圍的材質(zhì)以及與周圍物體的關(guān)系)驅(qū)動的實(shí)時計(jì)算控制。

任何一種系統(tǒng),無論是預(yù)先設(shè)定好的還是在游戲運(yùn)行時動態(tài)調(diào)節(jié),都有其自身的優(yōu)點(diǎn)和缺點(diǎn)。不過,只要結(jié)合加以運(yùn)用就可打造出逼真的數(shù)字世界。

格蘭:遺憾的是,Wwise 中的延遲插件缺少可變延遲時間功能。換句話說,就是不支持在運(yùn)行時通過 RTPC 來調(diào)節(jié)延遲時間。然而,這對我們的早期反射系統(tǒng)來說是必不可少的。

最初,在設(shè)計(jì)原型的時候,我們使用了 Pure Data。除此之外,還基于 Pure Data 補(bǔ)丁(使用現(xiàn)已停止維護(hù)的 Heavy 編譯器生成)構(gòu)建了 Wwise 插件,以便在引擎中做各種各樣的嘗試。注意,并不是所有的平臺都受Heavy支持,而且可能無法馬上拿來使用。

剛開始,我們嘗試了使用磁帶延遲,但在更新延遲時間時會發(fā)生音高變化。后來,又嘗試了使用延遲線及可變延遲時間,但在更新延遲時間時會產(chǎn)生雜音(如噼啪噪聲)。不過,結(jié)果足以說明可能會得到怎樣的效果。在此基礎(chǔ)之上,我們可以繼續(xù)構(gòu)建自己的 Wwise 插件。

最終,我們使用了帶有雙三次插值的分?jǐn)?shù)延遲線來消除更改延遲時間時可能產(chǎn)生的噪音。

圖 6:Hazelight 自己構(gòu)建的 Wwise 插件 Haze Delay,利用分?jǐn)?shù)延遲線消除更改延遲時間時可能產(chǎn)生的噪音

分屏意味著可能要在同一時間處理好多卷積混響效果器實(shí)例。對延遲來說,同樣如此。前面所說的系統(tǒng)有沒有造成什么性能問題?如果有,是怎么解決的?

菲利普:兩個角色很有可能處在不同的環(huán)境區(qū)域,甚至處在不同環(huán)境區(qū)域之間的淡變區(qū)域。也就是說,只有角色聲音才會被同時混音到四個卷積混響效果器中。另外,我們還將其他環(huán)境區(qū)域中的聲音混音到了該區(qū)域的混響效果器。所以,同一時間可能會有大量的混響效果器實(shí)例。借助運(yùn)行時延遲系統(tǒng),實(shí)現(xiàn)起來會簡單一些。在這種情況下,僅以角色為中心對聲音進(jìn)行延遲處理,同一時間最多只會有四個延遲實(shí)例(每個角色兩個)。

喬基姆:在《It Takes Two》中,混響效果器總線跟游戲世界中的環(huán)境區(qū)域關(guān)聯(lián),只有在玩家進(jìn)入其所代表的區(qū)域時才會被激活。同樣地,在該區(qū)域沒有任何玩家時,關(guān)聯(lián)的混響發(fā)送會被剔除,總線會逐漸變回停用狀態(tài)。在游戲當(dāng)中,玩家會不斷觸發(fā)周邊的混響效果器實(shí)例。這些實(shí)例會在彼此之間交叉淡變,讓玩家自然而然地進(jìn)入下一環(huán)境。在沒有任何來自當(dāng)前玩家的輸入信號時,其會轉(zhuǎn)入休眠狀態(tài)。前面也說了,兩個玩家可能處在完全不同的位置。為了提供相應(yīng)的支持,我們對這一系統(tǒng)進(jìn)行了精心的設(shè)計(jì)。即便如此,還是會有七八條卷積混響效果器總線同時處于激活狀態(tài)的情況。這是跟玩家所處的位置和游戲世界內(nèi)的其他聲音相關(guān)的。在開發(fā)過程中,Audiokinetic 自己也對卷積混響效果器進(jìn)行了性能優(yōu)化 – 非常感謝!

格蘭:為了減輕處理負(fù)荷,我們一直在琢磨如何限制所要處理的對象數(shù)量。最后想到了一個好辦法,就是剔除不活躍的對象。比如,那些不播放任何聲音或超出范圍的對象。

除此之外,我們還確保了只在必要時更新數(shù)據(jù)。比如,對于延遲系統(tǒng),我們使用了異步射線投射。并且,只有在足夠的數(shù)據(jù)發(fā)生變化時才會更新延遲插件。藉此,盡可能減少了對可變延遲線的調(diào)節(jié),但代價是所有調(diào)節(jié)都不在當(dāng)前幀上。

性能

除混響效果器外,分屏還意味著基本上任何時候都會并行運(yùn)行同一游戲的兩個實(shí)例。這有沒有給性能帶來什么大的問題?主要都有哪些擔(dān)憂?是如何解決的?

菲利普:在整個音頻制作過程中,我們一直在想這個問題。這是理所當(dāng)然的。想把游戲音頻打造得引人入勝并不容易,到最后可能要舍棄很多費(fèi)心創(chuàng)作的東西。為此,我們幾乎從一開始就在監(jiān)控?cái)?shù)據(jù),確保其始終處在合理的體量之內(nèi)。在聲音設(shè)計(jì)當(dāng)中盡量只在必要時使用相應(yīng)分層,并借助混音決策及 HDR 剔除那些不必要的聲音。這并沒有給我們的創(chuàng)作帶來什么阻礙。不過,有時為了兼顧聲音和優(yōu)化需求不得不調(diào)整設(shè)計(jì)手法。除此之外,我們還結(jié)合使用了 Wwise 內(nèi)置的各種優(yōu)化系統(tǒng)(如 HDR、Playback Limit、Virtual Voice Behavior 和 Playback Priority)。

喬基姆:對于任何一款游戲,同時播放大量聲音幾乎都會嚴(yán)重消耗 CPU 資源,像《It Takes Two》這樣的分屏游戲當(dāng)然也不例外。主要的辦法是對聲部和總線做出限制。不過,HDR 在這方面的效用也相當(dāng)出色。藉此,不僅可以獲得清爽、動態(tài)的混音效果,還可減少對游戲中的次要聲音的處理,在達(dá)到既定音量閾值以下時將其剔除。

《It Takes Two》支持五種不同的平臺,其需求、要求、弱點(diǎn)和優(yōu)點(diǎn)各不相同。我們的做法是不斷甄別存在嚴(yán)重沖突的地方,確保游戲在所有主機(jī)環(huán)境下都能夠順暢運(yùn)行。這樣的話,便不必在 Wwise 中為不同的平臺單獨(dú)設(shè)置層級結(jié)構(gòu)。為了找到一個對所有設(shè)備來說都能接受的平衡點(diǎn),我們對聲音設(shè)計(jì)方案反復(fù)做了很多的調(diào)整和改進(jìn)。比如,對從磁盤進(jìn)行流播放的聲音樣本進(jìn)行歸類。在開發(fā)當(dāng)中,我們發(fā)現(xiàn)這會對性能產(chǎn)生直接的影響。除此之外,我們還綜合考量了其他一些因素。比如,處理器花在音頻幀上的時間、RAM 中未壓縮的 PCM 數(shù)據(jù)量以及硬盤驅(qū)動的流媒體數(shù)量。

即便 Wwise 只有 Profiler 功能,我還是會用。

格蘭:澄清一下,并不會同時運(yùn)行兩個游戲?qū)嵗?,只是兩個玩家的視角有所不同。就聽覺體驗(yàn)而言,總是有兩個聽者。也就是說只有一個音頻源,但信號進(jìn)行了單獨(dú)的混音。

正如喬基姆前面提到的,我們主要關(guān)注的是同時播放的聲音數(shù)量及各自的復(fù)雜程度。比如,有些需要每幀更新多個 RTPC、混響效果器和位置。為了明確區(qū)分各個對象的不同要求以提升整體開發(fā)效率,我們做了大量的設(shè)置并創(chuàng)建了很多簡單易用的快捷方式。比方說 Fire-Forget 聲音,播一遍馬上就會被停用,直至需要播放另一聲音。為了確定什么時候可以停用大部分聲音對象,我們充分利用了衰減半徑并做了相應(yīng)的補(bǔ)充,來兼顧兩個聽者的移動速度以保障聽覺體驗(yàn)。

聲音設(shè)計(jì)

《It Takes Two》的玩法多種多樣。這意味著要為音頻創(chuàng)建大量的內(nèi)容。怎么設(shè)法做到這一點(diǎn)的?有沒有跟外包公司合作?

菲利普:確實(shí),我們跟 Red Pipe Studios 就有合作。所有過場動畫的聲音和混音都是他們做的。在音樂方面,我們跟克里斯托弗?恩格 (Kristofer Eng) 進(jìn)行了合作。他跟我們的專職作曲家古斯塔夫?格雷夫伯格 (Gustaf Grefberg) 組成了二人作曲搭檔。游戲內(nèi)幾乎所有的旁白錄音和初步剪輯都是 SIDE 做的。在為過場動畫設(shè)計(jì)擬音的時候,Red Pipe 還跟 Foley Walkers 進(jìn)行了合作。我跟 Ton & Vision 的聲音設(shè)計(jì)師帕特里克?斯特倫達(dá)爾 (Patrik Str?mdahl) 做了大量的擬音錄制工作。

說實(shí)話,在《It Takes Two》的音頻制作過程中,我們的時間一直都很緊張。所以,才流傳著“第一遍就是最后一遍”這樣的笑話。不過,實(shí)際情況跟這也差不了多少。大部分情況下都是一步到位,因?yàn)榭赡芨緵]時間回過頭來再做改進(jìn)。我倒覺得這樣挺好。說得極端一點(diǎn),我寧可把整個游戲的聲音做得差強(qiáng)人意,也不愿只把第一關(guān)的聲音做得無可挑剔。

雖然無奈之下不得不這么做,但在質(zhì)量方面我們從不含糊。照制作經(jīng)理的話說,“把標(biāo)準(zhǔn)設(shè)得高高的,認(rèn)準(zhǔn)了就貫徹到底,無論如何都不妥協(xié)”。我們的目標(biāo)就是打造獨(dú)樹一幟的分屏游戲,即便項(xiàng)目工期很緊也不會做出絲毫的妥協(xié)。

我們最后確實(shí)空出了一點(diǎn)時間,也回過頭增添了一些聲音,還做了一些改進(jìn)。一直到游戲基本做好交給客戶,都在想方設(shè)法將音頻打造得盡善盡美。

安妮?索菲:多虧了菲利普在整個項(xiàng)目期間的周密規(guī)劃,我們才得以為游戲制作出這么優(yōu)質(zhì)的內(nèi)容。對我們的聲音設(shè)計(jì)、制作與整合、技術(shù)系統(tǒng)開發(fā)與迭代和過場動畫音頻外包來說同樣如此。我們基本上給每個關(guān)卡和子關(guān)卡都設(shè)定了期限,在可能的情況下會多留一些時間做改進(jìn)和混音。一旦某一階段的時間用完了,馬上要轉(zhuǎn)入下一階段的制作。面臨如此巨大的時間壓力,我們只有設(shè)法在第一次迭代的時候就把所有東西都做得達(dá)到發(fā)行質(zhì)量(包括聲音設(shè)計(jì)和混音)。自始至終,我們每個人都抱著認(rèn)真負(fù)責(zé)的態(tài)度,無論新舊素材在質(zhì)量上都絕不含糊。同時,充分發(fā)掘各自的創(chuàng)作潛力,確保把所有景物和角色都打造得鮮活如生??偟膩碚f,這么多的內(nèi)容確實(shí)是個挑戰(zhàn),不過項(xiàng)目當(dāng)中也充滿了樂趣。?

音樂

Music 關(guān)卡是游戲的最后一關(guān),聲音效果非常出色。在歌唱技能上是怎么處理的?有沒有以對拍的方式讓音樂推動劇情的發(fā)展?

喬基姆:在 Music 關(guān)卡中,有很多的玩法元素。從某種形式上來說,都是受背景音樂控制的。這當(dāng)中最重要的要數(shù) May 的 Singing Ability。她要用該技能解決謎題,在關(guān)卡中一步一步向前。每次玩家一激活該技能,May 就會隨著當(dāng)前播放的音樂歌唱,跟著曲速和曲調(diào)手舞足蹈。為了實(shí)現(xiàn)這一點(diǎn),我們選擇了讓歌手以 MIDI 音軌為模板來演唱樂曲。然后,又將 MIDI 數(shù)據(jù)解析為標(biāo)記點(diǎn)并被植入到了源文件中,以便稍后由游戲引擎讀取并告知于系統(tǒng)。

說到讓玩法與音頻線程上發(fā)生的事件保持同步,我們必須考慮這樣一個事實(shí):《It Takes Two》不僅有本地模式(兩個玩家共用同一設(shè)備),還有聯(lián)機(jī)模式(兩個玩家通過網(wǎng)絡(luò)互動)。對于后一種情況,會有兩個單獨(dú)的游戲?qū)嵗嬖冢瑫r也會有兩個獨(dú)立的 Wwise 實(shí)例運(yùn)行。兩個游戲?qū)嵗g會一直在玩法狀態(tài)上進(jìn)行通信,但兩個 Wwise 實(shí)例之間并沒有交流,其只是在本地播放聲音并對之做出反應(yīng)。音頻線程的性質(zhì)意味著其會以固定的速度運(yùn)行,但由于主線程的每一幀都要花很多毫秒來計(jì)算,兩端的聲音有可能會在不同的時間開始和結(jié)束。對大多玩法來說,這一點(diǎn)無關(guān)緊要。兩個玩家心意相通,一般不會被此困擾。但是,如果一方等待音頻線程傳遞事件,雙方又要在游戲中同時觸發(fā)事件,那么時機(jī)就成為了一個關(guān)鍵因素。

對于 Music 關(guān)卡,我們面臨著這樣的現(xiàn)實(shí),而且別的方面也要顧及。即便如此,我們還是使用了大量音樂回調(diào)來自由觸發(fā)那些對時機(jī)要求不高的事件(比如背景效果和其他花絮畫面)。這些事件隨時都可以發(fā)生,但要確保畫面始終與音樂保持同步。

雙方都能感受到播放音樂時對游戲世界產(chǎn)生的影響,所以說并不存在對方的操作讓自己毫無防備的情況。

Wwise

能否簡單說說將 Wwise 作為音頻引擎的優(yōu)劣之處?對此采取了怎樣的補(bǔ)救措施?

菲利普:《It Takes Two》是我用 Wwise 制作的第一部游戲。我覺得,Wwise 最好的一點(diǎn)就是穩(wěn)定可靠。這一點(diǎn)非常好。運(yùn)行起來一直都很流暢。當(dāng)然,我們在使用 Wwise 時也遇到了一些技術(shù)問題。但是只要稍加變通都可以解決,并沒有到工作無法推進(jìn)的程度。另外,除了我,團(tuán)隊(duì)里還有很多 Wwise 專家,包括安妮?索菲和喬基姆。他們都可以給音頻團(tuán)隊(duì)的其他成員提供指導(dǎo)。而且,我發(fā)現(xiàn) Wwise 非常容易上手。只要肯花心思,很快就能掌握。

全球各地有很多音頻團(tuán)隊(duì)都在使用 Wwise,這從很多方面來說都是件好事。不過也正是因?yàn)檫@樣,Wwise 的功能并不特別針對某一團(tuán)隊(duì)或者某款游戲。所以,在大部分情況下,我們要自己尋找分屏的處理方案。比方說,如何將 Balance-Fade (2D) 聲音輸出到中置聲道。我們希望在游戲中大量使用中置聲道來將聲音一分為二,同時有選擇性地在兩者之間進(jìn)行分配來保證立體聲效果。但是,Wwise 并不支持使用 Balance-Fade 和 Center Percentage 調(diào)節(jié)發(fā)送信號。為此,我們只好改為通過創(chuàng)建大量輔助總線來將信號發(fā)送到中置聲道。

圖 7:變通之法 – 創(chuàng)建輔助總線來將信號發(fā)送到中置聲道

喬基姆:Wwise 有自己獨(dú)特的行為機(jī)制,并不是說你想讓它怎樣就怎樣。作為一個框架,它顯然包含了很多現(xiàn)代聲音引擎應(yīng)當(dāng)具備的基本功能。對于認(rèn)真考慮使用 Wwise 為游戲打造絕妙音頻的人,我想說,它并不是一個能夠滿足所有聲音設(shè)計(jì)需求的終極解決方案。

這樣的第三方工具是不存在的。每款游戲的玩法都不一樣,不可能有普適的解決方案。

你可以把它當(dāng)做一個很好的起點(diǎn)。它有一套完備的功能,運(yùn)行起來非常穩(wěn)定。你可以在其基礎(chǔ)之上發(fā)揮自己的創(chuàng)意。如果你只對它本身的功能感興趣,遲早會感到失望。如果你想利用它創(chuàng)造屬于自己的東西,會有無限的可能。

為了擴(kuò)展 Wwise 的功能以更好地滿足自身需要,我們調(diào)整了在有多個聽者時對空間化信號的處理方式。剛開始的設(shè)置效果并不理想,反而減弱了整體上的沉浸感。我們早期的很多嘗試和努力都沒有成功,Wwise 并不能提供滿足所有需求的方案。

好在 Wwise 的架構(gòu)是開放式的,允許用戶根據(jù)需要自行設(shè)置。于是,我們就對底層系統(tǒng)做了大幅調(diào)整,以此來滿足自己的特定需求。最終,我們構(gòu)建了自己的 Spatial Panning 系統(tǒng)。

格蘭:這是我作為音頻程序員參與的第一個項(xiàng)目,而且到制作后期才加入到團(tuán)隊(duì)中。我的一項(xiàng)重要任務(wù)是針對 Wwise 實(shí)施改進(jìn)并構(gòu)建自動化工具。在這當(dāng)中,WAAPI 為我提供了很大的幫助。無論采用哪種編程語言,都能利用 Wwise 的設(shè)計(jì)功能。然而,WAAPI 的功能并不完善,但大部分情況下都很好用,而且Audiokinetic 一直都在對其進(jìn)行更新和改進(jìn)。

在制作開始的時候,Unreal 中還沒有 Event-Based Packaging 這樣的概念。不過,我們很早對此就有自己的想法。雖然我們對基于事件的音頻包生成有自己的方案,但在生成 .bnk 和 .wem 文件時,最終還是采用了 Wwise 提供的生成方式。這種做法既可靠又高效??紤]到在迭代當(dāng)中浪費(fèi)的時間,順利地完成工作才是最重要的。?

就分屏游戲而言,各位在 Wwise 的使用方面有何建議?

菲利普:制定聲像擺位和混音規(guī)則并一以貫之。不過,在為分屏游戲制作音頻時,可能需要做出一定的妥協(xié)。無非就是優(yōu)先處理所需的聲音并制定相應(yīng)規(guī)則來確保大部分聲音的效果。做出這樣的選擇可能會很困難,但為了給玩家提供愉悅的體驗(yàn),也只能如此。

喬基姆:盡早看看游戲的視覺框架,站在聲音設(shè)計(jì)師的角度,確定其中哪些元素重要。設(shè)法明確基準(zhǔn)點(diǎn),并據(jù)此確??臻g上的一致性,以便在幀內(nèi)恰當(dāng)?shù)囟ㄎ宦曇?。無論是在 Wwise 內(nèi)還是在原始素材創(chuàng)建上,越早確立相應(yīng)的規(guī)則和體系,內(nèi)容增多后管理起來越輕松。還有,就是盡情嘗試自己的想法。分屏游戲的音頻構(gòu)建還有很多未經(jīng)探索的領(lǐng)域,各位完全可以按照自己的方式借助聲音來敘事。

格蘭:作為音頻程序員,我真不知道要是沒有 Wwise 源代碼該怎么辦。所以說,一定要了解代碼庫,不要害怕把事情搞砸。

安妮?索菲:我贊同菲利普關(guān)于制定聲像擺位和混音規(guī)則并一以貫之的說法。最終,聲音的空間化方式將決定分屏游戲的聽覺效果。所以,最好盡早明確這一點(diǎn)并形成規(guī)則,然后在后續(xù)工作當(dāng)中落實(shí)和貫徹,這樣可以省掉很多不必要的麻煩。以《It Takes Two》為例,有條混音規(guī)則就挺實(shí)用,即不追求將聲源完全空間化,而是著重基于屏幕空間來構(gòu)建聲景。這樣的話,便可根據(jù)與玩家的關(guān)系及攝像機(jī)的角度來播放聲音。藉此,不僅可以提高混音的清爽度,還能最大限度地減少由分屏帶來的混亂?!盎谄聊豢臻g”的意思是有意將很多非空間化 (2D) 聲音放到 Left-Center-Right 揚(yáng)聲器中播放,就像在電影之類的線性媒體中做的那樣,以此確保盡可能精準(zhǔn)地與畫面保持一致。當(dāng)然這只適用于部分特定的聲音,比如角色本身產(chǎn)生的聲音(擬音、角色駕駛車輛的聲音、玩家技能音效),或者始終處在畫面幀之內(nèi)的聲源發(fā)出的聲音(比如較短的一次性聲音)??偟膩碚f,對于線性分屏游戲,我建議至少要探索一下更具確定性的聲音設(shè)計(jì)和混音方法而不是不加區(qū)分地進(jìn)行空間化處理。

說到底,正是由于創(chuàng)作和技術(shù)人員之間的精誠協(xié)作,Hazelight 音頻團(tuán)隊(duì)才得以成功解決自己面臨的各種難題。毫無疑問,聲音設(shè)計(jì)師、作曲家、技術(shù)音頻設(shè)計(jì)師、音頻程序員都貢獻(xiàn)了自己的一份力量。他們相互學(xué)習(xí)、彼此信任、密切交流、群策群力,最終將質(zhì)量標(biāo)準(zhǔn)提高到了前所未有的高度。在《It Takes Two》音頻體驗(yàn)大獲成功的背后,是對目標(biāo)的清晰認(rèn)識、對規(guī)則的認(rèn)真貫徹、對可靠工具的靈活運(yùn)用以及對音頻設(shè)計(jì)的執(zhí)著追求。

HAZELIGHT

Hazelight 由瑞典資深電影導(dǎo)演、獲獎游戲《Brothers - A Tale of Two Sons》總監(jiān)創(chuàng)立。工作室于 2018 年發(fā)行了首部官方大作《A Way Out》,是有史以來第一款專為合作模式設(shè)計(jì)的第三人稱動作冒險(xiǎn)游戲。在此之后,工作室及團(tuán)隊(duì)決意繼續(xù)打造別具風(fēng)格的游戲,《It Takes Two》(2021 年 3 月發(fā)行)就是其中最典型的例子?!禝t Takes Two》是一款專為合作模式設(shè)計(jì)的平臺動作冒險(xiǎn)游戲,Hazelight 由此進(jìn)一步積累了在制作玩法多樣、融入感強(qiáng)的合作類游戲方面的經(jīng)驗(yàn)。如今的 Hazelight 音頻團(tuán)隊(duì)便是在《It Takes Two》開發(fā)期間成立的,其致力于通過在游戲當(dāng)中提供出眾的音頻體驗(yàn)來完美襯托 Hazelight 所構(gòu)建的新奇世界和玩法機(jī)制。


《It Takes Two》背后的聲音設(shè)計(jì) | Hazelight 音頻團(tuán)隊(duì)訪談的評論 (共 條)

分享到微博請遵守國家法律
铜陵市| 高尔夫| 高陵县| 敖汉旗| 如东县| 铁岭市| 通辽市| 建湖县| 曲阳县| 淮安市| 大新县| 临澧县| 达州市| 淳化县| 宽城| 交口县| 砀山县| 河东区| 吴江市| 中西区| 松桃| 肃北| 板桥市| 呼图壁县| 西青区| 抚顺县| 平顺县| 邯郸县| 和硕县| 遂溪县| 平邑县| 永吉县| 克拉玛依市| 馆陶县| 宜兰市| 玛曲县| 铜山县| 晋宁县| 唐河县| 锦州市| 赞皇县|