usoundattenuation

USoundAttenuation

明白啦 👍 这次我会分别给你整理 USoundAttenuationUSoundConcurrency 的 Notion 笔记格式内容,每个都是单独的完整结构。


🎮 Unreal Engine - USoundAttenuation


🏛 定义

USoundAttenuation控制声音在空间中衰减(Attenuation)行为的资源类

它决定了声音如何随 距离、方向、障碍物 发生变化,从而实现 3D 环绕和空间感。


📚 类继承

UObject

└── USoundAttenuation


⚡ 关键特性

  • 📦 距离衰减:支持线性、对数、反比等模型。
  • 📦 空间化(Spatialization):让声音随着听者位置变化产生立体效果。
  • 📦 低通滤波器:远距离或被遮挡时自动削减高频。
  • 📦 环境混合:与 Reverb、Occlusion 等系统结合。

⚙️ 常见配置

  • Attenuation Shape:Sphere / Capsule / Box
  • Falloff Distance:声音完全消失的距离
  • Spatialization:启用或禁用 3D 音效
  • LPF/HPF:距离相关的滤波器设置

🛠️ 使用方法

绑定音效

  1. 在 Content Browser 中创建 Sound Attenuation 资源。
  2. 在 SoundWave 或 SoundCue 中引用该 Attenuation 设置。
  3. AudioComponent 上指定 AttenuationOverrides。

🏊 典型应用场景

  • 🎮 角色脚步声随距离逐渐减弱
  • 🎮 枪声在远处听起来更低沉
  • 🎮 背景音乐保持全局播放,不受衰减影响
  • 🎮 室内/室外音效通过 Occlusion 产生空间感

🤖 与其他组件对比

  • USoundAttenuation:控制声音在空间中随距离/方向的变化
  • USoundConcurrency:控制声音的数量和播放策略
  • USoundMix:全局混音调节

❌ 常见问题与注意事项

  • ❌ 声音资源必须启用 Spatialize 才能生效
  • ❌ 在 2D 声音(UI 音效)中不需要 Attenuation
  • ✅ 可以在 AudioComponent 上动态修改 Attenuation 参数
  • ✅ 与 Occlusion 配合可实现遮挡效果

📚 小结

  • USoundAttenuation 决定声音在空间的传播规则
  • ✅ 常用于 3D 游戏场景中的环境音与角色音效
  • ✅ 与 SoundWave、SoundCue、AudioComponent 紧密配合使用