空间音频与衰减
自动关联目录:空间音频与衰减
1. 定位
空间音频回答"这个声音在哪、多远、被什么挡住"——它是沉浸感的主要来源,也是音频里成本最高的一块。
一句话定位:衰减决定"能不能听到",遮挡决定"听起来隔不隔",两者都要按音源重要性开关,不能全开。
2. 衰减(Attenuation)
| 概念 | 说明 |
|---|---|
USoundAttenuation | 衰减设置资产 |
| 距离模型 | 线性 / 对数 / 反比 / 自定义曲线 |
| Inner / Falloff Distance | 内半径(满音量)与衰减距离 |
| 空间化(Spatialization) | 声像定位,可用 HRTF |
| Air Absorption | 空气吸收(高频随距离衰减) |
| Listener Focus / Non-Spatialized Radius | 近距离不做空间化 |
设计要点:
- 内半径内保持满音量,避免"走两步音量就变"
- 衰减距离按场景尺度设(开放世界要更大)
- 次要音源可以不做空间化,省成本
3. 遮挡(Occlusion)
| 要点 | 说明 |
|---|---|
| 机制 | 射线/追踪检测音源与听者之间是否有遮挡 |
| 表现 | 通常做低通滤波 + 音量衰减 |
| 成本 | 按音源计的射线开销 |
| 建议 | 只对重要音源开启,并限制检测频率 |
遮挡是音频里最贵的单项之一:几十个音源每帧做遮挡检测会直接吃掉预算。
4. 混响与环境
| 概念 | 说明 |
|---|---|
Audio Volume | 定义区域的混响/环境设置 |
| Reverb | 混响效果 |
Ambient Zone | 环境音区 |
| Submix | 路由与总线效果(见 Sounds 索引) |
混响区要有明确的边界设计:重叠区域的行为要可预期,否则听起来"忽大忽小"。
5. 代价与权衡
| 设计 | 收益 | 代价 | 什么时候不该用 |
|---|---|---|---|
| 空间化 / HRTF | 定位准确 | 比非空间化贵 | 环境底噪可不开 |
| 遮挡检测 | 真实感 | 射线成本高 | 次要音源不开 |
| Air Absorption | 距离感自然 | 少量 DSP 成本 | 小场景可省 |
| 混响区 | 空间感 | 效果链成本 | 简单场景一个全局设置即可 |
| 大衰减距离 | 远处也能听到 | 活跃音源变多 | 配合并发限制(见 音频性能与并发) |
6. 踩坑与排查
| 坑 | 现象 | 怎么验证 |
|---|---|---|
| 所有音源都开遮挡 | 射线开销大 | 只对重要音源开 |
| 衰减距离与场景尺度不匹配 | 太近听不到/太远还在响 | 按场景调 |
| 内半径太小 | 走两步音量突变 | 调大内半径 |
| 次要音源也 HRTF | 白付成本 | 关掉 |
| 混响区重叠 | 声音忽变 | 检查区域边界 |
| 音源挂在不稳定的对象上 | 声音跳变 | 见 音频性能与并发 |
| 移动端没测 | 爆音 | 低端机型复测 |
7. 排查顺序
1. 定位不准?→ 空间化是否开启、HRTF 配置
2. 距离感不对?→ 衰减模型与内半径/衰减距离
3. 隔不隔?→ 遮挡是否开启
4. 卡?→ 统计开遮挡与 HRTF 的音源数量,按重要性收窄
5. 混响怪?→ 检查 Audio Volume 边界参考
- 音频性能与并发 · 音频资源与流式 · MetaSounds
- 渲染调试与抓帧(可视化辅助)
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/b43ae937.html
更新于:2026年10月10日