游戏开发声音框架

12

我与一个团队合作,正在为各种2D和最终3D迷你游戏构建引擎。我们面临的问题是需要一个稳定、跨平台的声音API。显然,由于我们需要跨平台能力,DirectX不可用。SDL很好用,但让我们面对现实吧,SDL_Mixer在它所能做的方面有些受限。我们目前正在使用它,但当我们最终扩展到3D时,这将成为一个问题。

我一直在尝试OpenAL,但我找到的大部分文档都已经过时了,并且似乎并不那么好用。我愿意学习OpenAL,并且通过它努力前进,但我想更加确定我不会浪费时间。除了Devmaster教程之外,我还没有看到让我印象深刻的文档。如果有人有比我发现的更好的材料,那就太棒了。

我也看到了FMOD等项目,尽管许可证费用较高,但似乎还不错。然而,像OpenAL一样,他们几乎没有文档。当然,我可以查看代码以推断我的选项,但考虑到我最终可能会为此付费,这似乎有点麻烦。

总之,有什么想法、评论或者问题吗?非常感谢!

7个回答

12

(注意:我有使用过FMOD、BASS、OpenAL和DirectSound等,虽然下面列出了其他库,但我没有使用过它们)。

BASSFMOD都很好(实际上我非常喜欢FMOD的文档;你为什么说它“不存在”?)。还有一些中间件包,例如:Miles Sound SystemWwiseirrKlang等。

OpenAL号称跨平台,但在每个平台上都有自己的怪癖。它也不完全“开放”。我不确定它的未来是什么;似乎它在Creative接手后就停滞了。不过,最近有一个从零开始构建实现的努力:OpenAL Soft

然后还有本地平台API,例如Windows的DirectSound或XAudio2,OS X的Core Audio,Linux的ALSA,游戏机的专有API等。我认为在每个平台上使用本地API非常有意义;你只需在需要的通用接口下进行抽象,并在每个平台上具有不同的实现。当然,这比仅使用OpenAL更费力,但OpenAL甚至在某些平台上都不可用,在其他平台上也有各种怪癖,你甚至无法修复(因为没有源代码可以修复)。使用商业库如FMOD或Miles的许可证是一个选择,因为所有这些平台相关的工作已经为您完成。

我们现在在工作中使用OpenAL,但考虑放弃它,因为它没有进展,我们无法修复其中的问题。因此,虽然OpenAL很容易上手,但我不认为它是一个好选择。


谢谢您提供的信息。关于FMOD,我只记得浏览过文档,感觉有点不足。现在我需要再仔细研究一下。非常有用的答案,给了我一些方向,谢谢! - f4nt
2
OpenAL不开放?源代码可在公共SVN上获取。 - Jasper Bekkers
对这个答案的一个小备注(更新):这里是OpenAL仓库。它完全开源:https://github.com/kcat/openal-soft。我在iOS / Android / Windows上使用它来制作我的应用程序,没有任何问题。如果您熟悉像OpenGL这样的API,则非常简单和清晰。但是好吧,我看到这个答案可以追溯到2008年。呵呵,自那时以来很多事情都改变了。比如Unity现在使用FMOD :) - Michael IV

6
我在发布的游戏中使用过DirectX、FMOD和Wwise。我不会在这里谈论DirectX,因为其他人会有很多反馈;)
以下是你需要考虑的事项:
许可证 - 我把这放在第一位,因为这可能会决定你的选择。请让你的律师审查并确保你理解成本和限制。
API - FMOD具有非常干净、最小的API,非常容易理解。Wwise在功能上提供了更多内容,但其API似乎更大、更繁琐,并且有一些需要你理解的困难概念。
工具 - Wwise具有非常复杂的工具,非常适合音频设计师而不是程序员,如果你想给音频设计师很多直接控制和实验室,那么选择Wwise可能是正确的选择。FMOD正在赶上工具方面,但我觉得它的工具更适合程序员。
性能 - 这是你需要自行评估的东西,不能说哪一个比另一个更好,因为这取决于你的平台和游戏类型。你可以获取性能统计数据,但要对此持怀疑态度,它们可能存在某种程度上的理想化。确定你的性能预算(例如每帧2毫秒用于声音,X个通道,X个流),并对不同的声音格式、采样率和位深度进行一堆测试,并将它们图形化。
支持 - FMOD和Wwise都有非常好的支持渠道和技术人员。但请检查一下是否需要额外支付支持费用。
如果你要让我选择一个……FMOD-它真的是一个非常好的产品,那些家伙做得很棒。

2

我最近参与了一个使用FMOD的AAA PC游戏项目。我们的音频程序员非常喜欢它并且用起来非常高效,所以我会推荐FMOD。但是我们只在Windows上使用了FMOD,对于其跨平台方面我无法发表意见。


1

Wwise 可能是工作流程方面最完整的声音开发解决方案。它的设计方式真正节省了您的编程时间,并为您提供更多实验和构建复杂声音结构的可能性。有了 Wwise,我们能够为团队保持项目组织良好。

我个人非常喜欢他们的交互式音乐系统。它灵活,使您的音乐能够平滑地对游戏输入做出反应。

此外,Audiokinetic 的支持也非常敏锐。总是快速并愿意提供帮助。

我推荐使用。


1

我使用了 Miles Sound System 发布了两个 PC 游戏,效果非常好。MSS易于集成,快速、稳定。RAD Game Tools 提供的支持非常出色。这个库已被用于超过 4500 款游戏,因此非常可靠。而且价格便宜!

另一方面,与 FMOD 或 WWise 相比,MSS 是一个相当低级别的库。该库不提供任何方法让声音设计师控制声音音量、衰减、随机化、淡入淡出或其他存储在声音文件中的音频设置。您将需要自己编写这些高级功能。

这就是为什么我正在评估 WWise 是否适用于我的下一个游戏。它比 Miles 工具集更加完善。虽然启动时间较长,但目前效果良好。我还没有使用它到足够深入的程度,无法真正提供推荐意见。


1

0

我也可以为FMOD背书,它在游戏开发中被广泛使用,因为它具有出色的多平台支持和工具。它的设计师真的很愉快合作。但问题是,商业开发需要昂贵的许可证。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接