版本

menu_open

Priority tips and best practices

在定义对象的高级设置前,您可能会需要查看以下章节,其中提供了一系列技巧和经验总结,可以帮助您获得所需结果。

Playback priority

将音乐对象设置为较高优先级 —— 大多数情况下,游戏中音乐对象的优先级应比其它对象要高。触发的对象数量超过播放数限制时,这将确保音乐会连续播放。

Volume threshold

对于较短的 Sound SFX 对象,其音量低于音量阈值时请将其终止,多数情况下,您应该对低于音量阈值的短小 Sound SFX 对象使用 Kill voice 选项,因为将其发送到虚声部后将导致以下结果:

  • 如果选择了 Play from beginningResume,则返回实声部时,播放的声音很可能将不合时宜。

  • 如果选择了 Play from elapsed time,则由于该声音很有可能作为虚声部被终止,所以很可能只会产生无谓的 CPU 消耗。

Virtual voices

决定使用哪个虚声部设置之前,应了解各虚声部设置的内存和 CPU 占用。

  • Play from beginning - 该选项仅使用少量内存和 CPU,但如果对声音进行了流播放,则从虚声部返回时可能存在延迟。

  • Play from elapsed time —— 该选项可以节省部分 CPU 和内存,但如果流播放声音,则声音从虚声部返回时可能会出现延迟。

  • Resume —— 该选项使用较少的 CPU,但会占用较大的内存,因为当声音从虚声部返回时将会保留内存缓冲区。请注意,如果声音永远不会重新进入最大衰减距离,而导致声音永远不会从虚声部返回,则在游戏运行过程中该缓冲区将一直保留在内存中。如果很多声音发生这种现象,则内存缓冲区将随时间累积,最终会在游戏中占用大量内存。

下图显示了各个虚声部选项彼此之间以及相对于 Continue to Play 选项的内存和 CPU 占用:

当然,当您考虑声音的音频格式、采样率、流播放设置等因素时,这些选项之间的差异有些可以忽略不计,但也有些差异巨大。

表 1. 虚声部:计算哪些,不计算哪些

总是计算

作为虚声部时不计算

  • 此时仍会进行定位、声部优先级和音量计算,因为需要依据这些计算结果判断声音是否应返回实声部。

  • Play from elapsed time 模式下,虚声部播放时仍会进行源插件计算(因为声音引擎无法在源插件中检索播放位置)。

  • 编解码解压缩。

  • 音频数据移动、复制或混音。

  • LPF、采样率转换、音高平移和 Actor-Mixer 层级结构中插入的效果器。

  • I/O 读数。



[备注]备注

在大部分时间里,当声部变为虚拟时音频数据的缓冲区将被释放,设置为 Resume 行为时除外。

[备注]备注

仅当总线上至少有一个实声部在播放时,才会对 Master-Mixer Hierarchy 总线上的效果进行处理。

Using instance limiting with music objects

对音乐对象进行数量限制时,请注意不要将限制设置得过低,因为某些片段可能无法播放,从而导致音乐出现中断。请牢记,在 Music Segment 中淡变或切换时,很容易就能使用很多实例,因为每个段落中都可能有几个片段带有 Pre-entry 和 Post-exit 部分,也可能播放了 Stinger 段落。


此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅