版本
当多个声音同时播放时,为了维持最优性能,在某一音量之下的声音不应该占用宝贵的处理能力和内存。声音引擎不是播放这些听不到的声音,而是把它们放入虚声部列表中排队。Wwise继续管理并监视这些声音,但是,一旦被放入虚声部列表中,这些声音就不再被声音引擎处理,也不会占用硬件的任何活动声部。
在选择了虚声部功能时,声音将在实声部和虚声部之间来回移动,移动时所基于的原则是它们的音量(当它们低于阈值时)或是否超出了它们的播放限制。当音量达到了Wwise用户在Project Settings(工程设置)中设置的阈值时,这些声音将被加到虚声部列表中,并且对声音的处理也停止了。随着音量的升高(比如随着声音移入到最大距离的半径之内),声音将从虚声部列表移至实声部,在这里它们将再次被声音引擎处理。
Managing Virtual voice behavior can be done for any sound object, Actor-Mixer, or Audio Bus in the Advanced Settings tab of the Property Editor.
在决定从实声部移至虚声部时,有三个选项可以选择:
Continue to play(继续播放)——就像一个实声部那样继续播放该对象,即使它不再被听到。
Kill voice(终止声部) ——停止播放该对象。此选项不会施加任何淡出处理。
Send to virtual voice(发送至虚声部)——把对象发送到虚声部列表中。
当一个声音或振动对象被发送到虚声部列表时,该对象的某些参数将被声音引擎监控,但不会进行任何音频或振动处理。
当设置为Send to Virtual Voice时,有三个选项用于决定声音或振动对象从虚声部列表回到实声部时的行为方式:
Play from beginning(从开头开始播放)——从对象的开头开始播放。该选项将重置该对象的循环次数。
Play from elapsed time(从剩余时间开始播放) ——继续播放该对象,如果它并未被停止播放的话。
该选项并不能达到样点级精确,因此,在声音回到实声部时可能会与其他声音的播放失去同步。
Resume(继续)——当该对象从实声部移动到虚声部列表时暂停播放该对象,然后,当该对象移回实声部时,会继续播放。
每个行为都有它自身的性能特点,如下表所示。
设计师笔记 | |
---|---|
流播放的声音处于虚声部列表中时,将停止消耗I/O带宽。当选择Play From Beginning或Play from Elapsed Time时,I/O缓冲区将被刷新。这在声部从虚声部切换到实声部时,会导致声音被再次听到之前出现一个延时。 |
简言之,对实例与优先级进行控制将切实改变游戏的声音。在为角色混音器与主混音器层级结构中的每一级定义属性时,都应该加倍小心,给予特殊的关照。过分苛刻地改变这些设置将妨碍重要的声音被正确地听到,同样,忽略这些设置将导致不受欢迎的行为。
有关实例限制、优先级和虚声部的附加信息:
Video Tutorial - Voice Management
Wwise SDK > Going Further > Optimizing Memory Pools > Tips to Reduce Memory Usage