戰(zhàn):從分組到 Ducking 的全鏈路調(diào)音方案)
開場凌晨三點(diǎn),BGM 突然蓋過了對白,玩家在評論區(qū)瘋狂刷"聽不清"。你翻遍項目,找到 47 個 AudioSource,每個都掛著各自的 volume 字段,調(diào)一個全局音量要改十幾個預(yù)制體。這就是沒有 Audio Mixer 的典型翻車現(xiàn)場——聲音參數(shù)散落在代碼各處,像一盤散沙。Audio Mixer 相當(dāng)于給項目接上一臺數(shù)字調(diào)音臺:所有聲音匯入總線(Bus),按分類獨(dú)立調(diào)參,還能用快照瞬切氛圍。但只會拖面板遠(yuǎn)遠(yuǎn)不夠——參數(shù)寫進(jìn) Mixer 之后引擎內(nèi)部到底怎么走?為什么音量要用 dB 而不是線性值?Ducking 為什么很多人會配錯?本篇從信號流底層拆到工程落地,把這些問題一次講透。一、引擎內(nèi)部:聲音是怎么流到喇叭的1.1 信號路徑:一張有向無環(huán)圖Audio Mixer 在引擎內(nèi)部是一張音頻處理圖(DSP Graph 的雛形)。每個 AudioSource 輸出的 PCM 數(shù)據(jù)流,按下面的路徑流動:AudioSource(解碼 + 聲像/多普勒) ↓ outputAudioMixerGroup 指定入口 Group A(效果鏈:Attenuation → Lowpass → ...) ↓ 匯入父 Group Group B(效果鏈) ↓ …逐級向上… Master Group ↓ 音頻輸出設(shè)備理解這張圖,后面所有機(jī)制都能對上號:Group 是節(jié)點(diǎn),效果是掛在節(jié)點(diǎn)上的處理單元。一個 Group 的輸出會混進(jìn)父 Group 的輸入,所以 Master 的音量天然是"總閘"。/