引言
事件可以是简单的单个声音文件,也可以是许多声音的复杂组合。 FMOD 事件系统可以实现以命令触发音频效果组合,从而简化用 FMOD 设计器工具创建的内容的回放。 如果您只想回放一个声音,也不想使用 Fmod 设计器,请使用普通声音图形
事件图形
Fmod 事件图形位于 Fmod 图形组,从图形创建面板将声音图形实例拖拽到场景中即可完成添加。
要创建事件,首先在图形相应的属性域中指定事件项目。 该属性域的文件浏览器会显示”.fdp”文件,这些都是在 Fmod 设计器中创建、可用的事件项目;然后选择一个事件组,最后选择所需的声音事件。
热点按钮
但是,因为 Fmod 插件 / Fmod 事件 API 使用相当复杂的虚拟事件系统,如果 vForge 中放置了同一事件的多个实例,热点按钮就不能始终对所有事件可用。 这取决于事件的”Max Playback Behavior(最大回放行为)”,可在 Fmod 设计器工具中选择。
所有被侵占、带有”Max playback behavior”且未失败(侵占最老、侵占最新、侵占最静)的事件实例将不会恢复。 为了避免此类实例不断侵占和恢复的无限循环,这是绝对必要的,因为非仅信息事件的请求始终不会失败。
换言之,如果您放置的某事件实例数量多于”最大回放”计数(在 Fmod 设计器中设置),且”最大回放”行为并非”Just fail(仅失败)”或”Just fail if quietest(最安静时仅失败)”,则该事件所有多出的实例都将不可回放,因此热点按钮将不可用。 在所有其他情况下,热点按钮都应可用。
事件属性
为了最大限度地发挥该图形类型的功效,除了缩放比例、位置等基本属性,还有一些您需要了解、也值得提及的回响属性。
在 Fmod 设计器工具中创建事件文件时会定义大部分 Fmod 事件属性。
EventProject(事件项目): 工作中的事件项目文件(.fdp),该文件在 Fmod 设计器工具中创建。
EventGroup(事件组): 事件组名称,与事件项目相关。 需在 Fmod 设计器工具中操作事件项目时定义该组。
Event(事件): 要运行的事件名称,与所提供的事件组相关。
StartPaused(以暂停状态启动): 如启用,该事件创建后将处于暂停状态,必须通过程序代码或触发器链接激活。
DisposeWhenFinished(运行后销毁): 如启用,引擎事件对象会在完成运行后被自动销毁。 否则,在场景生命周期,事件可通过运行 / 暂停操作重复使用。
通过 Fmod 设计器编辑属性
很多 Fmod 事件属性的设置需要您启动 Fmod 设计器工具。 您可以在 vForge 中启动该工具,方法为点击
vForge菜单 → Extras(附加) → Launch Fmod Designer(启动 Fmod 设计器),打开上一次在设计器中打开的事件项目,或在文件浏览器中选择一个事件项目(”.fdp”文件)打开。
然后,您可以将设计器连接到 vForge。 但是,为完成连接,vForge 必须处于动画模式。
注: 您只能启动一个设计器实例,因为让 vForge 与多个设计器实例连接会导致崩溃。
将 Fmod 设计器与 vForge 连接后,您可以在设计器内编辑事件的属性。 当对应事件处于回放状态,您会立刻在 vForge 中听到变化。 但是,调整完所有事件后,必须保存事件项目并重新在设计器中导入,否则这些更改将会丢失。
导出事件项目
使用事件项目工作时,建议为每个目标平台分别导出您的事件项目。
创建事件项目的方式如下:
为所有目标平台创建一个工作事件项目(.fdp)。
为每个目标平台分别导出事件项目至平台专用文件夹,这些文件夹必须和工作事件项目(.fdp)处于同一文件夹。
但是,如果您想使用一个导出事件项目(.fev)工作,就必须将其导出到工作事件项目(.fdp)所在文件夹。
请注意,所有导出事件项目(.fev)都必须和工作事件项目(.fdp)同名。
以下为目前支持平台的导出事件项目的平台专用文件夹名:
PC:“pc”
Xbox 360:“xbox360”
Playstation 3:“ps3”
Playstation Vita:“vita”
安卓:“android”
iOS:“ios”
WiiU:“wiiu”
随后,在游戏运行时,插件会始终先尝试从与当前活动平台匹配的平台专用文件夹载入导出事件项目(.fev)。 如果某事件项目缺失,插件会尝试回退载入非平台专用事件项目。