决定工程层级各对象使用何种播放行为之前,您可能会需要阅读以下章节,其中提供了一些技巧和经验总结,可以帮助您获得所需的结果。
一般情况下,您可能会需要将体积过大而无法存储在内存中的声音进行流播放,如音乐、环境声,甚至是语音(如果数量很多)。但决定哪个选项最适用时,需要考虑很多因素。
在项目的初始阶段,应该与开发团队沟通,确定下列事项:
音频可以使用多少播放流?
每条播放流的带宽是多少?
这些播放流是否会共享?
可以同时使用多少播放流?
从哪里进行流播放?是平台硬盘、光盘,还是从远程服务器?
通过这些信息以及声音的采样率和压缩格式,您可以进行计算,然后就是否使用流播放声音做出决策。
将 Random Container(随机容器)范围设置为“Global”(全局)来避免声音重复 —— 使用 Random Container 的 Shuffle 模式进行连续播放,目的是为了避免声音重复。但如果容器包含的声音数量有限,并且同时要播放很多该容器,则可能会出现重复问题。要避免这样的现象,请确保该容器内声音对象的数量至少为播放实例数量的两倍。例如,如果同一 Random Container 有 3 个播放实例,那么您的容器应包含至少 6 个不同的声音对象,以避免重复。
CPU 占用 —— 请注意,当您播放 Blend Container 时,该容器内的所有对象会同时播放,因此会消耗大量内存。您以可使用虚声部设置来降低 CPU 占用,但如果频繁地进行短暂的交叉淡变,则可能会导致出现错误。有关使用虚声部的详细信息,请参阅 “Volume Threshold(音量阈值)和 Virtual Voices(虚声部)”一节。
使用 Switch Container(切换容器) 还是 Blend Container —— 在游戏过程中,切换容器和混合容器均可配合 RTPC 使用,并会产生相似的效果。但这两种容器的运作方式有显著不同,您可以根据要求选择使用。
如果您希望在不同时间播放不同的对象,而且不需要交叉淡变,那么请使用切换容器。
如果希望一直播放所有对象,而且需要交叉淡变,则应使用混合容器。