版本
您您最好仔细阅读以下章节,其中为您提供了一系列技巧和经验总结,在整个音频开发过程中它们可以帮助您更好地管理平台和语言版本。
您可一次性对多个音频文件做转码,方法是在层级结构中右键点击顶层对象(例如容器),然后从快捷菜单中选择 Convert。如果您想为整组对象设置转码设置,那么您可以右键点击顶级对象,然后从快捷菜单中选择 Conversion Settings。您还可以在 Project Explorer 中选择多个对象,然后定义它们的转码设置或者同时对它们做转码。
游戏公司在开发游戏时,很多时候会审查各个平台,然后为各个性能指标(例如内存占用、CPU 和带宽)分配“预算”。预算的一部分将分配给音频团队,由他们高效地针对各个平台来管理这笔预算。不同平台拿到的预算也不相同,因此音频设计师需要理解如何利用各种转码设置来高效地针对这些差异做出补偿,并仍然能设计出优秀的声音。为了了解优化效果,您可以使用 Game Profiler 来监视游戏性能,并在预算范围内根据需要来调整转码设置。
在您的预算中还必须考虑到音频格式。审查 Wwise 支持的不同格式的特点非常有用,可以让您为项目做好合理的选择。一般规则是,文件压缩程度越小,则需要的运算资源越少;但是未经压缩的文件通常会占用更多的内存或磁盘空间。
下表为您提供了一些基本的建议和信息,帮助您决定如何编码音频文件。
文件格式 |
压缩率 |
CPU |
内存 |
常见用途示例 |
局限性 |
---|---|---|---|---|---|
PCM |
1:1 |
极低 |
高 |
声音需要高保真。 |
无。 |
ADPCM |
4:1 |
低 |
中等 |
环境声和音效。 |
仅在 64 个采样点边界上循环。 |
Vorbis |
3-40:1 |
中等到高 |
中等到极低 |
对白、音乐、环境声和音效。 |
元数据开销比其它格式稍大,因此应避免将它用于极小的声音(短于几十毫秒)。需要 Seek Table(文件定位表)进行跳转。 |
AAC |
3-23:1 |
高(在 iOS 中使用硬件辅助解码器时低) |
中等到低 |
背景(非互动)音乐。 |
极大的元数据开销。较长的搭建时间。不适用于精确到采样点的播放。 |
|
|||||
Opus(标准版) |
10-60:1 |
高 |
中等到极低 |
对白、简单音乐、环境声和音效。 |
元数据开销比其它格式稍大,因此应避免将它用于极小的声音(短于几十毫秒)。 寻址或循环后的建立时间很长,尤其在从磁盘进行流播放的情况下。因此,在对互动音乐进行流播放时应谨慎使用。此外,寻址还会临时占用大量 CPU 资源。 |
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。 |