对于所有需要随机播放一组对象的情况,都可以使用随机容器。例如,您可能会需要使用随机容器在格斗游戏中播放所有攻击、击中和反应声音。
在 Wwise 中,随机意味着既可以进行标准随机选择(即在播放时,容器中的各个对象被选中的几率均相等),也可以进行洗牌选择(即被播放完的对象将从选择池中移除)。
您也可以为随机容器内的每个对象指派一个权重值。该权重值可以增加或减小对象被选择播放的概率。为对象设置的权重值是相对于容器内所有对象权重总和来计算的相对值。这就是说,为各个对象指派的权重值代表其被选择播放的几率占总数的比率。例如,如果容器内有两个对象,权重值分别为 1 和 100,则第一个对象将有 1/101 的播放几率,而第二个对象将有 100/101 的几播放率。
假如游戏的其中一个环境为洞穴。您希望背景中有水滴声,来营造洞穴环境的氛围。在本例中,可以创建一个随机容器,将所有不同的水滴声编组。由于您希望当角色位于洞穴中时,持续播放水滴声,因此可以将容器的播放模式设置为 Continuous 并无限循环。通过随机播放有限数量的声音,可以为场景增加真实感。
创建随机容器的方法如下:
在 Project Explorer 中,在 Actor-Mixer Hierarchy 中右键点击以下任一对象:
Work unit(工作单元)
Virtual Folder(虚拟文件夹)
Actor-Mixer(角色混音器)
Blend Container(混合容器)
Random Container (随机容器)
Sequence Container (序列容器)
Switch Container(切换容器)
从快捷菜单中,选择 New Child > Random Container。
此时将创建一个新的随机容器,并会在 Actor-Mixer Hierarchy 中高亮显示。
输入随机容器的名称,然后按下 Enter。
双击新的随机容器,将打开其相应的属性和内容编辑器。
将各对象从 Project Explorer 拖至 Contents Editor 中,来填充随机容器。
在 Random 分组中,根据需要选择以下选项:
Standard(标准),始终保持对象池完整。播放某个对象后,该对象不会从可播放的对象列表中移除,因此可重复播放。
Shuffle(洗牌),播放对象后,这些对象会从对象池中移除。该选项可避免重复,直至所有对象均已播放。
为避免对象被连续重复播放,请选择 Avoid repeating last x played 选项。
您选择的是 Standard 还是 Shuffle 模式将影响该选项的行为。
在 Standard 模式中,完全随机选择播放对象,但最后播放的 x 个对象将从列表中弃用。
在 Shuffle 模式中,重置列表时,最后播放的 x 个对象将从列表中排除。
在 Avoid repeating last x played 文本框中,输入重复播放某个对象前须播放其它对象的数量。
在 Contents Editor 中,为容器内的各个对象指派权重值。
该权重可以让某些对象优先于其它对象播放。为各个对象指派的权重值代表其被选择播放的几率占总数的比率。