第 3 课

目录

Playback Limit 和 Virtual Voice

Evil Head(大头怪)喜欢成群结队地冲过来袭扰冒险家,所以无论玩家走到哪儿,它们都会紧紧地跟在后面。因此,玩家身后很容易聚集一大批 Evil Head 准备上来轮番猛咬。接下来,我们转到 Unity,来亲身体验一下。

  1. 在 Unity 菜单栏中,依次转到 Audiokinetic > Certification > 251 > Lesson 3,然后选择 Mass Evil Head

  2. 在 WAG Unity 工程中,单击 Play

    此时,将直接进入 Cave(山洞)场景。为了避免玩家在被大批 Evil Head 攻击时死亡,下面我们来调整一下游戏设置。

  3. 按下 ESC,启用 GOD MODE(上帝模式),然后退出游戏菜单。

  4. 尽可能多地在身后聚集 Evil Head。

  5. 按下 ESC 进入《WAG》游戏菜单,然后单击 Play 退出游戏模式。

您可能也注意到了,刚才的声景中充满了 Evil Head 的声音。在冒险家处于攻击范围之内时,Evil Head 会往前猛冲一下,然后张嘴就咬。接下来,我们试下将 Evil Head 进击声限制到三个最有威胁性的敌人身上(因为它们距离最近、最有可能咬到玩家)。

  1. 在 Wwise 的 Project Explorer(工程资源管理器)中,依次展开 Actor-Mixer Hierarchy > Default Work Unit > World > Enemies > Enemies > Enemies_EvilHead > EvilHead,然后选中 EvilHead_Attack_Charge Random Container(随机容器)。

  2. 在 Advanced Settings(高级设置)选项卡中,转到 Playback Limit(播放限值)分组框,然后选中 Limit sound instances to:(将声音实例数限制为:)复选框并将数值设为 3,同时选择 Globally(全局)。

    为了控制 Wwise 优先处理哪些 Evil Head,我们还要更改几项优先级设置。进击声代表近距离有害攻击,所以要把优先级设得很高,以免被其他声音掩盖。另外,还要保证优先级可以随距离变化。这样 Wwise 才能知道哪个 Evil Head 离得最近,从而确定是否有必要突显与之相关的声音。

  3. 选中 Override parent(不沿用父级),然后将 Priority(优先级)设为 80

    假如您看下前面的优先级配置表,就会发现无害声音和有害声音的优先级是不一样的。

  4. Offset priority by(将优先级偏置)设为 -20。如此一来,声音在处于最大衰减距离时将拥有与无害声音相同的优先级。

    接下来,我们在《WAG》中试听一下,看看 Profiler 如何优先处理 Evil Head 进击声。为了方便本次演示,我们专门构建了一个 Cave 场景,特意在里面部署了大批 Evil Head。

  5. 在 Wwise 的 Layouts(布局)菜单中,选择 Profiler(性能分析器)。

  6. 在 Wwise 工具栏中,单击 Remote...(远程...)按钮,然后在 Remote Connections(远程连接)窗口中选中 Wwise Adventure Game (Editor),并单击 Connect(连接)。

  7. 在 Unity 中,单击 Play

  8. 按下 ESC,启用 GOD MODE(上帝模式),然后退出游戏菜单。

  9. 尽可能多地在身后聚集 Evil Head,不要把它们杀死。

  10. 单击 Play 按钮退出游戏模式。

    接下来,我们监控 Evil Head Charge(大头怪进击)声部实例,同时滤掉所有其他声部信息。

  11. 在 Profile(性能分析器)布局中,转到 Advanced Profiler(高级性能分析器)的 Voices(声部)选项卡,接着单击“浏览”按钮 [...] 打开 Project Explorer - Browser(工程资源管理器 - 浏览器)窗口,然后依次转到 Actor-Mixer Hierarchy > Default Work Unit > World > Enemies > Enemies > Enemies_EvilHead > EvilHead,最后选中 EvilHead_Attack_Charge Random Container(随机容器)。

  12. 单击 OK(确定)。

  13. 在 Profiler(性能分析器)布局的 Performance Monitor(性能监控器)视图中,拖动时间光标,直到显示至少四个同时活跃的 EvilHead_Attack_Charges 声部。

我们可以看到,最多只有三个 Evil Head 设为了实声部,其余超出限值的全都发送到了虚声部。

[技巧]

除上述方法外,还可使用 RTPC 或 State(状态)来偏置优先级。为此,我们可以定义非线性优先级变化,比如使用内置参数 Distance_to_Player 设计一条对数曲线。如需查看相应示例,请打开最终的 WAG Wwise 工程,然后在 Project Explorer 中依次转到 Actor-Mixer Hierarchy > Default Work Unit > World > Enemies > Enemies > Enemies_EvilCrawler > EvilCrawler Actor-Mixer。


此页面对您是否有帮助?