版本
Wwise Unreal Integration Documentation
|
注記: 只有在启用 Event-Based Packaging 时才能使用此功能。 |
警告: 只有将 Switch Value 或 State Value 素材加载到内存中,才能使用此功能加载相应媒体。以下用法容易出现问题:
|
为了优化内存用量,Event 和媒体之间的依赖关系会将 Switch Container 值考虑在内。比如,考虑以下 “Footstep” Event 依赖关系树:
若当前活跃关卡仅引用 “Material_Dirt” Switch Value(比如通过 Level Blueprint 中的 SetSwitch 节点),则只将 Foot_Dirt1 和 Foot_Dirt2 媒体文件加载到内存中。若稍后加载引用 Material_Grass 的关卡,则同时自动加载 Foot_Grass1 和 Foot_Grass2。
注意,可在 Integration Settings 中禁用此功能:
为了针对用来实现 Switch Container 的 Event 优化内存用量,默认情况下会激活 Split Switch Container Media Integration Setting。
在激活此选项时,将在 Event 素材数据中复制 Switch Container 树。各个 Switch 或 State 与子级 SwitchContainerData 或媒体列表关联。
在关卡中引用 State 或 Switch 值素材时,每个加载的 Event 都会接收回调来加载或卸载与该 Switch 或 State 值关联的媒体素材,并遍历整个依赖关系树下加载的所有被引用媒体。在卸载时,将释放流播放管理器的句柄,并在下次运行垃圾收集程序时从内存中移除媒体。
此依赖关系树使用 AkAssetDataSwitchContainerData
实现:
AkAssetDataSwitchContainerData
包含对媒体文件的引用:
AkAssetDataSwitchContainerData
还可包含对其他 AkAssetDataSwitchContainerData
的引用。在使用 Wwise 中嵌套的 Switch Container 时便是这种情况。