第 6 课

目录

多个 SoundBank

对于较小的 Wwise 工程,一般创建一个 SoundBank(音频包)就行了。但是,随着工程变得越来越大,SoundBank 的内存用量可能会跟实际可用资源产生冲突。为此,必须将音频内容拆分成多个小的部分,然后只加载真正需要的内容。为了合理地将音频内容拆分成一系列小的 SoundBank,我们必须得先了解游戏机制和内容的加载方式。

接下来,我们转到 SoundBank Manager,并探讨如何将《WAG》的音频内容拆分成多个 SoundBank。

  1. 在 Layouts(布局)菜单中,选择 SoundBank(音频包)。

在 SoundBank Manager(音频包管理器)中,可以看到《WAG》目前包含了一系列 SoundBank。在 SoundBanks(音频包)列中,可以看到四个 Work Unit(工作单元)和一个 All_In_One SoundBank。每个 Work Unit 都代表了不同的音频内容拆分方式。

[备注]

下面的截图显示了 WAG Wwise 工程中的所有 SoundBank,包括本课中接下来要创建的 SoundBank。

  • All_In_One:此 SoundBank 包含 Wwise 工程中的所有 Event(事件)。这是一个临时的 SoundBank,仅用于本项认证和《WAG》开发。不过,很多工作室在开发之初也会创建这么一个 SoundBank,因为在游戏成形之前一般很难决定如何拆分音频内容。

  • General:有些元素可以随时加载和卸载,但也有一些声音需要一直使用或者说时刻处于加载状态(对应颜色为 )。

    在此 Work Unit 内,可以看到 General SoundBank。它包含无法放在 Region 或 Context SoundBank 中的所有 Event。它们可以是音乐或玩家声音。这些元素必须时刻加载,因为随时都可能要播放。

  • Region:此 Work Unit 包含《WAG》中各个区域要使用的 SoundBank(对应颜色为 )。

    比如,WAG Unity 工程被拆分成了多个场景,每个场景都包含单独的 SoundBank 和相关的音频脚本。在玩家进入某个区域时,就会加载该区域的 SoundBank。同样,在玩家离开该区域时,就会卸载该 SoundBank,以便释放内存资源。

    在上图中,我们在 WAG Unity 工程的 Main Scene 中将 Region Trigger(触发器)直观地显示为了透明的形状。每个透明形状代表一个要加载 SoundBank 的区域。在玩家进入某个区域时,就会加载该区域的 SoundBank。当然,这些 Region Trigger 并不会显示在游戏中。

  • Context:此 Work Unit 包含要在特定情境下加载的所有 SoundBank(对应颜色为 )。

    比如,根据当前正在执行的任务加载对应的 Quest SoundBank。在进入 Quest 6 关卡时,将卸载 Quest_05 SoundBank,并加载 Quest_06 SoundBank。此规则同样适用于只在满足特定要求时加载一次的 DLC Work Unit。

这种 SoundBank 结构对《WAG》来说挺合理,但其他游戏开发中可能会采用不同的工程结构。


此页面对您是否有帮助?