1

我正在使用 XNA 开发一个需要音效和音乐的游戏。我试图弄清楚如何实现声音引擎。Microsoft 提供了使用内容管道加载和播放音频的能力。然而,我也看到人们使用 Xact 来做同样的事情。我的问题是,有什么区别,制作声音引擎的更好方法是什么?

4

1 回答 1

4

Xact 功能丰富但使用复杂。它最初是播放声音的唯一方法,但人们想要更简单的东西,所以微软添加了内容管道方法。

如果需要,请使用内容管道:

  • 播放声音(2d 或 3d)
  • 不必花费大量时间学习音频框架

如果需要,请使用 Xact:

  • 可以相互依赖控制的声音类别,例如静音游戏声音但不是菜单声音
  • 对音高、音量的实时高级控制。对于炮塔旋转,汽车加速等事情。
  • 拥有多种单一音效,例如七种不同的疼痛声音,并让 Xact 选择播放哪一种。
  • 每次播放时,播放的音调、音量、过滤器或 3d 平移都略有不同。这对于子弹和类似的重复事物非常有用。没有什么比没有变化的重复声音更能说明虚假的计算机模拟了。
  • 允许游戏设计师或声音设计师在不接触代码的情况下完全控制编辑和更改声音。
  • 拥有可以作为一个组加载或卸载的声音库(声音集合),它可以使用不同的压缩设置并且可以在内存中或流媒体中。
  • 在编辑器中混合声音的音量、音高和优先级。
  • 对声音应用过滤。
  • 控制声音是否循环播放。
  • 使用 DSP 效果器

关于 Xact,我最喜欢的一件事是在编辑器中编辑和预览声音功能。例如,炮塔过热声音上的音量衰减。使用 XACT,您可以与声音设计师坐下来,即使他不是技术人员,也可以编辑控制曲线,直到他对声音感到满意为止。一旦你设置了它,以后改变它真的很容易。在此示例图像中,炮塔过热。在过热循环结束时,嘶嘶的蒸汽噪音音量会降低,但因为它是一条曲线,所以我可以很好地控制声音的减弱方式。我也将它与光束武器一起使用,当弹药耗尽时根据曲线降低频率。

于 2010-09-25T04:18:09.767 回答