U
Unity
星辰学院
首页
课程表
章节导览
第 1 课
返回主站
首页
/
第 11 章 · 音频系统
/
第 184 课
LESSON 184 · 音频系统
音频进阶:动态混音与空间感
动态混音完成。下一课音频章收尾。
⏱ 约 14 分钟
📊 难度:
入门
🗂 第 11 章 · 音频系统
📍 第 184 / 300 课
课程进度
184 / 300
🎯
本节学习目标
实现 BGM 闪避
实现动态混音
实现空间混响
🚀
课程导读
“角色说话时 BGM 自动变小”——动态混音是专业音频的“高级感”。本课掌握。
◆
BGM 闪避 Ducking
语音时背景“让路”。
【闪避】有重要声音(对话/旁白)时,BGM 音量自动降低,结束后恢复。
【实现】代码控制(简单):
public AudioMixer mixer;
public void DialogueStart() { StartCoroutine(Fade(“bgmVol”, -12f, 0.3f)); }
public void DialogueEnd() { StartCoroutine(Fade(“bgmVol”, 0f, 0.5f)); }
IEnumerator Fade(string param, float target, float t) {
float start; mixer.GetFloat(param, out start);
float el = 0;
while (el < t) { el += Time.deltaTime; mixer.SetFloat(param, Mathf.Lerp(start, target, el/t)); yield return null; }
}
【触发】对话系统开始/结束调用 DialogueStart/End。
【效果】说话时音乐“让位”,说完恢复。
【注意】推子要先 Exposed(第 176 课)。
【完成】“让路”成功。
【推荐】过场/对话多的时候强烈建议。
【说明】专业做法用 Sidechain(侧链压缩,FMOD/Wwise 里实现)。
💡
BGM 闪避 = 对话开始降音乐、结束恢复。两行协程,体验专业。
◆
动态混音与混响
空间感与状态变化。
【状态切换】低血量/战斗时换混音“快照”(第 176 课 Snapshot):
AudioMixerSnapshot normal = mixer.FindSnapshot(“Normal”);
AudioMixerSnapshot battle = mixer.FindSnapshot(“Battle”);
battle.TransitionTo(0.3f); // 平滑切到战斗混音(更重低音等)
【混响 Reverb】给音效组加 Reverb 效果:
选中 Mixer 的 SFX 组 → Add Effect → Reverb。
调节 Room(空间感)、Damping 等。
【空间区分】室内/室外切换混响参数(进房间 Reverb 增强)。
【实现】进入房间触发器:
mixer.SetFloat(“ReverbAmount”, 80f); // Exposed Reverb 参数
【完成】场景“有空间感”。
【注意】混响别过重(糊),适量。
【推荐】先做闪避+快照,混响按需。
【进阶】Wwise/FMOD 专业音频中间件(行业标准,进阶)。
✅
动态混音 = 闪避(对话让路)+ 快照(状态切换)+ 混响(空间感)。三招。
⚠
常见错误与排查
⛔
错误:
混响没效果?
原因:
参数没 Exposed 或效果没加
解决:
SFX 组 Add Effect 加 Reverb;要控制参数需 Exposed 并用代码 SetFloat。
★
动手练习
课后小任务(做出来才算真的学会)
实现 BGM 对话闪避
做低血量战斗快照切换
给室内加混响
✓
本节小结
动态混音完成。下一课音频章收尾。
标记为已完成
完成打卡后,主站会实时更新你的学习进度 🎯
← 上一课
音频综合练习:完整音频系统
下一课 →
音频章总结与最佳实践
↑