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:并发声音数量对音量的影响

🛠️ 使用方法

配置并发规则

  1. 在 Content Browser 中创建 Sound Concurrency 资源。
  2. 在 SoundCue 或 SoundWave 的 Concurrency 设置中引用。
  3. 可在运行时通过 AudioComponent->SoundConcurrencySettings 修改。

🏊 典型应用场景

  • 🎮 防止同一角色的脚步声无限叠加
  • 🎮 限制枪械射击声音,避免过载
  • 🎮 保证关键提示音总是能播放,而低优先级音效会被覆盖
  • 🎮 管理背景噪音或环境音数量

🤖 与其他组件对比

  • USoundAttenuation:声音的空间传播控制
  • USoundConcurrency:声音的并发管理
  • USoundMix:整体音量和混音效果管理

❌ 常见问题与注意事项

  • ❌ 忘记配置 Concurrency 会导致声音叠加卡顿
  • ❌ 设置过低的 Max Count 会让部分声音听不到
  • ✅ 与 Attenuation 搭配,可实现距离优先级的声音淘汰
  • ✅ 可全局共享 Concurrency 规则,提高项目一致性

📚 小结

  • USoundConcurrency 主要解决声音过载和叠加问题
  • ✅ 提供灵活的并发管理策略
  • ✅ 常用于动作游戏、多人场景、环境音管理