同时播放多个对象时,您需要维持最佳性能表现。要想实现这点,将低于一定音量的对象标记出来是一种好方法,这样它们就不会再占用宝贵的运算资源和内存。虽然您也可以选择继续播放这些听不到的对象,但可能更希望立刻停止它们,或将其放入虚声部列表中排队。
虚声部列表是一种虚拟环境,在这个环境中,声音引擎会监视列表里的声音的特定参数,但不会执行声音处理。将它们添加至虚声部列表的好处是,可以根据对象的音量在实声部和虚声部之间来回移动它们。当音量低于音量阈值时,这些对象将被添加至虚声部列表并停止处理。当音量增加时,比如对象向最大衰减距离内移动时,将会从虚声部移至实声部,这时声音引擎将再次开始处理音频或振动。尽管对音量较低的对象使用虚声部有诸多好处,但由于某些限制,这并不是一个普适的的解决方案,包括对象返回至实声部时会出现较小的延迟,采样准确度也会降低。
为了强化功能和控制,当对象从虚声部返回至实声部时,您也可以定义其播放行为。
备注 | |
---|---|
可以在 Project Settings 对话框中为工程设置音量阈值。有关音量阈值设置的详细信息,请参阅 “指定工程的 Volume Threshold”一节。 |
假设您正在创建一个第一人称射击游戏,主要角色要在各种走廊中穿梭。主角捡起了敌人的对讲机,能够听到敌人之间的通话。此时您可以同时播放多个声音,包括角色的脚步声、幽暗的走廊中燃烧的火把声,以及从对讲机中传出的声音。每种声音都有不同的特质和要求,因此,它们在音量改变时需要不同的处理方法。
声音 |
处理 |
Wwise 选项 |
---|---|---|
脚步声 |
脚步声通常很短,是一次性声音,因此当其音量低于音量阈值时,您可能会需要终止这些声音,以节省宝贵的音频运算资源。 |
Kill voice |
对讲机 |
由于游戏内的角色可调大或调小无线电声音,因此对讲机声音需要持续性、采样精确度和即时反馈。当其音量低于音量阈值时,您可以继续播放它们。这样一来,当玩家调高音量以继续收听敌人的通信时,就能得到即时且精确到采样点的声音反馈。 |
Continue to play |
火把 |
火把声相对较短,并连续循环。虽然这些声音也需要一定的持续性,但它们不要求与对讲机声音同样的精确度。当这些声音的音量低于音量阈值时,您可以将这些声音发送至虚声部列表。声音引擎可以监测音量电平,但在返回音量阈值以上之前,不会进行任何音频处理。 |
Send to virtual voice(发送至虚声部) |
管理音量较低对象的方法是:
将对象加载到 Property Editor 中。
备注 | |
---|---|
如果该对象不是顶层对象,那么必须选择 Override parent 选项后才能设置 Volume Threshold 选项。 |
切换至 Advanced Settings 选项卡。
请从 Virtual Voice 组的 Virtual voice behavior 列表中选择以下选项之一,指定电平低于音量阈值时游戏对象的行为。
Continue to play,即使无法听到或感受到对象,但仍继续播放对象。这是能够确保采样点级精确度的唯一选项。
Kill voice,停止播放对象。
Send to virtual voice,将对象发送至虚声部列表,声音引擎将监视其中的某些参数,但不会进行处理。
如果选择了 Send to virtual voice 选项,必须指定对象从虚声部返回实声部时的行为。因此,请从 On return to physical voice 列表中选择以下之一:
Play from beginning —— 从头开始播放对象。该选项将重设对象的循环次数。
Play from elapsed time —— 继续播放对象,如同从未停止播放一样。
Resume —— 对象从实声部移至虚声部列表时,暂停该对象,当它复位至实声部时再恢复播放。
备注 | |
---|---|
音乐对象返回实声部时,将总是使用 Play from elapsed time 选项。 |