版本
menu_open

转码技巧和窍门

您您最好仔细阅读以下章节,其中为您提供了一系列技巧和经验总结,在整个音频开发过程中它们可以帮助您更好地管理平台和语言版本。

对多个文件做转码

您可一次性对多个音频文件做转码,方法是在层级结构中右键点击顶层对象(例如容器),然后从快捷菜单中选择 Convert。如果您想为整组对象设置转码设置,那么您可以右键点击顶级对象,然后从快捷菜单中选择 Conversion Settings。您还可以在 Project Explorer 中选择多个对象,然后定义它们的转码设置或者同时对它们做转码。

转码设置的策略

游戏公司在开发游戏时,很多时候会审查各个平台,然后为各个性能指标(例如内存占用、CPU 和带宽)分配“预算”。预算的一部分将分配给音频团队,由他们高效地针对各个平台来管理这笔预算。不同平台拿到的预算也不相同,因此音频设计师需要理解如何利用各种转码设置来高效地针对这些差异做出补偿,并仍然能设计出优秀的声音。为了了解优化效果,您可以使用 Game Profiler 来监视游戏性能,并在预算范围内根据需要来调整转码设置。

音频格式

在您的预算中还必须考虑到音频格式。审查 Wwise 支持的不同格式的特点非常有用,可以让您为项目做好合理的选择。一般规则是,文件压缩程度越小,则需要的运算资源越少;但是未经压缩的文件通常会占用更多的内存或磁盘空间。

下表为您提供了一些基本的建议和信息,帮助您决定如何编码音频文件。

文件格式

压缩率
(近似值)

CPU

内存

常见用途示例

局限性

PCM

1:1

极低

声音需要高保真。

无。

ADPCM

4:1

中等

环境声和音效。

仅在 64 个采样点边界上循环。

Vorbis

3-40:1

中等到高

中等到极低

对白、音乐、环境声和音效。

元数据开销比其它格式稍大,因此应避免将它用于极小的声音(短于几十毫秒)。需要 Seek Table(文件定位表)进行跳转。

WEM Opus

10-60:1

高(不启用硬件加速);极低(启用硬件加速)

中等到极低

对白、简单音乐、环境声和音效。

功能限制因平台性能而异。有关详细信息,请参见下文““WEM Opus 功能限制及利弊权衡”一节”。

结合 Vorbis 编码器使用 Seek Table

Vorbis 编码器的 Seek table granularity (sample frames)(寻址表粒度,单位为采样帧)默认设为 16384。虽然并非总会用到寻址表,不过在以下情况下必须使用:

  • 结合虚声部“From Elapsed Time”设置使用 Vorbis 编码器时。

  • 对互动音乐文件使用 Vorbis 编码器时,特别是当声音引擎必须从除开头之外的位置开始读取文件时。

  • 为 Vorbis 编码器使用 Seek Action(寻址动作)时。

要为一系列 Vorbis 编码文件启用 Seek Table,执行以下操作:

  • Conversion Setting 对话框中,点击正在使用 Vorbis 编码器的平台所对应的 Edit

  • Vorbis Encoder Parameter 对话框中,通过从 Seek table granularity 表中选择一个数字来指定粒度。

Seek Table 粒度越小,需要的内存越多。如果粒度太大,精确到采样点的跳转寻址(互动音乐或 Seek 动作)可能导致 CPU 峰值;如果大于磁盘流播放的粒度,则会造成 I/O 利用率低下。根据经验,所选寻址表大小一般应小于或等于磁盘流播放粒度(即初始化过程中 AkDeviceSettings::uGranularity 使用的值)。

[备注]文件太小可能会导致寻址失败

若文件太小或与 Seek table granularity 大小相差无几,则寻址可能会失败。在这种情况下,请减小 Seek table granularity。

WEM Opus 功能限制及利弊权衡

WEM Opus 这种格式的解码行为尤其依赖于平台的性能。确切地说,WEM Opus 会尝试在支持的平台上启用硬件加速。因此,其功能限制和整体效能与目标平台有很大的关系。

在大部分平台上,WEM Opus 通过 CPU 进行解码。在这种情况下,为了获得更高的压缩效率,其要占用比 Vorbis 更多的 CPU 资源。

在目标平台支持 Opus 硬件加速时,这种功能限制便不复存在了:即使是在寻址的时候,也只会占用很少的 CPU。对于这些平台,Wwise 声音引擎会提供相应的选项,以便在初始化过程中启用或禁用低延迟硬件解码。

  • 在禁用低延迟解码时,WEM Opus 播放可能会延迟一个音频帧(默认设置通常为 10.6 ms)。寻址操作也会产生类似的延迟。

  • 在启用低延迟解码时,WEM Opus 便不会产生上述的额外延迟。不过最好不要同时播放太多采用 WEM Opus 编码的声音,否则容易出现声部匮乏问题。这是因为声音引擎必须等到平台硬件完成解码才能一并对不同的声音进行混音。

注意,此选项为全局设置,也就是说无法针对某个声音单独启用或禁用。所以,必须依据工程的具体用例来谨慎地权衡利弊。

为此,请参阅目标平台的特定 SDK 文档页面,来了解其是否支持 Opus 硬件加速,以及如何启用或禁用低延迟解码。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅