1. 程式人生 > >unity5x --------Music Mixer參數詳解

unity5x --------Music Mixer參數詳解

景區 pdb 原型 src bsp 數字 rom 類定義 -m

我們一直在致力開發出業界最頂尖水準音頻處理功能,而經過很長一段時間的努力,在Unity5.0中,音頻處理功能將成為非常重點的一個功能。

要達成這個目標,我們首先重寫了很多Unity中音頻相關得處理流程以及資源管理部分。我們需要確保對編碼器進行穩妥的選擇,以及確保我們提供一個能夠讓開發者在遊戲中使用高品質音頻的框架。在後續的文章中我們會提供更多的詳細信息,但是現在我們只想告訴大家我們在Unity5.0中的第一個重要的音頻特性,那就是:混音器(AudioMixer)

第一步

除了為未來Unity中的音頻開發創造堅實基礎之外,我們還想為大家提供一個全新的功能,作為我們實現“讓你做出絕贊音頻”的第一份大禮,展示我們的決心,願意竭盡所能為您帶來音頻方面的享受。

在接下來的發行周期中,音頻系統中還有很多地方需要不斷改進。其中一些非常不起眼,但卻解決Unity中至今懸而未決的問題,可以將這些看作是修復現有功能集;另外一些則會相對龐大,比如讓用戶做出絕贊交互音效的功能、浸入式音樂系統和高細節精確控制音頻音景混合。


為什麽選擇AudioMixer?

為什麽我們選擇AudioMixer作為Audio 5.0首先推出的重大功能?答案非常簡單:在以前的Unity版本中,不可能實現音頻局部混合。聲音可以在AudioSource中進行播放,並且可以將音效效果作為組件來添加,遊戲中的所有聲音都會混合在AudioListener中,AudioListener還可以在整個音景中添加效果。

我們決定用AudioMixer來解決這個問題,與此同時,我們覺得可以將其更進一步,集成了許多你可以在已有數字音頻工作站應用程序中找到的功能。

聲音的分類

<ignore_js_op>技術分享


許多音響師都知道,能夠將聲音集合合並成不同分類,並在某一處對一個類別中的所有聲音進行音量控制是超級實用的功能。將音量和效果參數與遊戲的邏輯連接起來,就相當於對遊戲中的整個音景區域有了有效的控制。

對整個混合音景的控制真的超級重要,是控制音頻混縮的情緒和身臨其境之感的絕佳方式。好的混音和音樂能帶領玩家在遊戲中經歷各種情緒的變化,營造出僅憑圖形效果根本無法產生的氣氛。

用Unity進行混音

這正是AudioMixer的目的所在,它是一種資源,可以被用戶整合到場景之中,控制遊戲裏的所有音頻混縮。場景中播放的所有聲音都會被放入一個或多個AudioMixer中,之後再進行分類,並將各種修改和效果應用到混縮音頻中。
<ignore_js_op>技術分享


每個AudioMixer都有類定義的層次結構,這在AudioMixer中被稱為AudioGroup。您也可以在音樂或電影界人士較為熟悉的傳統調音臺布局中查看這些AudioGroup。
5
技術分享收藏1
回復

舉報

UnityChina 技術分享

130

主題

366

帖子

3600

貢獻

管理員

技術分享技術分享技術分享

積分
3600
  • 發消息
沙發 技術分享 樓主| 發表於 2014-10-28 05:01:28 | 只看該作者
DSP
<ignore_js_op>技術分享


當然,AudioMixer並不僅僅只是設置混縮層次而已。正如大家預期的那樣,每一個AudioGroup都可以包含各種不同的DSP音頻效果,這些效果以信號形式按順序疊加到音頻上。

現在我們有一些進展了!你不僅可以創建自定義傳送方案和混合層次結構,還可以將各種DSP的好效果放在信號鏈上的任何地方,為你的音景提供各種效果選項。你甚至還可以添加蒙版路徑,只允許其對一部分信號進行處理。

但如果你想在Unity的內置效果裏就獲得更多的DSP控制,怎麽辦?這在以前完全由OnAudioFilterRead腳本回調來處理,它可以讓你直接在腳本中處理音頻采樣。

這對於處理輕量級效果或將一時的奇思妙想做成原型來說是非常棒的,但有時,你希望能夠寫出原生編譯的效果,以達到最佳性能,讓你能夠寫出更重量級的想法,比如自定義采樣混響或多波段均衡器。
<ignore_js_op>技術分享

Unity現在還支持自定義DSP插件效果,使用戶能夠為遊戲寫出自己的原生DSP,或許還可以將他們的絕佳音效創意放到資源商店中供他人使用。這樣便開辟了無限可能,可以編寫自己的合成器引擎,甚至還能與Pure Data等其他音頻應用對接。自定義DSP插件還可以請求旁鏈支持,可以從混合音頻中的任何地方得到旁鏈數據!簡直棒極了!

AudioGroup中效果堆棧可以實現的一個很酷的事情便是,你可以在堆棧中的任何地方應用組衰減。現在甚還至可以增強信號,因為我們允許高達+20分貝的音量水平。檢測器中甚至還集成有聲量計來告訴你信號在衰減點處經歷了怎樣的變化。

<ignore_js_op>技術分享

當與非線性DSP、發送/接收和新的閃避插入相結合時(將在後文中做出解釋),這將成為一種通過混音控制音頻信號的超強方法。
回復 支持 反對

舉報

UnityChina 技術分享

130

主題

366

帖子

3600

貢獻

管理員

技術分享技術分享技術分享

積分
3600
  • 發消息
板凳 技術分享 樓主| 發表於 2014-10-28 05:04:56 | 只看該作者
情緒轉變

剛才談及了憑借音景的混音來控制遊戲的情緒。這可以通過引入或引出新的音樂主幹或環境聲效來實現。實現這點的另一種常見方法是轉變混音本身的狀態。更改混音部分的音量和過渡至不同的效果參數狀態是按照自己的意圖來引導玩家情緒的一種有效方法。

所有AudioMixers都有定義快照的能力。快照會捕獲AudioMixer內所有參數的狀態。效果濕度水平和AudioGroup音高水平等內容均可被捕獲並在它們之間進行轉換。

<ignore_js_op>技術分享

想象一下,從地圖上的一片開放領域走入一個險惡的洞穴,利用混音過渡來強調更微妙的氛圍,加入樂團的不同樂器,改變配樂的混響特性。想象一下無需編寫任何一行腳本代碼便可設置此功能的感覺。

分支信號

而當結合發送、接收和閃避時,快照的能力將尤為加強。

發送

<ignore_js_op>技術分享

除了可在Unity中插入傳統的DSP效果之外,您也可以在混音的任何位置插入“發送”。“發送”可在其插入的任何位置有效地分支音頻信號,並且在發送內,您可以選擇希望分支的信號量。

事情現在變得更加有趣了!鑒於您分支的信號水平是快照系統的一部分,您可以把信號流的變化與快照過渡相結合。由此,潛在的設置可能性便開始如滾雪球般增長。

但是被分支的信號去了哪裏呢?目前,Unity內有兩個可供發送選擇的目標,即接收和音量閃避。


接收
接收是相當簡單的處理單元。它們是如同任何其他效果一樣,可以插入其中,簡單地把所有從發送瞄準它們的分支聲音混合在一起,將其傳遞給AudioGroup中的下一種效果。

接收可被置於一組效果和AudioGroup衰減點的任意位置,這將使得分支信號應被引入混音時獲得巨大的靈活性。

音量閃避
發送也可針對音量閃避插入單元。就如同接收一樣,這些單元可與其他DSP效果一同被置於混音之內。

<ignore_js_op>技術分享

當發送瞄準音量閃避插入時,它的作用就像側鏈壓縮器設置,這意味著您可以從混音的任何位置做側鏈,並從其任何其他位置應用音量閃避!
這對於外行而言意味著什麽呢?想象一下,您在為FPS遊戲混音,您希望玩家突然聽到一陣槍聲和爆炸聲。好吧,但是如果當你走向戰場上的NPC時,你需要聽到他們所說的話又該怎麽辦呢?音量閃避允許您動態地調整混音整個部分的音量(在此情況下是所有的軍械聲),使其低於其他部分的音量(NPC說話聲)。您只需從包含所有NPC對話的AudioGroup發送到軍械AudioGroup上的音量閃避單位即可。

您甚至可以將側鏈壓縮動態地應用於音樂設置,讓其余的樂器壓縮掉低音軌道。
最棒的一點是您無需任何一行代碼便可以在編輯器中設置這一切內容!

結束語

盡管在本文中我僅僅介紹了AudioMixer所提供可能性的皮毛,但是我希望它足以激發人們對Unity 5.0中音頻可能性的興趣。
我們真心希望通過Unity 5.0及後續產品來推動遊戲音效的未來,為您提供制作震撼音效所需的工具套件!
讓我們知道您的想法!

音頻團隊

unity5x --------Music Mixer參數詳解