遊戲音訊不完全指南
1、音訊分類
遊戲相關音訊可以按照功能劃分為兩大類:
- 音樂音效:和遊戲表現玩法相關的音訊,通常稱為遊戲音訊;
- 語音聊天:玩家資訊交流方式,主要包括語音訊息和實時語音兩種方式。
遊戲音訊和語音聊天雖同為音訊,但在質量要求和技術處理上有很大區別,本文討論的內容為遊戲音訊。
根據遊戲音訊的各自特點,又可以劃分三大類:音效、語音和音樂:
1)音效Sound Effect:需要區別音訊效果定義,這裡的音效指人工製造和加強的聲音。遊戲內UI點選、動作反饋的聲音均為音效。其中烘托環境氣氛的音效又稱為氛圍音效;
2)語音Voice:劇情動畫對白、快捷語音等均屬於語音;
3)音樂Music:包括主題和背景音樂,以及各種劇情場景音樂。
2、開發流程
遊戲音訊開發過程大致分為五個階段:
1)音訊製作:製作音訊素材,包含錄音、擬音、配音、數字合成等音訊製作方式;
2)音訊編輯:利用音訊製作軟體或者數字音訊工作站(DAW)對音訊素材進行內容上的加工編輯;
3)遊戲音訊設計:設計音訊在遊戲中播放方式和互動,目前普遍使用遊戲音訊中介軟體提供的音訊編輯器進行設計;
4)遊戲音訊整合:開發實現遊戲音訊播放邏輯。使用遊戲音訊中介軟體,可直接整合其提供的SDK開發,效率高,穩定性好;
5)遊戲音訊測試:測試驗證完成的遊戲音效配置,播放功能和效能等是否符合設計預期,不符合要求的設計或問題需要修復重新驗證。
[ 遊戲音訊開發流程 ]
3、遊戲音訊設計
簡單來講,遊戲音訊設計是指利用音訊素材,完成遊戲相關內容的設計,包括音訊播放內容、播放方式、音訊屬性和遊戲互動等。
基於音訊播放設計
遊戲音訊設計師提供音訊檔案和播放方式,遊戲開發工程師負責實現音效播放。
[ 基於音訊播放設計 ]
這種模式下以遊戲開發工程師為主,遊戲音訊設計更多注重音訊資源編輯。音訊設計可表現的方面不多,音效總數量級在百左右。目前主要在H5和微信小遊戲中存在。
基於音訊中介軟體設計
遊戲音訊設計師負責音效設計,遊戲開發工程師負責整合音效。
[ 基於音訊中介軟體設計 ]
這種模式下以音訊設計師為主,遊戲音訊設計師開始關注音效設計。由於不需要關心底層技術實現,音訊設計師發揮餘地較大,音效總數量級在千或萬以上。目前大部分端或手遊普遍使用了音訊中介軟體。
4、遊戲音訊中介軟體
遊戲音訊中介軟體,簡單來講即遊戲音訊的解決方案。遊戲音訊中介軟體一般包含編輯器和SDK,音訊設計師利用編輯器獨立完成遊戲音訊設計。遊戲開發工程師整合音訊中介軟體提供的SDK到遊戲客戶端,並完成設計好的遊戲音訊觸發和互動,實現遊戲音訊的播放。
遊戲音訊中介軟體包含音訊編輯器和音訊引擎(SDK為其呼叫介面)兩部分,大致框架如圖所示:
[ 遊戲音訊中介軟體框架 ]
遊戲音訊中介軟體使得音訊設計師獨立遊戲開發,即可完成音訊設計,其在遊戲開發過程中主要有以下作用:
1)標準化設計:統一規範音效設計模式,提高遊戲音效設計效率;
2)功能複用:避免重複開發,提高遊戲音訊開發效率和穩定性;
3)跨平臺支援:抽象各平臺音訊硬體,支援各平臺遊戲部署。
二、遊戲音訊設計
狹義的遊戲音訊設計是指播放內容和互動方式的設計,不包含音訊資源加工。下面介紹遊戲音訊設計中的重點內容。
1、播放方式設計
播放方式設計是指選擇何種播放方式表現音效。不同音訊中介軟體提供的播放方式大同小異,下面以Wwise為例介紹常用的幾種播放方式。
迴圈播放
適合持續性重複播放場景的音效,可設定迴圈次數和迴圈內容。迴圈播放關鍵是設定好過渡,避免過渡之間出現卡頓。
隨機播放
隨機播放主要目的用於增加音效內容豐富感,顯得更真實自然。假如遊戲的其中一個環境為洞穴。背景中有水滴聲,來營造洞穴環境的氛圍。先建立一個隨機容器,將所有不同的水滴聲編組。當角色位於洞穴中時,持續播放水滴聲,因此可以將容器的播放模式設定為 Continuous 並無限迴圈。
順序播放
也稱為序列播放,適合順序播放內容。在遊戲的某個環節,玩家必須按下按鈕才可開啟一扇裝有很多解鎖機制的大鐵門。此時,可以將所有解鎖聲音編組至一個序列容器。之後可以建立一個播放列表,按邏輯順序排列這些聲音。將容器的播放模式設定為 Continuous,這樣在解鎖大門時,便會連續播放這些解鎖聲。
混合播放
適合連續過渡切換場景的音效,例如黑夜和白天環境音效過渡。如圖所示,Rooster Crow為公雞啼叫,用於表現黎明,Cluking and Scratching為咯咯叫聲和啄食聲,用於表現白天。Time_of_Day為控制時間引數,範圍0~100。進入黑夜時,Time_of_Day小於18或者大於78,此時環境聲靜音,即黑夜寂靜。當進入黎明時,Time_of_Day大於18,此時播放Rooster Crow,能聽到公雞啼叫。當白天時,Time_Of_Day大於38,此時播放Clucking and Scratching,能聽到咯咯叫聲和啄食。黎明到白天過程中,Time_Of_Day大於38小於43,此時Rooster Crow和Cluking and Scratching為交叉混合效果,前者音量降低,後者音量升高。除此之外,上面還增加了整體音量控制,為圖中紅色曲線。Agitation為音量控制引數,用來表現遊戲緊張程度,控制整體環境音量。Agitation越大,環境音效整體音量越大,烘托遊戲緊張氣氛。
虛擬播放
虛擬播放為不實際播放音訊,這種播放方式可以實現音訊暫停和恢復。Wwise提供虛擬通道設定來控制虛擬播放,主要目的是控制效能,當播放例項達到限制數量時,進行虛擬播放;當恢復時,可以選擇從頭播放,繼續播放或者播放位置繼續播放。例如遊戲場景內出現多臺載具,載具的引擎聲數量就會比較多。對載具引擎聲設定虛擬播放,這時候優先播放距離玩家最近的引擎聲,而較遠處引擎聲暫時進入虛擬通道;當其重新靠近玩家時,引擎聲又重新恢復。
2、互動式音訊設計
傳統音訊設計強調遊戲音訊的主要功能為操作反饋,即遊戲操作到音訊觸發的單向資訊傳遞。互動式音訊設計則強調雙向資訊傳遞,體現到遊戲內即為持續控制改變遊戲音訊。
遊戲側通過引數對遊戲音訊進行控制,引數控制型別分為兩類:
1)離散引數:不同材質型別,門開關狀態等,均屬於離散引數;
2)連續引數:距離遠近,載具引擎轉速變化,均屬於連續引數;
相對於音效,互動式音樂(互動音樂)設計更普遍。
3、程式音訊設計
不同於傳統使用音訊素材的方式進行音訊設計,程式音訊設計是指通過程式方式(如數字合成器)實現音訊內容生成和播放。程式音訊設計依賴音訊設計師對於聲音產生原理的熟練掌握。
程式音訊設計不用,或者很少使用音訊素材(部分合成器使用音訊素材取樣),因此整體音訊資源體積較小。並且程式音訊不需要經過解碼,實時性要好;但由於音訊內容實時生成,相較於解碼器需要更多CPU消耗。在真實性方面也不如使用音訊素材。
4、空間音訊設計
音訊空間分類
(1)2D音訊
2D音訊均為聲軌組成,所有音軌根據各自音量調整,再進行混音後實現音訊輸出,2D音訊設計重點是混音效果設計。
(2)3D音訊
3D音訊又稱為空間音訊,音訊在空間具有位置和朝向,3D音訊與Listener相對位置決定音訊距離和方位。音訊距離通過衰減來模擬,音訊方位則通過空間化技術來實現。空間音訊設計主要是指音訊衰減和方位,以及空間效果設計。不同於2D音訊,3D音訊均為單聲道,其重點是空間混音設計。
相對於2D音訊渲染管線,空間音訊渲染管線多了空間化和去空間化(雙耳濾波),如圖所示:
[ 空間音訊渲染管線 ]
Listener
Listener為玩家在遊戲音訊的聽覺位置,與空間音訊體驗密切相關。Listener常見有以下幾種擺放方式。
(1)Listener擺放到Camera:Listener跟隨Camera,管理比較方便。發聲位置和Listener有偏移,音訊3D屬性設定不便利。實際應用中,Listener會放置在Camera與角色連線位置上,避免因攝像頭運動產生明顯聽覺差異;
(2)Listener擺放到控制角色上:發聲位置和Listener一致,設定音訊3D屬性方便,缺點是聽感不如耳後自然;
(3)Listener擺放到視覺中心:第一人稱遊戲常用擺放方式。
[ Listener擺放位置示意圖 ]
衰減
聲音隨著距離傳播,會產生能量衰減,技術上通過音量衰減和低通濾波LPF效果來模擬聲音傳播。擴散Spread的作用是處理方位在不同距離上產生的聲道能量分佈問題。
(1)音量衰減:設定音訊隨距離的衰減音量,用於模擬聲音隨距離傳播能量衰減;
(2)HPF/LPF:設定音訊隨距離的高通HPF和低通LPF效果強度,聲音隨距離傳播不同頻段能量衰減不同,LPF就是用於模擬遠距離頻段衰減效果;
(3)擴散Spread:控制聲音在虛擬揚聲器能量分佈比例,Spread越小,聲音方位更準確,但由於揚聲器數量有限,不同方位聽覺過渡變化大,容易產生極左極右方位;Spread越大不同方位的聽覺過度自然,為最大值時,各揚聲器能量分佈抵消方位效果,沒有空間方位。
4)音訊空間化和雙耳渲染,空間效果
音訊空間化是指將音訊轉換成空間聲場表示。雙耳渲染實現了聲場重放,用於支援立體聲音訊輸出。空間音訊除方位和距離感外,還包括空間感,即對空間的感知,體現為空間混響和阻擋效果。
5、物件音訊設計
隨著空間音訊技術出現,遊戲音訊設計從傳統基於聲道音訊概念轉變到基於物件音訊。物件音訊設計概念中,每個音訊不再只是音軌,而是包含音訊媒體的物件(在空間音訊設計中,每個發聲物件都是音訊物件,兩者有區別)。在3D遊戲中,遊戲場景更豐富,聲音數量急劇上升。物件音訊設計概念引入,除用於設定音訊的3D屬性外,最主要作用是控制音訊播放產生的效能開銷。
物件音訊設計中,主要有以下效能相關的屬性:
- 播放限制:允許播放例項數目,可以按照發聲物件或者全域性來限制;
- 優先順序:音訊播放優先順序,達到播放限制時,播放優先順序更高的音訊。優先順序並不固定,可以跟播放距離或者播放音量相關聯。合理優先順序設定對於音效整體表現至關重要;
- 打斷規則:同音訊相同優先順序打斷方式,用於同一個音訊連續觸發同一個例項的場景;
- 播放閾值:低於播放閾值的音訊不會觸發播放。
三、遊戲音訊整合
1、遊戲音效資源
遊戲音訊中介軟體匯出音效設計內容為音效資源,音訊引擎載入並解析音效資源,重構音訊設計結構來實現音效播放。音效資源結構一般為音訊中介軟體自定義檔案格式,其組成內容和載入方式如下:
組成內容
音效資源包含工程設定,音效設定,音效事件和音訊媒體等資訊。不同資訊或以字尾名或者特殊名來區分。以Wwise匯出音效資源為例:Wwise匯出音效資源字尾名為.bnk,流式音訊媒體字尾名為.wem。其中Init.bnk為特殊資源,包含全域性音訊設定資訊。其它.bnk均為包含音效事件和音訊媒體。
載入方式
音訊壓縮比低於圖片,在10:1左右。通常音訊使用的素材為48KHz,16bit,按照1K個音訊,平均時長3s來計算,總大小約為27M;當音訊數更多,時長更長時,這個總量還是比較大,所以音訊記憶體佔用是遊戲開發過程中的一個重要指標。不同音訊中介軟體的音訊資源載入方式都差不多,主要分為三種:完全載入,即直接載入到記憶體;流式載入,通過IO方式讀取音訊內容;預載入,介於兩者之間,部分直接載入到記憶體,剩餘部分通過IO方式讀取。
2、遊戲音訊引擎
典型遊戲音訊引擎整體框架如圖所示。主要功能包括音訊事件處理、資源載入解析、音訊物件管理、音訊渲染管線、解碼和效果外掛管理,以及底層基礎支援,例如IO,記憶體和執行緒管理等。
[ 音訊引擎整體框架 ]
- 音訊事件處理:處理遊戲客戶端傳送給音訊引擎的事件,包括音效觸發、資源載入、音訊物件位置更新等介面事件。
- 資源載入解析:執行音訊資源載入,並解析相應音訊設計結構,建立對應音訊物件;
- 音訊物件管理:管理載入的音訊物件,以及負責音訊物件屬性更新。
- 音訊渲染管線:負責音訊播放流程,從音訊編碼資料讀取、解碼、音訊處理、混音處理到最後輸出;
- 基礎功能:包括IO、記憶體池、外掛管理、執行緒。平臺介面封裝,提供引擎基礎功能,供其它模組呼叫。
3、遊戲音訊測試
遊戲音訊測試的主要內容包含以下:
- 功能測試:測試驗證遊戲音功能是否正常,包含音訊是否播放,是否配置正確,有無播放異常情況;
- 效果測試:測音訊播放效果是否符合預期,如不同場景音訊效果正確;
- 效能測試:測試音訊整體效能消耗。
除效能測試可以利用音訊中介軟體提供的Profile功能完成外,其它遊戲音訊測試基本只能靠主觀測試完成。另外關於遊戲音訊效果的評價方面,目前仍然缺乏有效方法。
四、遊戲音訊中介軟體
1、音訊編輯器
不同音訊中介軟體在音效編輯方式上有所不同,主要有以下幾類:
1)基於時間線:類似DAW,編輯上保留了時間線概念,直接對音軌操作,可以進行多軌音訊設計,直接拖拽音訊進行編輯。具體以FMOD和CriWare為代表,其操作主介面分別如圖所示:
[ FMOD編輯器主介面 ]
[ Criware編輯器主介面 ]
2)基於屬性編輯:對音訊播放型別分類,不同播放型別屬性設定不同,通過編輯屬性完成設計。操作簡單,上手較快,主要以Wwise為代表。Wwise拋棄了時間軸,直接通過屬性設定完成操作,並且支援批量編輯,其主操作介面如圖所示:
[ Wwise編輯器主介面 ]
3)基於圖形操作:以Miles為代表,主要音訊渲染過程以圖形方式呈現,通過修改圖形來完成音效設計,Miles主操作如圖所示:
[ Miles編輯器主介面 ]
DAW功能是內容編輯,影視節目和音樂製作內容都是依照時間進行,所以基於時間線的多軌音訊編輯很普遍;但遊戲音訊設計階段(除互動音樂外),主要內容是音效播放方式和互動設計,沿用時間線設計雖然直觀,但不符合遊戲音訊隨機性的特點,並且容易引導音訊設計師使用多層音訊疊加設計音效,產生嚴重效能問題。
2、支援特性比較
音訊中介軟體包括Wwise、FMOD、 Unreal Steam Audio、Miles、Fabric、Elias、Pure Data、Criware、GameCoda、RenderWare Audio等。其中部分中介軟體支援特性如下表所示。
3、遊戲主機音訊
遊戲主機音訊從最初8-bit支援,在隨著功能和複雜度不斷增加,目前已經可以達到影院級效果。其主要原因在於,遊戲主機對於音訊的硬體技術支援一直走在最前沿。以下為幾款主機平臺的音訊硬體支援列表:
主機平臺都有獨立的音訊處理單元,支援多路音訊解碼通道和音訊特效處理,環繞聲音訊輸出。最新的PS4使用了基於AMD True Audio技術APU(Audio Process Unit)。Xbox Series X則可能支援Dobly Atoms物件音訊技術。這些新技術支援,使得主機平臺在空間音訊和空間效果實現上更加應對自如。
五、遊戲音訊趨勢
1、設計流程標準化
不同音訊中介軟體在音訊設計上的差異會逐漸縮小,設計流程趨向標準化,進一步提升遊戲音訊設計質量和效率。
2、空間效果真實化
空間音訊技術在遊戲中應用會越來越廣泛,空間效果也會隨著音訊硬體支援和推廣進一步提升,給玩家帶來更真實的遊戲體驗。
3、內容互動智慧化
程式化音訊和AI音訊等技術在遊戲音訊領域的深入發展和應用,會增加遊戲音訊內容生產的豐富程度,並且朝智慧化方向邁進。
4、使用者體驗個性化
玩家對於遊戲音訊質量追求日益提升,已經可以從移動端技術升級初見端倪。從單揚聲器播放到立體聲播放,再到音效平臺設計,這些都在為使用者體驗個性化做準備。
作者:小星,騰訊互動娛樂 工程師
來源:騰訊遊戲學院
地址:https://mp.weixin.qq.com/s/9rtNYmfBVwm8jogEPusykQ
相關文章
- linux系統下音訊製作軟體不完全指南(轉)Linux音訊
- linux音訊製作播放不完全指南(mp3,mpc,ape)(轉)Linux音訊
- android音視訊指南-管理音訊焦點Android音訊
- android音視訊指南-處理音訊輸出的變化Android音訊
- android音視訊指南-MediaPlayer概述Android
- android音視訊指南-MediaRecorder概述Android
- linux音訊程式設計指南Linux音訊程式設計
- 【VSC】Snippets不完全指南
- MySQL 不完全入門指南MySql
- 前端優化不完全指南前端優化
- webpack優化不完全指南Web優化
- tree-shaking不完全指南
- 跳槽季·機器學習面試不完全指南機器學習面試
- 網頁效能分析不完全指南網頁
- 《音視訊開發進階指南》讀書筆記(一) —— 音視訊基礎概念筆記
- 音視訊開發指南:圖片的繪製
- android音視訊指南-支援的媒體格式Android
- Mate X時代的不完全生活指南
- 前端優秀實踐不完全指南前端
- 程式設計師面試不完全指南程式設計師面試
- android音視訊指南-響應媒體按鈕Android
- 音視訊--音訊入門音訊
- 音視訊–音訊入門音訊
- 阿里巴巴實習生招聘 不完全指南阿里
- 狀態管理框架開發不完全指南框架
- 新時代創意佈局不完全指南
- Chrome開發者工具不完全指南:(三、效能篇)Chrome
- 音訊_錄音音訊
- 為什麼使用遊戲音訊中介軟體?遊戲音訊
- 微信小遊戲開發(10)-音訊播放遊戲開發音訊
- 展望遊戲音訊設計的發展方向遊戲音訊
- android音視訊指南-媒體應用架構概述Android應用架構
- 短視訊“音訊化”,音樂“視訊化”音訊
- Chrome開發者工具不完全指南(二、進階篇)Chrome
- Android程式設計規範不完全指南Android程式設計
- Chrome開發者工具不完全指南(六、外掛篇)Chrome
- Chrome開發者工具不完全指南(五、移動篇)Chrome
- 音訊 (一) : 音訊基礎知識音訊