Wwise 基础知识

目录

减轻处理负荷

幸运的是,游戏当中产生的很多声音对玩家体验来说并没有那么重要。比如,虽然 100 米以外的怪兽在行走时也许会有微弱的脚步声远远地传来,但如果在 2 米以外的地方还有十个怪兽在投掷魔法宝石,那么远处的脚步声多半是听不到的。与此同时,远处的脚步声需要使用与近处魔法音效一样的处理资源。为了避免这种不必要的处理,我们要规定声音必须达到多高的音量才会以声部的形式对其进行渲染。

  1. 在菜单栏中,依次单击 Project > Platform Manager(工程 > 平台管理器)。

    这时会打开 Platform Manager。在此,可分别为每个游戏平台配置设置。比如,Nintendo Switch 拥有的处理资源要少于 PlayStation 5。为此,最好向这两个平台指派不同的数值。

    Volume Threshold 的默认值为 -80 dB。也就是说,声音要高于 -80 dB 才会被指派给声部。为了降低设计所需的处理资源,可根据需要增大 Volume Threshold。不过要记住,有些自己想听到的声音(如微妙的环境声)可能会被砍掉。

    Max Voice Instances 用于定义最多允许同时播放多少个声部。您可以通过减小该值来降低设计所需的处理资源。不过,就像增大 Volume Threshold 一样,有些自己想听到的声音可能会被砍掉,尤其是在场面复杂的激战当中。不过不用担心,在本节练习的后面,我们会学习如何保留最为重要的声音。

  2. 对于当前平台,分别将 Volume Threshold(音量阈值)和 Max Voice Instances(最大声部实例数)设为 -5040,然后单击 OK(确定)。

    我们将通常正常播放但因以上任一设置而被静音的声音称为虚声部。声音引擎会对虚声部进行监控。若其音量增大或总体声部数减少,其可能会变为可被听到的实声部。在游戏情形发生变化时,声音经常会在 Physical Voice 和 Virtual Voice 之间来回切换。

  3. 在菜单栏中,依次单击 Layouts > Designer(布局 > 设计师)或按下 F5。

  4. 在 Project Explorer(工程资源管理器)中,依次展开 Actor-Mixer Hierarchy > Default Work Unit > Magic(Actor-Mixer 层级结构 > 默认工作单元 > Magic),然后选中 "PoisonGem Magic" Actor-Mixer。然后,在 Property Editor(属性编辑器)中选中 Advanced(高级)选项卡。

    对于 Poison Gem,我们要将声部数限值设为 4。您可以通过设置作用域来限制应用于各个游戏对象的声部数。在此,既可设为 Per game object。这时每个 Poison Gem 最多可播放 4 个声部;也可设为 Globally。这时加起来同一时间最多允许播放 4 个声部。在本例中,我们要将作用域设为 Globally,因为玩家不太可能分得清楚同时播放的四个 Poison Gem 声音中哪个是哪个。

  5. 在 Property Editor(属性编辑器)中,选中 Limit Sound Instances(限制声音实例数),并将 Sound Instance Limit(声音实例限值)设为 4,然后将 Limitation Scope(限值作用域)设为 Globally(全局)。

    接下来,我们要根据对玩家体验的重要程度为声音设定优先级。这样的话在声音引擎必须砍掉声部的时候便不会把玩家对白或音乐之类的关键声音静音。

  6. 在 Project Explorer(工程资源管理器)中,折叠 "Magic" Actor-Mixer。接着,选中 "Cube_Main_Theme" Sound SFX(音效)对象。然后,在 Property Editor(属性编辑器)中选中 Advanced(高级)选项卡,并将 Priority(优先级)设为 80

    现在,在游戏当中基本上就不会把音乐静音了。

    [Tip]

    Use Offset Priority 复选框和相应设置允许指定一个值,来规定在达到 Attenuation Editor 中设定的 Max distance 时将对象的优先级偏置多少。这样方便设定对象(如脚步声)的优先级。这类对象在距离听者很近时比较重要,而在距离其较远时会变得没那么重要。有关 Attenuation Editor 的更多信息,请参阅第 8 课:使用 3D Spatialization

    现在,我们做了一些调节来减轻处理负荷。接下来,我们要对游戏实施性能分析,看看有没有明显的改进效果。

  7. 跟之前的练习一样:

    1. 在菜单栏中,依次单击 Layouts > Profiler(布局 > 性能分析器)。

    2. 在工具栏中,单击 Start Capture(开始捕获)按钮。

    3. 返回《Cube》,收集 Poison Gem(剧毒宝石),单击并按住来投掷宝石,直至剩余宝石数量为 0。

    4. 返回 Wwise 并单击 Stop Capture(停止捕获)按钮。

  8. 在 Performance Monitor(性能监控器)中,向左拖动黄色时间光标,直到 Number of Voices (Physical)(声部数(实))条带显示最大峰值。在 Performance Monitor 右侧的窗格中,向下滚动来查看达到峰值时该参数的确切值。

  9. 对工程优化前后捕获的 Number of Voices (Physical)(声部数(实))进行对比。

    在本例中,优化后捕获的最大值为 9,远低于优化前捕获的 21。注意,声部数仍大于为 "PoisonGem Magic" Actor-Mixer 设定的限值 4,因为它还包含了同一时间播放的其他声音(比如远处的传送门音效或脚步声)。

    在 Capture Log 中,偶尔会出现因为达到播放限值而停止播放 Sound SFX 的提示。这也间接表明我们所做的改进有效减少了声部数。好样的!

  10. 若要退出游戏,请按下 Esc 并使用向上键和向下键来选择 quit(退出),然后按下 Enter

恭喜!在这 20 节课的学习中,您不仅了解了如何将音频整合到电子游戏中,还通过将声音构建到《Cube》游戏中亲自练习运用了诸多核心原则。不妨结合最新掌握的知识来回顾前面的课程,试着发挥自身创意以将《Cube》的音频效果打造得更加出众。甚至,还可重新生成 SoundBank 并试玩整个游戏。

当然,总的来说还有许多有关 Wwise 和游戏音频的知识需要学习。不过,我们可以以这里的相关核心理念为基础尽情地尝试自己的各种奇思妙想。如有兴趣,不妨继续学习其他 Wwise 认证课程。比如,《互动音乐》、《性能优化 & 移动平台考量》和《Wwise Unity Integration》。


此页面对您是否有帮助?