Wwise SDK 2024.1.0
|
以下各节包含各种 SoundBank 管理策略的集成示例。有关这些策略的详细信息,请参阅 Wwise Help 中的 SoundBank 管理策略。
备注: PrepareEvent 和 LoadBank 不可共用,因为两者都会将数据加载到内存中。 |
在采用此策略时,所有 Event 内容、声音结构数据和媒体文件会全部存储在一个 SoundBank 中。有关该策略的论述及其在 Wwise 设计工具中的实现,请参阅 Wwise Help 中的 "All-in-one" SoundBank。
此游戏只有一个 SoundBank,在初始化游戏时加载它就行。当然,必须先初始化声音引擎。
此策略比较适合单人游戏。其中所有可能用到的声音都是由玩家在游戏中的位置决定的。有关该策略的论述及其在 Wwise 设计工具中的实现,请参阅 Wwise Help 中的多个完整的 SoundBank。
在游戏中,要适时加载正确的 SoundBank。例如,游戏可以在开始时加载通用 SoundBank ,然后根据游戏中玩家的实际位置加载其它 SoundBank 。注意,有些游戏需要有足够的内存才能一次加载多个关卡来实现关卡之间的过渡。
除了 LoadBank()
,还可使用 AkBankContent_All 来预备 SoundBank。这样可以避免在内存中重复加载媒体(参见 对 SoundBank 做 Prepare 操作 章节)。
对于包含很多素材的复杂游戏,可考虑采用此策略。有关该策略的论述及其在 Wwise 设计工具中的实现,请参阅 Wwise Help 中的细致地管理媒体。
在游戏开始时加载通用 SoundBank,然后在需要时加载其他 SoundBank。比如,游戏可在开始时加载 "Event" SoundBank 和通用脚步声 SoundBank,然后根据玩家在游戏中的位置加载其他 SoundBank。
若需要较高的媒体粒度以便降低内存用量,但又不想管理与 Event 相关的结构和媒体,可考虑采用此策略。有关该策略的论述及其在 Wwise 设计工具中的实现,请参阅 Wwise Help 中的预备 Action Event。
在游戏开始时加载 Event 所在的 SoundBank,然后在游戏中需要时预备 Event。系统会自动加载对应的结构和媒体。
此策略跟 预备 Action Event 基本相同,不过在预备 Event 时可更好地控制所加载的媒体。有关该策略的论述及其在 Wwise 设计工具中的实现,请参阅 Wwise Help 中的预备 Event 和 Game Sync(Switch 和 State)。
AK::SoundEngine::PrepareEvent
和 AK::SoundEngine::PrepareGameSync
的调用顺序并不重要。每次状态改变都会通过交叉匹配 Event 和 Game Sync 来更新媒体池。