版本
Wwise Unreal Integration Documentation
|
Unreal Integration 需要用户创建代表 Wwise 工程中对应对象的素材。You can create these assets through Using the Drag-and-Drop Feature drag-and-drop from the Wwise Browser, or from the right-click menu in the Content Browser. 通过拖放创建的素材自动包含将其与其代表的 Wwise 对象关联所需的信息(GUID、ShortID、Name)。在通过 Content Browser 创建素材时,必须手动添加这些信息。无论采用哪种方式,随后都可对素材进行编辑来指向新的或不同的 Wwise 对象。如需详细了解使用这些素材类型的 Blueprint 函数,请参阅 Blueprint 函数 章节。
注記: 在地图或 Blueprint 中直接引用素材时,会将素材所需的全部 Wwise 资源(.bnk 和 .wem 文件)自动打包到游戏中。不过,若选择仅通过代码来加载这些素材,则须确保对其进行正确打包。 |
下表列出了具有对应 Unreal 素材类的 Wwise 对象类型。
Wwise 对象类型 | Unreal 素材类 | 描述 |
---|---|---|
Acoustic Texture | UAkAcousticTexture | 用于 ShortId 的封装器,可将 ShortId 标识给 SoundEngine。 |
RTPC | UAkRtpc | |
Trigger | UAkTrigger | |
Audio Device ShareSet | UAkAudioDeviceShareSet | |
Auxiliary Bus | UAkAuxBus | Contains the ShortId and also ensures that the required media and SoundBank resources are loaded into memory and packaged in the built game. |
Event | UAkAudioEvent | |
Effect ShareSet | UAkEffectShareSet | 用于 ShortId 的封装器,确保在游戏内动态设置 Effect ShareSet。确保将所需的媒体和 SoundBank 资源加载到内存中并打包到构建好的游戏中。 |
Init Bank | UAkInitBank | 确保将 Init Bank 文件打包到游戏中并在其他 SoundBank 之前予以加载。 |
State Value | UAkStateValue | 用于自身 ShortId 及父组 ShortId 的封装器。确保 UAkAudioEvent 素材中的 FWwiseEventInfo 结构的高级设置 SwitchContainerLoading::LoadOnReference 能够正常运行。若启用,在加载和卸载这些 Switch Group 值素材时,会动态加载 Switch Container 媒体资源。有关详细信息,请参阅 Optimizing Memory Usage with Reference-Loaded Switch Containers 章节。 |
Switch Value | UAkSwitchValue |
Wwise Unreal 素材包含 FWwiseObjectInfo 信息结构,其指向 Wwise 工程中的唯一对象。有些素材类使用带有附加字段的子类。这些字段会影响相应的行为(比如如何准备数据以供加载)。在保存素材时,会在素材中将此结构序列化;在烘焙并用于打包好的构建版本时,会弃用相应的数据。在烘焙过程中,会将该结构传给 WwiseResourceCooker 以便获取已烘焙数据。这些数据在打包好的素材中序列化。有关 CookedData 结构的详细信息,请参阅 为 Wwise 素材烘焙和加载的数据 章节。
基础信息结构。在加载并烘焙编辑器中的素材时会使用此结构来查询 WwiseDatabase,以便获取 CookedData 结构并藉此将素材所需的全部资源(.bnk 和 .wem 文件)加载到内存中。
属性:
注記: HardCodedSoundBankShortId 属性只会影响 UAkAudioEvent 、UAkAuxBus 和 UAkEffectShareSet 素材,因为只有这些素材需要 SoundBank 资源。 |
在 Wwise Database 中执行搜索时会按照以下顺序设定字段的优先级:WwiseGuid -> WwiseShortId -> WwiseName(由高到低)。比如,若 WwiseGuid 无效,则使用 WwiseShortId 来搜索对象。
若在 Unreal 素材检视器中修改了 WwiseObjectInfo 中用于识别 Wwise 对象的 WwiseShortId、WwiseGuid 或 WwiseName 属性,则会搜索 Wwise Project Database 并查找与新属性的值匹配的对象并相应地更新其他两个字段。
FWwiseObjectInfo 的子类包含用于正确加载数据的附加信息。若在检视器中对 WwiseObjectInfo 的属性或子类的字段实施更改,还会重新加载素材的 Wwise 资源。
UAkAudioEvent 素材所用的 FWwiseObjectInfo 的子类。FWwiseEventInfo 包含方便用户自定义 Event 素材加载和销毁行为的附加选项。
附加属性:
Switch Value 和 State Value 素材所用的 FWwiseObjectInfo 的子类。除此之外,FWwiseGroupValueInfo 还包含 State Group 或 Switch Group 的 ShortId。
附加属性:
Wwise 素材包含相应的 CookedData 结构。该结构用于加载其所需的资源(.bnk 和 .wem 文件),并监控其对其他 Wwise 对象的依赖关系(比如,对于播放 Switch Container 的 Event,使用哪些 Switch)。WwiseResourceCooker 模块提供函数来接收 FWwiseObjectInfo 结构并为该 Wwise 对象返回 CookedData 结构。另外,还提供函数来获取 FWwiseObjectInfo 结构并暂存所需资源以供打包。
在编辑器中执行操作时,只会临时使用 CookedData 结构,而不会将其序列化为素材。这样可以避免更改数据或更改 Wwise 对象之间的关系,以免不必要地将对应的 Unreal 素材设为未同步状态。在打包过程中,会在打包好的素材中将 CookedData 序列化并弃用 Wwise Info 结构。
WwiseResourceLoader 模块负责将素材所需的资源加载到内存中。它提供函数来接收 CookedData 结构并通过调用 WwiseFileHandler 模块中的方法来管理实际资源的加载。然后,返回对 Loaded 结构的引用。
注記: UAkRtpc, UAkTrigger, UAkAcousticTexture, and UAkAudioDeviceShareSet assets do not need to load additional resources. 它们不与 WwiseResourceLoader 交互,其 CookedData 结构仅包含对应的 ShortId。 |
针对所有 Unreal Wwise 素材的基类。
属性:
Blueprint 函数:
Event 所用的 UAkAudioType 的子类。
属性:
注記: 在编辑器中加载 AkAudioEvent 素材时填充 EventCookedData、MaxAttenuationRadius、IsInfinite、MinimumDuration 和 MaximumDuration 属性,并在烘焙时将其序列化为素材。Integration 使用 MaxAttenuationRadius 在组件观察器中显示附加信息,并使用其他三项属性在 Timeline Track 中显示 Event。 |
Unreal Content Browser 上下文菜单选项:
Init Bank 所用的 UAkAudioType 的子类。
注記: UAkAudioType 的 Autoload 属性不会影响此素材类型。 |
UAkAudioType Auxiliary Bus 的子类。
Effect ShareSet 所用的 UAkAudioType 的子类。
UAkAudioType 的子类和 UAkStateValue 和 UAkSwitchValue 的基类。
State 值所用的 UAkGroupValue 的子类。
Switch 值所用的 UAkGroupValue 的子类。
RTPC / Game Parameter 所用的 UAkAudioType 的子类。
注記: UAkAudioType 的 Autoload 属性及 LoadData 和 UnloadData Blueprint 不会影响此素材类型。 |
Music Trigger 所用的 UAkAudioType 的子类。
注記: UAkAudioType 的 Autoload 属性及 LoadData 和 UnloadData Blueprint 不会影响此素材类型。 |
Acoustic Texture 所用的 UAkAudioType 的子类。有关如何与 Spatial Audio 功能结合使用此子类的详细信息,请参阅 AkAcousticTexture 章节。
注記: UAkAudioType 的 Autoload 属性及 LoadData 和 UnloadData Blueprint 不会影响此素材类型。 |
Subclass of UAkAudioType for Audio Device.
注記: UAkAudioType 的 Autoload 属性及 LoadData 和 UnloadData Blueprint 不会影响此素材类型。 |
以下类和结构现在已经被弃用,其仅用于从早先工程实施迁移:
现在通过 Unreal 引用维护 Event 和媒体之间的关系。因此,您可以使用 Unreal Reference Viewer 来查看素材之间的关系(如下图所示)。
For more information about the Unreal Reference Viewer, refer to Reference Viewer.