FMOD Studio User Manual 2.02

3. 组织项目

FMOD Studio 项目的基本构建块是事件资源总线事件库。大多数游戏项目还使用参数效果VCA快照来创建更复杂的行为。可使用本章中描述的浏览器来创建、管理和组织项目的所有这些元素。

事件编辑器窗口是启动 FMOD Studio 时打开的第一个窗口,具有事件浏览器事件库浏览器资源浏览器

事件浏览器

调音台窗口包含收发浏览器VCA浏览器快照浏览器预设浏览器窗口包含参数浏览器效果浏览器

当一个窗口包含多个浏览器时,它一次只能显示其中一个浏览器。

可通过单击浏览器顶部的选项卡来更改显示的浏览器。

在大多数浏览器中,可通过单击“拼合”按钮隐藏所有文件夹并仅在单个级别上显示当前浏览器中的项目。这可用于搜索项目而不显示它们所在的文件夹。

将项目拖动到浏览器的选项卡上会切换到该浏览器。

几乎任何浏览器中的任何项目都可以指定颜色。这些颜色对游戏中的行为没有影响,因此是使特定项目更容易一目了然的实用方法。

3.1 事件浏览器

事件是 FMOD Studio 中声音设计的基本单元,并且由于非常灵活,因此很重要。可以有一个循环播放音乐的简单 2D 事件,以及另一个动态更改其输出的事件。事件的参数可以触发新的声音,甚至改变或重新收发音频信号,为游戏带来非常真实和动态的感觉。

事件浏览器可显示项目的事件和事件文件夹。事件浏览器可用于创建、分配和组织事件,位于事件编辑器窗口事件浏览器窗口中。

要在此浏览器中创建事件,请右键单击空白区域并从右键菜单中选择“新建事件”。这将打开一个子菜单,可在其中选择制作 3D 动作事件、2D 动作事件、3D 时间轴事件、2D 时间轴事件或自定义默认事件。

新创建的时间轴事件包含时间轴参数表,而新创建的操作事件包含操作单。新创建的 3D 事件对其主轨道具有空间效果器效果,而新的 2D 事件在创建时不包含任何效果。

新事件中的所有轨道都设置为“自动”格式,这意味着它们的输出格式会根据其内容和平台的频道格式自动设置。有关轨道输出格式的更多信息,请参阅调音章节的声道格式部分。

可将事件标记为默认。可通过在事件编辑器中右键单击并从“默认事件”子菜单中选择事件来创建任何默认事件的副本。从默认事件创建的事件与首次创建时的默认事件相同。

要创建文件夹,请右键单击空白区域并从右键菜单中选择“新建文件夹”。可根据需要在项目中放置任意数量的文件夹,并在文件夹中嵌套文件夹。可将文件夹和事件拖放到其他文件夹中,以组织项目以最适合工作流程。

右键单击一个事件并选择“移入新文件夹”以在该层级创建一个新文件夹并将该事件移动到新创建的文件夹中。

要过滤显示的项目,请单击浏览器顶部的搜索栏并键入欲查看的项目的部分名称,或者单击放大镜图标并从放大镜菜单中选择一个选项。

单击某个事件会将其显示在事件编辑器窗口编辑器和概览窗格中。单击事件时按住 Shift 或 Ctrl 键可选择多个事件。选择多个事件可用于将它们作为一个组进行编辑或操作。

默认情况下,在事件浏览器中选择一个事件不会在事件库浏览器中自动选择它。如果希望在任一浏览器中的选择反映在另一个浏览器中,则可通过选中首选项对话框界面选项卡中的“事件编辑器窗口的事件和事件库浏览器选项卡共享选择”复选框来更改行为。

3.1.1 事件和事件实例

一个事件是声音内容的可实例化单元,可从游戏代码中触发、控制和停止。游戏中所有产生声音的东西都应该有对应的事件。事件定义音频资源的行为和声音。

当在游戏引擎中调用 FMOD Studio 事件时,这会创建该事件的一个实例。创建后,此实例独立于原始事件以及可能正在播放的该事件的任何其他实例。完成后,该实例就会从内存中删除。

这意味着一个事件的不同实例可以具有不同的局部参数值,而不需要为具有不同参数值的每个事件实例创建不同的事件。

例如,游戏应该需要屏幕上所有敌人都有脚步声;不是为每个敌人创建多个事件,而是在所有敌人之间共享相同的事件——每个敌人都在不同的 3D 位置播放,并为地板表面和脚步的速度/间距传递不同的参数值。

3.1.2 引用事件

FMOD Studio 事件可以引用同一项目中的其他 FMOD Studio 事件。这允许事件创建和停止它引用的其他事件的实例。以这种方式,可以组合多个不同的事件以获得范围广泛的输出结果。

引用事件

每个引用的事件都可以在单独的选项卡或窗口中打开,以简化工作流程和编辑。

要创建引用事件,请将事件从事件浏览器拖放到事件编辑器窗口中的音轨上。这将创建一个事件发声器,并将在触发时播放其引用的事件实例。

默认情况下,构建的事件库包括任何引用的事件及其分配给该事件库的事件样本数据。要仅在明确指定的事件库中包含引用事件,请参阅将事件纳入游戏一章的将引用事件纳入事件库部分。

3.1.3 嵌套事件

嵌套事件可以被认为是一个特殊的引用事件

嵌套事件只能由其父项事件引用,并且可以根据需要多次引用,但不会收发到项目的调音台中。但嵌套事件会输出到其父项事件,并收到项目的调音台中。

要创建嵌套事件,请右键单击事件的时间轴并从右键菜单中选择“添加事件发声器”,或者右键单击多样发声器发散发声器播放列表并选择“添加事件发声器”。

有关如何使用引用事件的所有信息,请参阅引用事件部分。

3.2 事件库浏览器

事件库是来自FMOD Studio 项目事件的集合,将构建到可在游戏中加载和使用的.bank 文件。通过事件库可在任何给定时间选择载入哪个项目内容,进而可更好地控制游戏音频消耗的内存量。

事件库浏览器可显示项目的事件库和事件库文件夹,以及分配给每个事件库的事件和音频表。事件库浏览器可用于创建、编辑和组织项目的事件库,以及将事件分配给事件库。

要创建新的事件库,可右键单击事件库浏览器中的空白区域并选择“新建事件库”。也可右键单击事件库浏览器中的空白区域并选择“新建文件夹”来创建文件夹。

将事件库放入文件夹不会影响构建过程,但可用于组织事件库浏览器。已构建的 .bank 文件可输出到首选项对话框构建选项卡中指定的目录。

可通过单击浏览器顶部的搜索栏并键入欲查看的事件库的部分名称来过滤显示的内容。

默认情况下,在事件库浏览器中选择某个事件不会自动在事件浏览器中选择它。如果希望在任一浏览器中的选择反映在另一个浏览器中,则可通过选中首选项对话框界面选项卡中的“事件编辑器窗口的事件和事件库浏览器选项卡共享选择”复选框来更改行为。

有关事件库的更多信息,请参阅事件库上的 FMOD Studio 概念部分。

3.3 资源浏览器

资源浏览器可显示项目资源目录中的音频文件和文件夹。资源浏览器可用于试听、编辑和组织项目的音频文件,以及将这些文件添加到发声器和事件中。

要向项目添加新的资源,请将音频文件拖放到资源浏览器中。也可以在 Finder 或 Explorer 中将音频文件拷贝或移动到项目的 assets 子文件夹中。

此外,还可通过右键单击资源浏览器中的空白区域并选择“新建文件夹”来创建文件夹。

也可通过单击浏览器顶部的搜索栏并键入欲查看资源的部分名称来筛选要显示的资源。

有关资源和资源浏览器的更多信息,请参阅管理资源部分。

3.4 收发浏览器

总线调音台的模块化组件,它从收发到它的信号中生成子调音,可以收发到其他总线,并有自己的信号链

收发浏览器显示项目的事件和总线。它可用于创建和编辑项目的总线,并为项目的事件和总线设置收发。

任何不是嵌套事件的事件都会自动添加到收发浏览器中。

要创建新的组总线,请右键单击事件浏览器中的空白区域并选择“新建组”。要创建新的辅助总线,请右键单击事件浏览器中的空白区域并选择“新建辅助”。

与大多数浏览器不同,收发浏览器不包括文件夹。但总线和事件可放置在组总线内。这决定了项目中总线和事件的收发: 每个事件或总线都会收发到包含该事件或总线的组总线、主总线或端口总线。

可通过将事件和总线拖到收发浏览器中的新位置来重新组织项目的收发。有关组总线和收发的更多信息,请参阅调音章节的组总线和收发部分。

可通过单击浏览器顶部的搜索栏并键入欲查看的事件库部分名称来过滤收发浏览器中显示的内容。

调音台窗口中,如果收发浏览器存在于调音台台面中,在收发浏览器中选择事件或总线会自动在调音台台面中选择它,还会在操作台中显示其信号链。

有关收发浏览器的更多信息,请参阅调音章节的收发选项卡部分。

3.5 快照浏览器

快照是项目组合更改的实例化单元,可以通过游戏代码以与事件相同的方式触发、控制和停止。每个快照指定一组它所影响的总线属性,以及这些属性的新值。

快照浏览器显示项目的快照和快照组。它可用于创建、确定优先级和编辑快照。

与大多数浏览器不同,快照浏览器不包含文件夹。相反,快照可以放置在快照组内。创建新的快照或快照组的方法是在快照浏览器中右键单击以打开右键菜单,然后分别选择“新建快照”或“新建组”。

快照和快照组在快照浏览器中的显示顺序决定了它们的优先级,因此当更改给定属性的多个快照同时处于活动状态时,哪些快照决定了属性的值。可通过将快照拖到浏览器中的新位置来更改快照或快照组的优先级,或者将快照移入或移出快照组。有关快照优先级的信息,请参阅调音章节的覆盖与调音快照部分。

可通过单击浏览器顶部的搜索栏并键入欲查看的快照部分名称来过滤显示的内容。

有关快照浏览器的更多信息,请参阅调音章节的快照标签部分。

3.6 场景浏览器

场景是虚拟 3D 环境,用于试听项目的事件,就好像它们在游戏环境中一样,即使无法在游戏中试听。

场景浏览器

场景浏览器显示项目的场景和场景文件夹。场景浏览器可用于创建、分配和组织场景,位于沙盒窗口中。

可通过右键单击场景浏览器并从右键菜单中选择“新建场景”来创建新场景。此外,还可通过右键单击场景浏览器中的空白区域并选择“新建文件夹”来创建文件夹。

有关场景的更多信息,请参阅沙盒一章。

3.7 搜索

FMOD Studio 中的大多数浏览器都有一个搜索栏,可使用它在这些浏览器中查找特定项目。

在搜索栏中键入文本会导致浏览器显示名称中包含该文本的项目。在事件浏览器、收发浏览器、VCA 浏览器或事件库浏览器的搜索栏中键入井字符号 ("#")后跟一个标签的名称,会使该浏览器显示带有该标签的事件。这种搜索不区分大小写。

单击搜索栏的放大镜图标可打开放大镜菜单。单击放大镜菜单中的任何项目都会在搜索栏中添加一个特殊的搜索词。所有特殊搜索词都区分大小写,也可以手动输入搜索栏。

放大镜菜单

下表总结了放大镜菜单项及其相应的特殊搜索词、可找到它们的浏览器及其效果。

事件浏览器放大镜菜单项 术语 说明
按默认事件过滤 #default 搜索默认的事件。
按引用事件过滤 #referenced 搜索被其他事件引用的事件。
按未分配事件过滤 #unassigned 搜索未分配给任何事件库的事件。
按持续事件过滤 #query:(EventAutomatableProperties.isPersistent == true) 搜索持续的事件,因此永远不会自然停止。
按效果过滤 > <特定效果> #query:(<entity name>) 搜索包含指定效果的事件。
运算符 > 和 AND 搜索与搜索栏中AND之前的搜索词及其后的搜索词相匹配的项目。
运算符 > 或 OR 搜索与搜索栏中OR之前的搜索词或其后的搜索词相匹配的项目。
运营商>不 NOT 搜索与搜索栏中NOT 之前的搜索词匹配但不匹配其后的搜索词的项目。
资源浏览器放大镜菜单项 术语 说明
按缺失资源过滤 #missing 搜索根据项目元数据存在但不存在于该元数据指定路径中的资源。
按修改后的资源过滤 #modified 搜索自上次元数据更新后在外部编辑器中编辑过的资源。
按未导入资源过滤 #unimported 搜索存在于项目资源文件夹中但当前未导入到项目中的资源。
按未使用资源过滤 #unused 搜索在任何情况下都未使用的资源。(此搜索词将查找用于音频表和编程发声器的资源,如果它们未同时用于另一种类型的至少一种发声器中的话。)
按流媒体资源过滤 #streaming 搜索设置为流媒体的资源。有关流媒体资源的更多信息,请参阅管理资源一章的压缩和平台编码部分。
按自定义编码设置过滤 #customized 搜索具有自定义编码设置的资源。有关编码设置的更多信息,请参阅管理资源一章的压缩和平台编码部分。
按文件长度过滤 #query:(AudioFile.length > <length in seconds>) 按指定长度(以秒为单位)搜索资源。用于比较资源长度的方法取决于指定的运算符。有效运算符包括大于 (">")、小于 ("<")、等于 ("==")、大于或等于 (">=")、小于或等于 ("<=" ).
运算符 > 和 AND 搜索与搜索栏中AND之前的搜索词及其后的搜索词相匹配的项目。
运算符 > 或 OR 搜索与搜索栏中OR之前的搜索词或其后的搜索词相匹配的项目。
运营商>不 NOT 搜索与搜索栏中NOT 之前的搜索词匹配但不匹配其后的搜索词的项目。
参数浏览器放大镜菜单项 术语 说明
按未使用的参数过滤 #unused 搜索未在项目的任何事件中使用的预设参数
按参数类型过滤 > 用户 #query:(GameParameter.parameterType == "0") 搜索用户参数类型的预设参数。
按参数类型过滤 > 距离 #query:(GameParameter.parameterType == "1") 搜索距离内置参数类型的预设参数。
按参数类型过滤 > 方向 #query:(GameParameter.parameterType == "2") 搜索方向内置参数类型的预设参数。
按参数类型过滤 > 仰角 #query:(GameParameter.parameterType == "3") 搜索仰角内置参数类型的预设参数。
按参数类型过滤 > 事件锥角 #query:(GameParameter.parameterType == "4") 搜索事件锥角内置参数类型的预设参数。
按参数类型过滤 > 事件方向 #query:(GameParameter.parameterType == "5") 搜索事件方向内置参数类型的预设参数。
运算符 > 和 AND 搜索与搜索栏中AND之前的搜索词及其后的搜索词相匹配的项目。
运算符 > 或 OR 搜索与搜索栏中OR之前的搜索词或其后的搜索词相匹配的项目。
运营商>不 NOT 搜索与搜索栏中NOT 之前的搜索词匹配但不匹配其后的搜索词的项目。
效果浏览器放大镜菜单项 术语 说明
按未使用的效果过滤 #unused 搜索未在项目中的任何事件中使用的预设效果
按效果过滤 > <特定效果> #query:(<实体名称>) 搜索未分配给任何事件库的事件。
运算符 > 和 AND 搜索与搜索栏中AND之前的搜索词及其后的搜索词相匹配的项目。
运算符 > 或 OR 搜索与搜索栏中OR之前的搜索词或其后的搜索词相匹配的项目。
运营商>不 NOT 搜索与搜索栏中NOT 之前的搜索词匹配但不匹配其后的搜索词的项目。

如果与特殊搜索词相对应的菜单项未出现在放大镜菜单中,则该特殊搜索词在该浏览器中不可用。

使用多个 ANDORNOT 运算符进行搜索时,将搜索词组括在括号(“()”)中有时会很有用。将一组搜索词括在括号中表示优先级,这样括号内的运算符必须先于括号外的运算符求值。因此,这可用于消除歧义,例如,river NOT (#boat AND #highTension)(river NOT #boat)AND #highTension

3.7.1 标签

标签是一个搜索词,可用于在事件浏览器收发浏览器VCA 浏览器事件库浏览器中搜索带有该标签的事件。要搜索带有特定标签的事件,请单击浏览器的搜索栏,然后键入井号(“#”),后跟标签名称。

要向事件添加标签,请在事件编辑器窗口中选择该事件。然后,在事件浏览器窗格中,单击出现在“标签”下的 I-beam 图标,并键入新标签的名称。

标记事件

此外,还可通过在事件浏览器中右键单击事件,然后从右键菜单中选择“分配给标签”,然后从子菜单中选择适当的标签,将标签添加到事件中。

一个事件可以拥有的标签数量没有限制,多个事件可以拥有相同的标签。

标签浏览器包含用于创建、查看、组织、编辑和删除标签的工具。要访问标签浏览器,请选择“Windows > 事件浏览器”以打开事件浏览器窗口,然后单击事件浏览器窗口的“标签”选项卡。

3.8 效果浏览器

效果是一个模块化单元,可插入到轨道总线信号链中,执行实时信号处理。预设效果是一种效果,可在整个项目中创建该效果的多个实例,所有这些实例共享相同的属性设置。

效果浏览器显示项目的预置效果,并可用于创建、编辑和整理预置效果。

可通过右键单击预设浏览器并从右键菜单中选择“新参数”来创建新的预设效果。也可右键单击事件库浏览器中的空白区域并选择“新建文件夹”来创建文件夹。

有关效果的更多信息,请参见FMOD Studio Concepts一章的效果部分。

3.9 参数浏览器

参数事件或整体项目的属性,可用于触发和控制事件的发生器逻辑标记可自动化[属性](glossary.html #event-property),其值可以由游戏代码设置。所有参数均基于预设参数

参数浏览器显示项目的预设参数,并可用于创建、编辑和组织预设参数。

可通过右键单击预设浏览器并从右键菜单中选择“新建参数”来创建新的预设参数。此外,还可通过右键单击参数浏览器中的空白区域并选择“新建文件夹”来创建文件夹。

有关参数和预设参数的更多信息,请参阅参数章节。

3.10 VCA 浏览器

VCA是同时调节多个总线音量的工具。

VCA 浏览器显示项目的 VCA,以及分配给它们的总线和 VCA。它可用于创建和编辑项目的 VCA。

可通过在 VCA 浏览器中右键单击并从右键菜单中选择“新建 VCA”来创建新的 VCA。

可通过右键单击要分配的项目并从右键菜单中选择“分配给 VCA”,将任何总线或 VCA 分配给 VCA。

与大多数浏览器不同,VCA 浏览器不包含文件夹。

可通过单击浏览器顶部的搜索栏并键入欲查看的 VCA 的部分名称来过滤 VCA 浏览器中显示的内容。

有关 VCA 和 VCA 浏览器的更多信息,请参阅调音章节的VCA部分。