您您最好仔细阅读以下章节,其中为您提供了一系列技巧和经验总结,在整个音频开发过程中它们可以帮助您更好地管理平台和语言版本。
您可一次性对多个音频文件做转码,方法是在层级结构中右键点击顶层对象(例如容器),然后从快捷菜单中选择 Convert。如果您想为整组对象设置转码设置,那么您可以右键点击顶层对象,然后从快捷菜单中选择 Conversion Settings。您还可以在 Project Explorer 中选择多个对象,然后定义它们的转码设置或者同时对它们做转码。
游戏公司在开发游戏时,很多时候会审查各个平台,然后为各个性能指标(例如内存占用、CPU 和带宽)分配“预算”。预算的一部分将分配给音频团队,由他们高效地针对各个平台来管理这笔预算。不同平台拿到的预算也不相同,因此音频设计师需要理解如何利用各种转码设置来高效地针对这些差异做出补偿,并仍然能设计出优秀的声音。为了了解优化效果,您可以使用 Game Profiler 来监视游戏性能,并在预算范围内根据需要来调整转码设置。以下章节探讨不同的设置是如何影响声音设计师的预算的。
在您的预算中还必须考虑到音频格式。审查 Wwise 支持的不同格式的特点非常有用,可以让您为项目做好合理的选择。一般规则是,文件压缩程度越小,则需要的运算资源越少;但是未经压缩的文件通常会占用更多的内存或磁盘空间。
下表为您提供了一些基本的建议和信息,帮助您决定如何编码音频文件。
文件格式 |
压缩率 |
CPU |
内存 |
常见用途示例 |
局限性 |
---|---|---|---|---|---|
PCM |
1:1 |
低 |
高 |
声音需要高保真。 |
无。 |
ADPCM |
4:1 |
中等 |
中等 |
环境声和音效。 |
仅在 64 个采样点边界上循环。 |
Vorbis |
3-40:1 |
高 |
中等到极低 |
对白、音乐、环境声和音效。 |
元数据开销比其它格式稍大,因此应避免将它用于极小的声音(短于几十毫秒)。需要 Seek Table(文件定位表)进行跳转。 |
XMA |
2-20:1 |
低 |
中等到极低 |
不需要精确循环的环境声和音效。 |
较大的元数据开销。流播放声音只可跨整个文件循环播放,循环点处可能存在空白间隙。内存声音支持在 128 个采样点边界处循环播放。不适用于精确到采样点的播放。 |
xWMA |
10-30:1 |
中等 |
中等到极低 |
对白和音乐。 |
只可跨整个文件循环播放,循环点处可能存在空白间隙。跳转不准确。不适用于精确到采样点的播放。 |
AAC |
3-23:1 |
高(在 iOS 中使用硬件辅助解码器时低) |
中等到低 |
背景(非互动)音乐。 |
极大的元数据开销。较长的搭建时间。不适用于精确到采样点的播放。 |
在默认情况下,为了节省磁盘空间,Vorbis 编码器不会使用 Seek Table。然而,在以下情况您必须使用 Seek Table:
结合虚声部“From Elapsed Time”设置使用 Vorbis 编码器时。
对互动音乐文件使用 Vorbis 编码器时,特别是当声音引擎必须从除开头之外的位置开始读取文件时。
结合 Vorbis 编码器使用 Seek 动作(Event Action)时。
要为一系列 Vorbis 编码文件启用 Seek Table,执行以下操作:
在 Conversion Setting 对话框中,点击正在使用 Vorbis 编码器的平台所对应的 Edit。
在 Vorbis Encoder Parameter 对话框中,通过从 Seek table granularity 表中选择一个数字来指定粒度。
Seek Table 粒度越小,需要的内存越多。如果粒度太大,则精确到采样点的跳转寻址(互动音乐或 Seek 动作)可能会导致 CPU 峰值;如果大于磁盘流播放的粒度,则会造成 I/O 利用率低下。 As a rule of thumb, pick a seek table size that is smaller or equal to your disk streaming granularity, which is the value used for AkDeviceSettings::uGranularity
during initialization.