此方法适用于以下情形:
游戏拥有有限数量的音频或振动素材。
游戏拥有大量的空闲内存。
当然,大多数游戏一般没有可浪费的内存,但此方法的重大优势就是使用和维护起来非常简单。使用这种方法的主要原因是在将整个 Wwise 工程集成到游戏中时用时最少。
在 Wwise 中创建“一体化”SoundBank 的方法是:
创建一个 SoundBank,然后取一个适当的名称。
将 SoundBank 加载到 SoundBank Editor 中,然后将以下项拖到“Add”选项卡中去:
“\Actor-Mixer Hierarchy\Default Work Unit”
“\Events\Default Work Unit”
“\Interactive Music Hierarchy\Default Work Unit”(只有使用互动音乐时才需要)
“\Dynamic Dialogue\Default Work Unit”(只有使用动态对白时才需要)
在默认情况下,Events、Structures 和 Media 列下的复选框全部选中。对于此方法,我们希望将所有内容都包含在 SoundBank 中,因此这非常有用。
备注 | |
---|---|
在新工程中,只有默认工作单元可用。如果创建了更多的工作单元,则这些工作单元也应按照需要添加到 SoundBank 中。 |
在所有工作单元均已添加到 SoundBank 中后,您可以生成 SoundBank,然后把生成的 SoundBank 文件夹复制到游戏应用程序中。
将“一体化”SoundBank 集成到游戏中的方法是:
由于此游戏只有一个 SoundBank,因此只需在初始化游戏时加载它。当然,必须首先正确初始化声音引擎。
下面的代码示例可以让您了解“一化化”SoundBank 是如何加载到游戏中的:
//在此初始化声音引擎。 ... // 加载初始化库和“一体化”SoundBank。 AkBankID bankID; // 本例中没有使用。 AKRESULT eResult = AK::SoundEngine::LoadBank( L"Init.bnk", AK_DEFAULT_POOL_ID, bankID ); if( eResult == AK_Success ) { eResult = AK::SoundEngine::LoadBank( L"MyAllInONeBank.bnk", AK_DEFAULT_POOL_ID, bankID ); } ...