版本
menu_open

方法 1:“一体化”库

此方法适用于以下情形:

  • 游戏拥有有限数量的音频或振动素材。

  • 游戏拥有大量的空闲内存。

当然,大多数游戏一般没有可浪费的内存,但此方法的重大优势就是使用和维护起来非常简单。使用这种方法的主要原因是在将整个 Wwise 工程集成到游戏中时用时最少。

在 Wwise 中创建“一体化”SoundBank 的方法是:

  1. 创建一个 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 中。

  2. 在所有工作单元均已添加到 SoundBank 中后,您可以生成 SoundBank,然后把生成的 SoundBank 文件夹复制到游戏应用程序中。

将“一体化”SoundBank 集成到游戏中的方法是:

  1. 由于此游戏只有一个 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 );
                  }
                  ...
           

有关此方法的补充说明

下表列举了此方法的优点和缺点。

优点

缺点

从声音设计师的角度来看,维护 SoundBank 的内容最容易。

由于游戏总是加载同一个 SoundBank,因此更改 SoundBank 的内容时无需重新编译游戏。

在游戏中没有复杂的 SoundBank 加载和卸载过程。

在游戏中无需跟踪可用或者不可用的声音。

内存利用率不高,因为整个游戏的所有 Event、结构和内存媒体一直占用内存。

虽然这种方法是将音频和振动快速轻松集成到游戏中的好方法,但不要等到工程结束时才考虑换成别的方法来提高游戏内存利用率。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅