usoundconcurrency
USoundConcurrency
🎮 Unreal Engine - USoundConcurrency
🏛 定义
USoundConcurrency 是 控制声音并发(Concurrency)策略的资源类。
它决定了当同一类声音同时触发时,如何管理 数量限制、优先级、替换策略。
📚 类继承
UObject
└── USoundConcurrency
⚡ 关键特性
- 📦 最大并发数:限制某类声音的同时播放数量
- 📦 优先级策略:控制新声音是否取代旧声音
- 📦 Resolution Rules:支持 StopOldest、PreventNew、StopFarthest 等模式
- 📦 Voice Management:优化性能,避免声音过载
⚙️ 常见配置
- Max Count:允许同时播放的最大实例数
- Resolution Rule:溢出时的处理方式
- Stop Oldest
- Stop Farthest
- Prevent New
- Volume Scale:并发声音数量对音量的影响
🛠️ 使用方法
配置并发规则
- 在 Content Browser 中创建 Sound Concurrency 资源。
- 在 SoundCue 或 SoundWave 的 Concurrency 设置中引用。
- 可在运行时通过
AudioComponent->SoundConcurrencySettings修改。
🏊 典型应用场景
- 🎮 防止同一角色的脚步声无限叠加
- 🎮 限制枪械射击声音,避免过载
- 🎮 保证关键提示音总是能播放,而低优先级音效会被覆盖
- 🎮 管理背景噪音或环境音数量
🤖 与其他组件对比
- USoundAttenuation:声音的空间传播控制
- USoundConcurrency:声音的并发管理
- USoundMix:整体音量和混音效果管理
❌ 常见问题与注意事项
- ❌ 忘记配置 Concurrency 会导致声音叠加卡顿
- ❌ 设置过低的 Max Count 会让部分声音听不到
- ✅ 与 Attenuation 搭配,可实现距离优先级的声音淘汰
- ✅ 可全局共享 Concurrency 规则,提高项目一致性
📚 小结
- ✅
USoundConcurrency主要解决声音过载和叠加问题 - ✅ 提供灵活的并发管理策略
- ✅ 常用于动作游戏、多人场景、环境音管理