以REV2為基礎(chǔ)制作賽車引擎聲

前言
汽車引擎聲一直是游戲聲音設(shè)計工作中難度比較大的部分,難度主要來自以下幾個方面:
1、音頻品質(zhì)要求高,采集難度大。
競速游戲這個細(xì)分品類已經(jīng)有了不短的歷史,引擎聲在該類游戲中尤為重要,各家競速游戲大廠在這方面都各懷絕技,甚至不乏為競速游戲單獨(dú)開發(fā)游戲引擎的廠家,高端競速游戲在不斷的拔高玩家對于音頻品質(zhì)的要求。且此類音頻的原始素材獲取難度較大,高端車型價格昂貴,即使只是租來進(jìn)行錄制,也是一筆不小的花費(fèi)。錄制的過程也不是錄音棚里架幾只話筒就可以搞定的,對場地和錄音手法都有非常高的要求。
2、發(fā)生機(jī)制復(fù)雜多變。
一輛車在行駛時會有非常多的部件同時發(fā)出聲音,且各自發(fā)聲的原理和變化趨勢都不盡相同,想要做好車輛的聲音,不僅需要扎實(shí)的游戲音頻設(shè)計制作功底,同時要需要對汽車的機(jī)械原理進(jìn)行研究,理清楚內(nèi)燃機(jī)、傳動軸、離合器、變速箱、渦輪、懸掛、排氣管等等東西的工作原理和工作方式,才可能在游戲中模擬出自然的汽車聲。
3、游戲中對于音頻的交互性要求非常高
游戲中車輛的聲音需要隨著游戲的進(jìn)程,車輛的狀態(tài),玩家的操作實(shí)時變化,且符合物理規(guī)律和聽覺習(xí)慣。但是游戲中的聲音大部分都基于采樣——存儲——觸發(fā)——播放這一簡單的邏輯來運(yùn)行,聲音采樣的內(nèi)容都是固定的。雖然現(xiàn)在的游戲聲音引擎大多提供了可控采樣、可控音高、可控濾波等等改變聲音的方式,但是這些手段依然難以滿足競速游戲日益高漲的音效品質(zhì)需求。
4、一個良好的賽車游戲?qū)τ谝纛l程序的要求很高,發(fā)動機(jī)聲音的制作需要一個可以模擬發(fā)動機(jī)工作原理的程序內(nèi)核作為基礎(chǔ),且該程序內(nèi)核可以提供各種模擬真實(shí)車輛運(yùn)行時各種細(xì)節(jié)變化的參數(shù)供音頻引擎使用才可以。
最近一段時間,筆者出于個人興趣對Wwise內(nèi)提供的車輛引擎插件REV2進(jìn)行了一些簡單的研究,結(jié)合UE4的賽車游戲模板搭建了一個Demo,其實(shí)機(jī)效果還算不錯,為低成本制作擬真賽車聲提供了可能,現(xiàn)在將制作過程和效果和大家分享。

一、REV插件簡介
REV是Wwiss的合作友商CRANKCASE AUDIO推出的一款插件,其本質(zhì)是一個專門針對車輛引擎聲的粒子合成器。關(guān)于REV的背景和詳細(xì)參數(shù)大家可以參閱REV的用戶手冊,每個下載了REV插件的用戶都可以在這里找到它。

為了方便大家理解后續(xù)的文章,此處我們簡單介紹下REV的幾個關(guān)鍵參數(shù)及其使用方法:

該截圖包含了使用REV最關(guān)鍵的幾個選項(xiàng)和參數(shù)。藍(lán)色方框?yàn)槟壳拜d入的發(fā)動機(jī)采樣模型。Import Model鍵可以切換其他模型載入。REV官方提供了很多現(xiàn)成的高質(zhì)量采樣可以直接使用,只要取得授權(quán)就可以直接運(yùn)用到自己的游戲里。
紅色方框?yàn)榭刂芌EV發(fā)聲的所有所需參數(shù),發(fā)動機(jī)聲音的所有變化均通過這幾個參數(shù)控制來實(shí)現(xiàn):
Throttle:油門,可以模擬不同油門大小下發(fā)動機(jī)的聲音變化。
Gain:發(fā)動機(jī)音量,可以控制總體發(fā)動機(jī)音量的大小。
RPM:發(fā)動機(jī)的轉(zhuǎn)速,用來控制聲音隨著發(fā)動機(jī)轉(zhuǎn)速而改變。
Gear:檔位,配合車輛的換檔操作。
Velocity:車輛的速度,用來控制聲音隨著車輛速度發(fā)聲改變。
然后,我們需要為這些參數(shù)建立各自對應(yīng)的Game Parameters。比如像這樣:

然后將這些RTPC全部對應(yīng)起來:

這樣,REV就可以接受游戲引擎發(fā)出的參數(shù),從而實(shí)時模擬游戲中車輛的狀態(tài)發(fā)聲了。接下來,我們建立一個引擎聲的事件并把它導(dǎo)入UE4。
二、在UE4中調(diào)用REV的聲音
打開一個UE4的高級載具模板工程,然后打開載具藍(lán)圖,觀察其聲音設(shè)置??梢园l(fā)現(xiàn)它的聲音設(shè)置非常簡單,只是掛接了一個通過載具前進(jìn)速度調(diào)制的發(fā)動機(jī)loop聲,其表現(xiàn)力非常的一般。


我們將這個聲音去除,添加Wwise的聲音,并修改參數(shù)的設(shè)置,不僅僅讀取速度,同時也讀取車輛的檔位和發(fā)動機(jī)轉(zhuǎn)速,且將這些數(shù)據(jù)發(fā)送RTPC。


然后UE4就開始讀取和調(diào)制Wwise的聲音,我們可以得到了如下效果:

由于REV本身的聲音品質(zhì)比較優(yōu)秀,引擎聲的質(zhì)感的確提升了。但是,總體的聽感依然不佳,且出現(xiàn)了一些非常不符合現(xiàn)實(shí)情況的聽感。比如,在達(dá)到高速狀態(tài)后,發(fā)動機(jī)轉(zhuǎn)速就保持5700轉(zhuǎn)不動了,因?yàn)榘l(fā)動機(jī)轉(zhuǎn)速不再變化,聲音也就沒有了變化,高速狀態(tài)下的聲音機(jī)械感非常重。這種情況在現(xiàn)實(shí)世界中是絕對不會出現(xiàn)的,發(fā)動機(jī)不可能保持一個固定轉(zhuǎn)速紋絲不動。且因?yàn)樗袃?nèi)燃機(jī)都是有轉(zhuǎn)速保護(hù)機(jī)制,當(dāng)超過最大轉(zhuǎn)速后會強(qiáng)制中斷油料供給,俗稱“斷油”。所以為了避免這種非正常發(fā)聲,我們需要對聲音的發(fā)聲機(jī)制進(jìn)行優(yōu)化。
想要解決這個問題其實(shí)并不簡單,因?yàn)樗皇呛唵蔚恼{(diào)整一兩個參數(shù)就可以解決的,我們需要暫時先從游戲引擎中跳脫出來,總體的了解一下內(nèi)燃機(jī)的工作原理,才能夠找到正確的解決該問題的方法。
三、汽車引擎發(fā)聲機(jī)制詳解
本段落我們將會對車輛的動力結(jié)構(gòu)和運(yùn)行原理進(jìn)行介紹,主要包含內(nèi)燃機(jī)、離合器、變速箱這三個部分。
1、內(nèi)燃機(jī)
內(nèi)燃機(jī)的家族其實(shí)十分龐大,細(xì)分種類也非常多,如果全部詳解介紹其工程結(jié)構(gòu)及其種類劃分等將是一個非常巨大的工程。所以此段落我們只簡單的介紹其工作原理。其他的全部忽略。后期需要針對車輛做細(xì)分的時候再去了解發(fā)動機(jī)的缸數(shù)、沖程數(shù)亦或者是轉(zhuǎn)子發(fā)動機(jī)這類的特殊概念也不遲。
以最常見的往復(fù)活塞式內(nèi)燃機(jī)為例。霧狀的汽油和空氣的混合物從進(jìn)氣口進(jìn)入,被火花塞點(diǎn)燃,推動活塞向下,驅(qū)動轉(zhuǎn)子,然后排氣口打開,活塞向上,將燃燒后的廢氣排出,進(jìn)入下一次循環(huán)。這就是內(nèi)燃機(jī)的工作流程。

在這一個流程中有三個參數(shù)和游戲的聲音制作息息相關(guān)——油門、發(fā)動機(jī)轉(zhuǎn)速和扭矩。
油門和大家都比較好理解,油門越大,進(jìn)入內(nèi)燃機(jī)內(nèi)部的燃油就越多,點(diǎn)燃后的燃燒就越劇烈,產(chǎn)生的動力就越大。
發(fā)動機(jī)轉(zhuǎn)速也非常好理解,一般游戲里影響車輛聲音變化的最主要參數(shù),就是發(fā)動機(jī)轉(zhuǎn)速。
但是扭矩這個參數(shù),大多數(shù)對于內(nèi)燃機(jī)工作原理不太了解的人很容易將之忽略?;蛘吆唵蔚膶⑺斫鉃榘l(fā)動機(jī)動力的大小,認(rèn)為它和油門、發(fā)動機(jī)轉(zhuǎn)速是成正比關(guān)系的。這樣的認(rèn)知其實(shí)是有偏差的。
扭矩是用來表示內(nèi)燃機(jī)完成一次完整的循環(huán)所輸出動力的大小,用一個不算嚴(yán)謹(jǐn),但是易于理解的公式來講的話就是:
扭矩*發(fā)動機(jī)轉(zhuǎn)速=發(fā)動機(jī)動力
在這里我要強(qiáng)調(diào)兩個常見的誤區(qū):
誤區(qū)一:發(fā)動機(jī)轉(zhuǎn)速越快,扭矩越大。
錯,隨著發(fā)動機(jī)轉(zhuǎn)速的提升,在超過一定的閾值后,扭矩反而會變小。
誤區(qū)二:發(fā)動機(jī)轉(zhuǎn)速越快,發(fā)動機(jī)功率越大,輸出動力越大。
錯,中低轉(zhuǎn)速時,發(fā)動機(jī)功率的確是隨著轉(zhuǎn)速上升的,但是在達(dá)到高轉(zhuǎn)速后,發(fā)動機(jī)功率會隨著轉(zhuǎn)速的提升而下降。
為了方便大家更好的認(rèn)識扭矩、功率和發(fā)動機(jī)轉(zhuǎn)速之間的關(guān)系。這里提供了一個圖示,分別為渦輪增壓發(fā)動機(jī)和自吸氣發(fā)動機(jī)的工況圖。


大眾EA211 1.4TSI發(fā)動機(jī)扭矩輸出圖
對于不太熟悉內(nèi)燃機(jī)的朋友來說,以上兩點(diǎn)有那么一點(diǎn)反直覺,但是對于有一定車輛駕駛經(jīng)驗(yàn)的朋友們來說,以上兩點(diǎn)不難理解。
所有車主在高速公路上駕駛車輛時,都會選擇一個合適的檔位,保持發(fā)動機(jī)的轉(zhuǎn)速處于中高區(qū)間,每次的升檔操作也都是在發(fā)動機(jī)轉(zhuǎn)速稍微偏快之后,而不是等發(fā)動機(jī)轉(zhuǎn)速頂滿再升檔。因?yàn)椴⒉皇前l(fā)動機(jī)轉(zhuǎn)速越快產(chǎn)生動力越大,所以一旦發(fā)動機(jī)轉(zhuǎn)速超過了能夠輸出最大動力的節(jié)點(diǎn),那么這個時候就應(yīng)該換擋了,保持發(fā)動機(jī)始終處于動力輸出較大的區(qū)間,就可以在消耗相同燃料的情況下跑更遠(yuǎn)的距離,這種做法俗稱“省油”。但某些競速游戲中可能出現(xiàn)發(fā)動機(jī)接近頂滿再換擋的現(xiàn)象,原因下文再敘。
根據(jù)我們上文的分析,我們就可以找到上一段游戲視頻中車輛出現(xiàn)發(fā)動機(jī)轉(zhuǎn)速頂滿的原因——扭矩變化設(shè)置不合理或車輛阻力設(shè)置不合理。
正常競速游戲中,在車輛接近最高速時,發(fā)動機(jī)轉(zhuǎn)速應(yīng)該處于功率輸出最大值對應(yīng)的轉(zhuǎn)速,該轉(zhuǎn)速通常大約為最大轉(zhuǎn)速的90%-95%左右。超過該轉(zhuǎn)速后發(fā)動機(jī)單位時間內(nèi)提供的動力會下降,所以無法繼續(xù)提速。游戲中應(yīng)當(dāng)設(shè)置合理的發(fā)動機(jī)扭矩或功率曲線,以模擬該效果,否則發(fā)動機(jī)的聲音變化就不符合真實(shí)車輛的運(yùn)行邏輯,從而失去擬真感。所以我對UE4車輛藍(lán)圖中的扭矩曲線做了如下修改(雖然我們的小白車連車殼都沒有,但是也要假裝自己有一個渦輪增壓發(fā)動機(jī))。

該曲線其實(shí)也不嚴(yán)謹(jǐn),大家可以根據(jù)需求調(diào)整自己的扭矩曲線。如此調(diào)整之后,則不會再輕易到達(dá)最大轉(zhuǎn)速。

但是如果這中間還調(diào)整過其他的參數(shù),我們可能遇到新的問題。車輛的檔位切換不太順暢,甚至可能出現(xiàn)車輛掛檔掛不上去的情況。3檔掛4檔后會瞬間退回3檔。為了解決這兩個問題,接下來我們來看車輛引擎里另一個很重要的部件——變速箱。
2、變速箱
變速箱是用來調(diào)整發(fā)動機(jī)轉(zhuǎn)速和車速之間關(guān)系的裝置。我們可以通過一個極度簡化的圖來了解變速箱的工作原理,變速箱就是圖中右邊那個會改變自身大小的齒輪。齒輪越小,發(fā)動機(jī)轉(zhuǎn)動一周可以驅(qū)動汽車移動的距離越遠(yuǎn),但是發(fā)動機(jī)的負(fù)載更大。

因?yàn)樽兯傧涞拇嬖冢煌瑱n位下相同的發(fā)動機(jī)轉(zhuǎn)速可以獲得不同的車速,這樣我們就可以通過換擋讓發(fā)動機(jī)一直保持在高功率轉(zhuǎn)速區(qū)間工作。在游戲引擎中,每個檔位的參數(shù)通常使用“齒輪比”來調(diào)節(jié),看完上圖后,齒輪比的含義想必大家也都很清楚了。
我們可以看一下UE4的變速箱設(shè)置,可以簡單解釋一下這里的幾個參數(shù)的作用。

(注:該圖里的參數(shù)數(shù)值也僅為針對演示demo的調(diào)節(jié),可以根據(jù)游戲和手感需求選擇其他的數(shù)值。)
自動變速——勾選與否決定了車輛是自動切換檔位,還是玩家操作手動切換檔位。
齒輪切換時間及齒輪自動盒體延遲——控制換擋過程的時長。
最終比——該值會同時影響所有檔位,取值越小,車輛可以達(dá)到的最高時速越大,同時車輛的負(fù)載越大。
齒比——每個檔位發(fā)動機(jī)轉(zhuǎn)速和車速之間的比值,值越小相同發(fā)動機(jī)轉(zhuǎn)速下車速越快,負(fù)載越大。
上齒比——自動變速模式下,當(dāng)發(fā)動機(jī)轉(zhuǎn)速達(dá)和最大轉(zhuǎn)速的比值大于該值時觸發(fā)升檔。
下齒比——自動變速模式下,當(dāng)發(fā)動機(jī)轉(zhuǎn)速達(dá)和最大轉(zhuǎn)速的比值低于該值時觸發(fā)降檔。
理解了變速箱的原理和游戲中引擎中的相關(guān)設(shè)置之后,我們就可以解決之前遇到的問題了。
如果自動變速的車輛換擋時機(jī)不對,那么原因是各檔位齒輪比設(shè)置的不合理。比如如果各檔位的齒輪比設(shè)置都是一樣的話,那么每個檔位的加速度都是相同的,就沒有了檔位之間的區(qū)別。
如果出現(xiàn)掛擋失敗,反復(fù)升降檔位的情況,那么原因就是兩個檔位之間齒輪比差異過大,或者車輛發(fā)動機(jī)扭矩不足,導(dǎo)致升檔后發(fā)動機(jī)負(fù)載過大無法繼續(xù)提速,從而轉(zhuǎn)速下降又觸發(fā)了降檔。
另外,還有一個部件對于控制車輛檔位切換至關(guān)重要,那就是離合器。
3、離合器
關(guān)于離合器的結(jié)構(gòu)和工作原理,我們同樣用一個極簡的圖示來解釋:

離合器的主要功能是控制內(nèi)燃機(jī)和變速箱的結(jié)合,其最大的優(yōu)點(diǎn)是可以控制結(jié)合的力度,可以緩慢的結(jié)合到一起,也可以緩慢放開,就算發(fā)動機(jī)轉(zhuǎn)速很快的時候進(jìn)行結(jié)合和松開的操作也不會產(chǎn)生機(jī)械損傷。離合器如何做到這一點(diǎn),我們暫時不用深究。對于音頻設(shè)計師來說我們需要明白的是——離合器控制動力的傳輸和換擋機(jī)制的觸發(fā)。
在駕駛模擬游戲中,非核心玩家一般是不會使用手動離合的,且在非擬真駕駛類游戲中,甚至玩家可能無法控制離合。玩家的操作只有油門、轉(zhuǎn)向、剎車。檔位切換就全部交給自動變速機(jī)制了。那么我們需要設(shè)計一個符合現(xiàn)實(shí)車輛運(yùn)行邏輯的離合機(jī)制。但是如果細(xì)究離合的運(yùn)用方法,可能較為復(fù)雜。所以我們簡化一下:當(dāng)發(fā)動機(jī)給車輛輸出動力的時候,離合就應(yīng)當(dāng)閉合。當(dāng)發(fā)動機(jī)停止給車輛輸出動力時離合就應(yīng)當(dāng)打開。在UE4的demo中我們可以直接使用油門來控制離合,其他非駕駛模擬類游戲也可以采用這種方法。


UE4中自身的載具模塊也是同樣的運(yùn)行邏輯,當(dāng)你松開油門,車輛自然減速,發(fā)動機(jī)轉(zhuǎn)速下降是不會觸發(fā)降檔機(jī)制的,會一直下降到0。為了方便大家更好的理解離合的開閉對于聲音表現(xiàn)的影響,我們可以通過視頻來對比一下不同情況下的聲音表現(xiàn):

在現(xiàn)實(shí)生活中,如果離合完全打開下的情況下踩油門,車是不會動的,所以這種情況下匹配行駛的聲音效果不佳,換檔時的聲音質(zhì)感非常的松軟。
離合全程閉合的情況下,車輛在自然減速甚至剎車的過程中都會觸發(fā)升檔的聲音,這也非常不合理。尤其在剎車時,我們希望車輛盡快停下,當(dāng)然要斷開發(fā)動機(jī)的動力供給,所以肯定不該通過降檔提升發(fā)動機(jī)轉(zhuǎn)速。
如果游戲內(nèi)的交互邏輯如果可以寫的更加精細(xì)和復(fù)雜,有更加擬真的離合控制邏輯更好。如果沒有,那么通過油門控制離合是一種簡易且有效的方法。了解完離合器的工作原理以及它對聲音的影響后,我們就可以回到Wwise中來設(shè)置離合的參數(shù)了:

Enableshifting:這個參數(shù)就是用來控制離合的,當(dāng)該參數(shù)取值為on,rev就會在檔位發(fā)聲變化時播放檔位切換的聲音,取值為off就不會觸發(fā)檔位切換聲,我們將它和油門的參數(shù)綁定在一起,當(dāng)油門被摁下時,離合就結(jié)合。
當(dāng)我們完成了對于檔位、離合、發(fā)動機(jī)參數(shù)的所有調(diào)整后,我們就可以得到這樣的聲音。其聽感基本符合正常車輛的運(yùn)行表現(xiàn)。

但是,這只有發(fā)動機(jī)的聲音,其實(shí)還缺失了非常多的細(xì)節(jié)。下一章節(jié)我們來給車輛添加更多的聲音細(xì)節(jié)。
四、更加豐富的車輛聲音細(xì)節(jié)
我們大致可以將車輛聲音的發(fā)聲源拆解為如下幾個部分,然后分別探討他們的做法。

內(nèi)燃機(jī)、離合器和變速箱部分我們已經(jīng)在上文討論了。接下來討論其他車輛部件的發(fā)聲規(guī)則和制作方法。
1、胎噪與風(fēng)噪
胎噪的制作以loop采樣為主。給loop添加多段隨機(jī)素材減少重復(fù)感,同時增加車輛速度的RTPC來調(diào)制loop的音高、音量以及不同強(qiáng)度之間的過渡。而且需要制作不同的地面材質(zhì),利用switch來切換。最后如果可以獲取車輛輪胎和地面的摩擦系數(shù)更好,可以使用該參數(shù)來控制輪胎打滑聲的觸發(fā)和變化。我這邊偷了個懶,沒有計算輪胎和地面的摩擦,固定在剎車和轉(zhuǎn)向時會觸發(fā)聲音。

2、懸掛
懸掛的種類其實(shí)很多,我們這里并不詳細(xì)探討懸掛的工作原理和種類劃分,只探討它對聲音的影響。因?yàn)閼覓斓谋举|(zhì)是一個緩沖減震裝置,保證車輛在崎嶇不平的道路上行駛時的穩(wěn)定性。當(dāng)車輛產(chǎn)生顛簸時,發(fā)動機(jī)的發(fā)聲會受到一定的影響,且懸掛會影響車輪受到的壓力,導(dǎo)致車輛的負(fù)載產(chǎn)生變化。所以這里針對車輛的懸掛系統(tǒng)我們要做兩件事:
制作會隨著懸掛受力情況變化而改變的車身抖動的聲音。
使懸掛的抖動可以對發(fā)動機(jī)和胎噪的發(fā)聲產(chǎn)生一點(diǎn)影響。
為了完成這兩件事,首先我們需要獲取車輛的懸掛偏移參數(shù),這里我一共獲取了5個RTPC,分別是pianyi1、pianyi2、pianyi3、pianyi4對應(yīng)四個輪子各自的懸掛偏移,然后將這四個參數(shù)求和得到一個總體的偏移量“zhendong”:

然后我們需要制作不同力度的車輛抖動聲音,并使用偏移程度和車速來同時調(diào)制他們:

然后再讓懸掛對發(fā)動機(jī)和胎噪也產(chǎn)生一點(diǎn)影響:

這樣就可以制作出隨著車輛顛簸而動態(tài)變化的聲音。
3、渦輪
對于渦輪的原理我們也做一下簡單的介紹,其實(shí)渦輪就是一個超高轉(zhuǎn)速的風(fēng)扇,用來增加發(fā)動機(jī)的進(jìn)氣量,從而使發(fā)動機(jī)可以在一個沖程之內(nèi)燃燒更多的燃油,來提升發(fā)動機(jī)的性能。前文我們討論扭矩的時候就同時提供了渦輪增壓型和自吸型兩種發(fā)動機(jī)的扭矩和功率變化圖。渦輪增壓發(fā)動機(jī)更容易達(dá)到最大扭矩且保持的時間更長。具體渦輪的工作原理我們就贅述了,我們只關(guān)注一個問題——渦輪發(fā)出什么樣的聲音,以及它在什么樣的情況下發(fā)出聲音。
渦輪的種類不同,發(fā)出的聲音會略有差異,不過在游戲中的表現(xiàn)大致都是高頻的轉(zhuǎn)子轉(zhuǎn)動聲,因?yàn)闇u輪本身就是一個超高轉(zhuǎn)速的風(fēng)扇,其轉(zhuǎn)速可以輕松達(dá)到每分鐘上萬轉(zhuǎn),甚至十萬轉(zhuǎn)以上。
其發(fā)聲的區(qū)間一般是發(fā)動機(jī)達(dá)到一定轉(zhuǎn)速以后。通常是至少達(dá)到2000RPM?以上才開始發(fā)揮作用,也只有這個時候渦輪的轉(zhuǎn)速才足夠高,其運(yùn)轉(zhuǎn)的聲音才會被人所察覺。且在渦輪的聲音可以被察覺后,其聲音的變化幅度要小于發(fā)動機(jī)。
發(fā)動機(jī)轉(zhuǎn)速下降以后,渦輪的聲音不一定停止,一些高性能賽車為了避免“渦輪遲滯”,會安裝偏時點(diǎn)火裝置,保持車輛發(fā)動機(jī)轉(zhuǎn)速下降后渦輪依然可以繼續(xù)工作。所以渦輪的聲音制作需要根據(jù)不同的車輛定制,沒有通用解。
在我的游戲工程里,我就偷懶了,沒有考慮特殊情況,渦輪的觸發(fā)綁定發(fā)動機(jī)轉(zhuǎn)速,且并未使用渦輪的采樣。而是使用了一個經(jīng)過處理的電鉆的聲音來模擬渦輪。

4、排氣管
???對于高品質(zhì)競速游戲,排氣管在汽車運(yùn)行時的聲音是需要單獨(dú)制作的,loop拼接過度的做法基本可以滿足需求。這里我們著重強(qiáng)探討一個在游戲中被夸大處理的聲音——回火。
現(xiàn)實(shí)生活中,“回火”一般出現(xiàn)在大排量性能車型上。在游戲里該機(jī)制的美術(shù)特效和音效表現(xiàn)是提升玩家游戲感的重點(diǎn)機(jī)制之一。為了制作好回火的聲音,我們需要對回火的發(fā)聲機(jī)制進(jìn)行一定的分析。引起“回火”的原因,大致可以分為三種:
穩(wěn)定回火
發(fā)生時機(jī):只發(fā)生在車輛高速高負(fù)荷運(yùn)行時。
表現(xiàn)特征:尾焰穩(wěn)定且持續(xù)。
發(fā)聲類型:持續(xù)且穩(wěn)定的燃燒聲,不會帶有爆鳴聲。
發(fā)生原因:某些車型中,為了給三元催化器和發(fā)動機(jī)氣缸降溫,會在發(fā)動機(jī)溫度過高(高負(fù)載高轉(zhuǎn)速運(yùn)行時)的情況下,增加氣缸內(nèi)的噴油量,這樣氣缸內(nèi)的油氣混合物就不能完全燃燒,因?yàn)槿加瓦^量了。這些過量的氣化燃油會在排氣管口遇到空氣后繼續(xù)燃燒,此時賽車的排氣管就會有輕微的淡藍(lán)色尾焰。在游戲中這種穩(wěn)定尾焰通常會用在各種超高速行駛的狀態(tài)下,如非常常見的氮?dú)饧铀佟?/p>
爆鳴回火
發(fā)生時機(jī):發(fā)動機(jī)進(jìn)氣量嚴(yán)重不足時,通常是高速啟動,或者車輛在高負(fù)荷行駛狀態(tài)下突然減小油門的時候。
表現(xiàn)特征:尾焰呈現(xiàn)短暫的點(diǎn)狀噴射。
發(fā)聲類型:類似爆炸的清脆爆破聲。
發(fā)生原因:由于發(fā)動機(jī)進(jìn)氣量不足,氣缸內(nèi)的燃油燃燒非常不充分,于是排氣沖程時,未燒凈的高溫汽油隨著氣流經(jīng)過了高溫?zé)霟岬呐艢忸^段和三元催化器(再度被加溫),高溫的氣化燃油由于氧氣不足無法燃燒。所以當(dāng)這些廢棄來到排氣口,接觸到外界的新鮮空氣的一瞬間就會發(fā)聲爆燃,繼而引發(fā)爆鳴回火。
偏時點(diǎn)火
發(fā)生時機(jī):換擋收油之后。
表現(xiàn)特征:尾焰持續(xù)時間較短但是爆炸感不強(qiáng)。
發(fā)聲類型:排氣管的低頻轟鳴,悶響。
發(fā)生原因:競速賽車中,換擋收油后排氣量會降低,導(dǎo)致增壓渦輪轉(zhuǎn)速降低,重新加速踩油門的時候會帶來渦輪遲滯,為了讓賽車獲得更好的加速性能。賽車中裝備一種名為偏點(diǎn)火系統(tǒng)的裝置,英文為"Anti-Lag System",簡稱ALS系統(tǒng)。偏時點(diǎn)火是在發(fā)動機(jī)不需要提供動力時停止點(diǎn)火動作,刻意讓油氣在排氣門開啟后進(jìn)入排氣頭段。頭段溫度極高,油氣一接觸即爆炸,強(qiáng)大的爆炸壓力便會推動渦輪機(jī)的排氣葉片,使得渦輪機(jī)內(nèi)的增壓端葉片高速運(yùn)轉(zhuǎn),保持增壓狀態(tài),使車輛即使在低速或是換檔收油時不失去增壓效果。此類火焰是在發(fā)動機(jī)內(nèi)點(diǎn)燃隨著排氣管排出,所以一般爆破感不強(qiáng),聲音聽起來略悶。
在我的演示工程中,其實(shí)沒有單獨(dú)制作排氣管的聲音,因?yàn)檐嚨哪P透緵]有排氣管,而且我調(diào)整的車輛手感并不像高性能賽車,也沒有回火特效,所以我就只在發(fā)動機(jī)轉(zhuǎn)速下降到4100轉(zhuǎn)一下的時候會固定觸發(fā)一下回火,沒有制作其他更加復(fù)雜的聲音表現(xiàn)。
我們來看一下添加完各種細(xì)節(jié)的車輛聲音:

制作到這里,就基本得到了文章開頭處的車輛聲音效果。也基本包含了車輛行駛所需的全部聲音。如果想要繼續(xù)提升品質(zhì),那么之前提到的所有聲音都可以繼續(xù)找到更加高品質(zhì)的音頻,也可以寫出更加嚴(yán)謹(jǐn)?shù)某绦騺硗瓿筛訌?fù)雜的控制,有興趣的朋友們可以繼續(xù)研究。
五、REV的粒子合成器
之前的章節(jié)基本全都在討論如何給汽車添加更多的聲音,而對于REV本身的使用方法則討論不多,本章節(jié)將給大家簡單介紹REV自身的粒子合成功能,也就是如果我們不想用REV官方的采樣,要如何自己制作引擎聲的粒子模型。
首先我們需要準(zhǔn)備三段引擎聲的采樣,分別為怠速狀態(tài)loop,引擎聲從怠速到最高速的勻加速采樣和最高速到怠速的勻減速采樣,類似這樣:
https://audiokinetic.com/media/blog/oct2021_engine_down4.wav
https://audiokinetic.com/media/blog/oct2021_engine_idle.wav
https://audiokinetic.com/media/blog/oct2021_engine_up4.wav
然后打開REV的主界面,點(diǎn)擊Open in REV.Tool,進(jìn)入rev的粒子合成器。


然后點(diǎn)擊File——Open wav file。載入我們之前準(zhǔn)備好的均加速采樣。然后REV會分析采樣的共振峰頻譜,并顯示出來。

可以看到頻譜略雜亂,這是因?yàn)槲疫x擇的音頻采樣不夠純凈,其中包含了一定的機(jī)械運(yùn)轉(zhuǎn)聲,導(dǎo)致其共振峰變化不夠連續(xù),如果可以獲得更為純凈的發(fā)動機(jī)音頻采樣,效果會好很多。
點(diǎn)擊auto tag harmonics?在頻譜中選擇一組共振峰,理論上優(yōu)秀的采樣共振峰是連續(xù)的,可以選區(qū)中很長的曲線,但是由于我準(zhǔn)備的素材不好,所以選取的頻譜是斷續(xù)的。然后點(diǎn)擊start cycle tracking,或者切換模式自己手動選擇共振峰范圍。


完成操作后rev會分析頻譜,生成粒子模型,拖動頻譜上的線可以試聽不同轉(zhuǎn)速下的加速聲。

藍(lán)線上的黑色小圈表示不同的轉(zhuǎn)速節(jié)點(diǎn),調(diào)節(jié)黑圈的間距可以調(diào)節(jié)不同轉(zhuǎn)速之間聲音的變化范圍。
之后我們可以放大頻譜,使用select cycle調(diào)整生成的共振峰曲線,可以將某一段不合理的采樣,從我們的整體模型中剔除。

最后點(diǎn)擊file——save partial document。將生成的粒子模型保存下來。再打開我們的減速采樣,如法炮制,生成減速采樣的粒子模型。完成之后切換到model選項(xiàng)卡。

把我們之前制作的粒子模型和怠速loop加入進(jìn)來。點(diǎn)擊simulate。就生成了新的完整的車輛引擎聲模型。我們可以在simulation頁面調(diào)整和試聽模型的效果,比如音量配比,加減檔的時間和音量等。

最后點(diǎn)擊save,生成我們自己的.model文件。
回到rev的插件界面,點(diǎn)擊import model,找到我們自己生成的model載入,就可以在游戲里使用我們自己生成的引擎聲了。

我們打包bnk,在UE4中重新構(gòu)建聲音,就可以得到新的引擎聲,來跑一下看看效果吧。

結(jié)語
以上就是我個人對于如何使用REV?插件和如果制作汽車聲音的相關(guān)分享,目前雖然涉及的面較為廣泛,但是最終的呈現(xiàn)效果還有待提升。汽車引擎聲只是我個人日常工作中很小的一部分,但是由于該類聲音的特殊性,我對于這類聲音的制作和研究非常有興趣。期待可以和更多的同行好友多加交流。

徐巍
資深音效設(shè)計師
網(wǎng)易互娛
立志成為全品類音頻制作人,曾參與制作過電影、電視、動畫、球幕影院、沉浸式互動場館等音頻設(shè)計與制作,現(xiàn)在開始搞游戲了。
