FMOD Studio User Manual 2.02

15. 支持可下载和用户生成的内容

许多游戏项目允许玩家在最初安装游戏后安装可下载内容(DLC)或用户生成内容(UGC)。这些内容随后出现在游戏中,与原版游戏安装的内容一起出现。

FMOD Studio 支持创建用于 DLC 和 UGC 的新音频内容。其具体做法是通过允许您(或游戏内容创造者)将事件总线内置到事件库中,并与游戏中的其他事件库一起加载。

创建可下载或用户生成的内容需要编辑现有的 FMOD Studio 项目。因此,我们建议在开始之前创建一个 FMOD Studio 项目文件夹的备份。

15.1 DLC

在游戏发布后,FMOD Studio 仍可用于创建新的事件库文件和现有事件库文件的新版本。DLC事件库与游戏现有事件库的唯一区别在于它不会作为现有游戏的一部分分布。DLC 事件库可以与游戏现有事件库一起加载和使用,并且可以包含新的事件总线,两者都可以收发到游戏现有的总线中。

15.1.1 创建 DLC

创建用于 DLC 事件库内容的过程与用于创建非 DLC 内容的过程完全相同,并使用相同的 FMOD Studio 项目: 在 FMOD Studio 中加载项目,然后开始导入资源并创建新的事件、事件库和总线。事件必须分配给事件库,并且可以收发到新的或现有的组总线主总线。新总线也可以收发到现有的组总线或主总线。

为 DCL 添加新事件或编辑现有事件时,请像往常一样在 FMOD Studio 项目中创建或编辑事件。创建的新事件和编辑的事件都必须分配给事件库。

如果希望能够在游戏代码中按名称和路径而不是 GUID 查找新事件,则需要创建一个更新的 strings.bank 文件,其中包含新事件的名称和路径。此文件是作为构建主事件库的一部分自动创建的。

为 DCL 添加新总线或编辑现有总线时,必须构建和分布新的主事件库或现有主事件库的新版本。这是因为主事件库包含调音器。

若想最小化下载的大小,可选择删除除新总线及其被收发到的组总线之外的所有内容,这样可确保主事件库只包含新内容。如果这样做,则必须创建一个新的主事件库。该主事件库必须与游戏现有的主事件库一起加载,DLC 才能正常运行。

如果要同时加载多个主事件库,每个主事件库必须有不同的 GUID。默认情况下,新创建的主事件库具有唯一的 GUID,但现有主事件库的新版本却没有。

创建 DLC 所需的所有内容后,可构建 FMOD Studio 项目。为修改后的和新添加的事件库构建的事件库文件可以作为游戏 DLC 的一部分进行分布。

15.2 UGC

如果希望玩家能够创建可在游戏中使用的原始音频内容,则可向他们提供 FMOD Studio 项目的副本,玩家可以使用该副本制作UGC.

拥有 UGC 项目的用户可以用新内容加以填充,并使用它来构建与游戏兼容的事件库。与DLC事件库一样,UGC 事件库可以包含新的事件主线,两者都可以被收发进入游戏现有的总线。

15.2.1 创建 UGC

创建 UGC 的过程与创建 DLC的过程完全相同,只是内容是由游戏玩家创建的,而不是你。要创建与游戏兼容的 UGC,玩家必须拥有游戏的 FMOD Studio 项目的副本,以及用于创建该项目的 FMOD Studio主要版本

如果想限制玩家编辑游戏现有内容的能力,则可创建项目的打包副本,其中仅包含允许玩家编辑的元素。要创建项目的打包副本,请选择“文件 > 打包项目...”以打开打包项目对话框

包项目对话框

此对话框可用于选择项目的哪些组件可包含在项目包中。

如果想阻止玩家使用项目的现有资源,请排除资源的元数据二进制文件从项目包中排除。

如果想阻止玩家编辑现有的事件,请从项目包中排除事件的元数据。此外,始终可以确保首先加载您的事件版本。有关事件库加载顺序如何影响玩家听到的事件版本的更多信息,请参阅加载 DLC 和 UGC 事件库本章一节。

如果选择在项目包中包含事件的元数据,则还应包含项目的预设参数预设效果的元数据 ,以及项目资源的元数据和二进制文件。这些组件是事件正常运行所必需的。

如果想阻止玩家创建游戏现有事件库的新版本,请从项目包中排除事件库的元数据。请注意,这并不排除项目的主组线的元数据。这是因为 UGC 或 DLC 项目主总线的GUID必须与现有项目的主总线匹配,否则在加载项目的主事件库时,UGC 或 DLC 总线将不能正确附加到现有总线上。

如果希望玩家能够创建新的主线或将他们的新事件收发到现有的总线中,则必须确保玩家创建并构建新的主事件库。这是因为 FMOD Studio 无法同时加载具有相同 GUID 的多个主事件库,但可加载多个主事件库(如果 GUID 不同)。

15.3 加载 DLC 和 UGC 事件库

在大多数情况下,DLCUGC事件库的功能与其他事件库一样: 可以进行加载,然后可播放这些事件库中事件的实例。有关加载事件库和播放事件的更多信息,请参阅项目构建可创建什么播放事件将事件引入游戏章节和FMOD API 用户手册部分。

如上所述,DLC 和 UGC主事件库可以包含额外的调音台内容。如果在加载游戏现有主事件库后加载一个或多个 UGC 或 DLC 主事件库,则 DLC 或 UGC 主事件库中的附加总线会自动附加到现有收发层次结构中。

如果 DLC 或 UGC 事件库包含现有事件库中的总线或事件的修改版本,游戏将使用首先加载的该总线或事件的版本。如果首先加载 DLC 或 UGC 事件库,则该事件库中的版本将在该会话中被游戏使用; 而如果首先加载游戏的现有事件库,则即使稍后加载 DLC 事件库,现有事件库中的版本也会在该会话中使用。