usoundattenuation
USoundAttenuation
明白啦 👍 这次我会分别给你整理 USoundAttenuation 和 USoundConcurrency 的 Notion 笔记格式内容,每个都是单独的完整结构。
🎮 Unreal Engine - USoundAttenuation
🏛 定义
USoundAttenuation 是 控制声音在空间中衰减(Attenuation)行为的资源类。
它决定了声音如何随 距离、方向、障碍物 发生变化,从而实现 3D 环绕和空间感。
📚 类继承
UObject
└── USoundAttenuation
⚡ 关键特性
- 📦 距离衰减:支持线性、对数、反比等模型。
- 📦 空间化(Spatialization):让声音随着听者位置变化产生立体效果。
- 📦 低通滤波器:远距离或被遮挡时自动削减高频。
- 📦 环境混合:与 Reverb、Occlusion 等系统结合。
⚙️ 常见配置
- Attenuation Shape:Sphere / Capsule / Box
- Falloff Distance:声音完全消失的距离
- Spatialization:启用或禁用 3D 音效
- LPF/HPF:距离相关的滤波器设置
🛠️ 使用方法
绑定音效
- 在 Content Browser 中创建 Sound Attenuation 资源。
- 在 SoundWave 或 SoundCue 中引用该 Attenuation 设置。
- 在
AudioComponent上指定 AttenuationOverrides。
🏊 典型应用场景
- 🎮 角色脚步声随距离逐渐减弱
- 🎮 枪声在远处听起来更低沉
- 🎮 背景音乐保持全局播放,不受衰减影响
- 🎮 室内/室外音效通过 Occlusion 产生空间感
🤖 与其他组件对比
- USoundAttenuation:控制声音在空间中随距离/方向的变化
- USoundConcurrency:控制声音的数量和播放策略
- USoundMix:全局混音调节
❌ 常见问题与注意事项
- ❌ 声音资源必须启用 Spatialize 才能生效
- ❌ 在 2D 声音(UI 音效)中不需要 Attenuation
- ✅ 可以在
AudioComponent上动态修改 Attenuation 参数 - ✅ 与 Occlusion 配合可实现遮挡效果
📚 小结
- ✅
USoundAttenuation决定声音在空间的传播规则 - ✅ 常用于 3D 游戏场景中的环境音与角色音效
- ✅ 与 SoundWave、SoundCue、AudioComponent 紧密配合使用