版本

menu_open
Wwise Unreal Integration Documentation
将工程升级到 Wwise 2022.1

关于 Wwise 2022.1 Unreal Integration

此版本是 Wwise Unreal Integration 的一个重要里程碑。就像 Unreal Engine 5 将引擎推向前所未有的高度一样,Audiokinetic 的 Wwise Unreal Integration 让两个工具的协同使用充满无限可能。 为此,我们花了一年多的时间竭力完善开发设计。在此过程中,我们跟开发人员进行了反复的交流和沟通,以便充分发挥 Wwise 和 Unreal 的应用潜能。在过去几年里,我们从持续优化和功能请求当中吸取了很多宝贵的经验。比如,最初我们想为每一种潜在工作流程提供支持。然而,每款游戏事实上都有自己独特的风格和需求。想脱离个性化盲目地加入创意,可以说是白日做梦。所以,我们要特别感谢 Wwise 用户分享自己的喜悦、困窘和挫折经历。毕竟,用户体验才是我们关心的重中之重。

快速入门

迁移至 Wwise 2022.1

在开始迁移之前,确保可修改 Wwise 和 Unreal 工程中的所有必要文件。

需要在版本控制系统中签出的文件:

  • 整个 Wwise 工程目录
  • 所有 Unreal Wwise 素材(Event、SoundBank、Aux Bus 等)
  • Unreal 工程设置文件:
    • DefaultGame.ini
    • DefaultUser.ini

除此之外,可能还要签出引用 AkAudioBank 素材的 Map 或 Blueprint,因为在迁移过程中会删除这些文件。

像平常一样,在开始迁移前先打开 Audiokinetic Launcher 并转到 Unreal Engine 页面来升级 Wwise Unreal 集成。

注記: 若工程之前使用 2022.1.0 Beta 2,如有些文件名称的大小写发生更改,在文件系统区分大小写的平台上可能会出现构建问题。在通过 Audiokinetic Launcher 升级后,请确保所有文件名中包含 ShareSet 的文件的名称拼写无误(ShareSet 中的两个 S 均为大写)。

在升级完成后,打开 Wwise 工程。这时,会自动显示 Project Migration 对话框。

点击 Update 按钮继续。

在更新并保存 Wwise 工程后,便可打开 Unreal 工程。在打开时,会自动显示 Wwise Integration Migration 对话框。在此对话框中,可选择所要执行的迁移操作。建议马上执行所有迁移操作。不过,必要的话可将迁移流程延迟或单独执行每项操作。若要单独执行这些操作,建议先阅读 部分迁移及工程迁移状态 章节,再尝试迁移工程。在选择多项迁移操作时,会按照与 Migration Window 中所示相同的顺序予以执行。只要还有尚未执行的迁移操作,就可在 Audiokinetic Migration > Finish Project Migration 下的 Build Menu 中打开迁移对话框。

迁移当中有四项不同的操作:

SoundBank Migration

SoundBank 管理现在重新交由 Wwise 设计工具完成,因此已经不再需要并且必须删除 AkAudioBank 素材。在之前的工作流程中,SoundBank 在 Unreal 工程中表示为手动创建的 AkAudioBank 素材。随后,便可手动将 Event 和 Aux Bus 素材分组存放到这些 SoundBank 中。这在原有 Legacy 工作流程中是必要的,但 Event Based Packaging 并不需要。

对话框中可能会显示以下分区(取决于 Unreal 工程是否包含 AkAudioBank 素材)。在 Wwise 2022.1 中,此迁移操作可帮助您将现有 SoundBank 从 Unreal 工程传回到 Wwise 工程,并清理已被弃用的 AkAudioBank 素材。

选项 描述
Transfer SoundBanks to Wwise 若选中,须选择传输方法。详见下文 传输方法 章节。
Transfer Auto Load property Unreal 中的 AkAudioBank 素材设有一项属性,其允许用户指定是要自动还是手动加载 SoundBank 数据及素材(比如在 Blueprint 中使用素材时马上自动加载)。若选中,将把此属性的值传到分组存放到 SoundBank 中的素材。

|Delete AkAudioBank Assets|将删除工程中的所有 AkAudioBank 素材。若同时选中 Transfer SoundBanks,将在传输完毕后完成此操作。建议删除这些素材,因为其已经没用了。|在将其删除后,无法再执行 Transfer SoundBanks to Wwise 操作。|

传输方法

用户可通过创建 SoundBank Definition File 或使用 WAAPI 来将 SoundBank 传到 Wwise。

Create SoundBank Definition File 会创建包含一系列 SoundBank 名称及内容的文本文件。此文件随后可导入到 Wwise 中。若选择此选项,会显示相应字段。在此字段中,可选择要将生成的文件放在哪里。有关如何将该文件导入到 Wwise 工程中的具体信息,请参阅官方文档

WAAPI 会利用 Unreal Editor 和 Wwise 之间建立的 WAAPI 连接来更新 Wwise 工程以将 SoundBank 包含在内。在传输 SoundBank 之后,请务必保存 Wwise 工程。

若要使用所述功能,须打开 Wwise 设计工具。若无法建立 WAAPI 连接,可选择在 Wwise User Settings 中禁用 Auto Connect to WAAPI 工程设置。

失败的 SoundBank 传输

若没能通过 WAAPI 将所有 SoundBank 成功传输到 Wwise,或过程当中无法写入到 SoundBank 定义文件,则会显示对话框并列出相应错误。在该对话框中,您可以取消迁移,也可忽略错误并继续。其中有些可能是预期之内并可接受的错误。比如,若已从 Wwise 工程中移除的 Event 仍作为素材存在于 Unreal 工程中,则涉及这些 Event 的 WAAPI 调用将会失败。

Delete deprecated assets

之前的 Integration 版本中所用的有些 Wwise 素材类型已被弃用,因此需要从工程中移除。 通过选中 Delete Deprecated Assets 选项,可删除所有 AkMediaAsset、AkFolder 和 AkPlatformAssetData 类型的素材。

Migrate Wwise Assets

Wwise 素材属性已发生更改,其不会再将 SoundBank 或媒体二进制数据序列化。现在只有加载或构建素材时所用的 GUID、ShortID、Name 和类型特定元数据属性才会序列化到 Wwise 素材中。在构建过程中,会将资源加载所需的信息序列化到游戏中打包的素材。

在选中 Migrate Wwise assets 时,会将工程中的所有 Wwise 素材标记为未同步状态并加以保存。若之前使用 EBP 并启用了 Split Switch Container Media,将在保存前把所有 Event 的 EventInfo.SwitchContainerLoading 标记设为 LoadOnReference。

注記: 若选择将 Migrate Wwise Assets 作为唯一的迁移操作,之后将无法执行 Transfer SoundBanks to Wwise 操作,因为这样会从相关素材中清除执行该操作所需的信息。

Update Project Settings

在选中 Update Project Settings 时,会根据是使用 Event-Based Packaging 还是原有工作流程来更新工程设置。在执行更改后,请务必保存工程。

Event-Based Packaging 工作流程

  • 在 Wwise 中:
    • 将启用 Enable Auto Defined Soundbanks
    • 若启用了 Split Media Per Folder,将启用 Create Sub-Folders for Generated Files
  • 在 Unreal 中:
    • 将从 Directories To Always Cook 移除 Wwise Sound Data Folder

原有工作流程: 不会在 Wwise 工程中更改任何设置。

  • 在 Unreal 中:
    • 将从 Directories To Always Stage As UFS 移除 Wwise Sound Data Folder
    • 将删除 Wwise Sound Data Folder 中生成的 .bnk 和 .wem 文件。

在两种情况下:

  • 都会将 GeneratedSoundBanks folder location 字段中设置的路径应用于 Unreal 工程的 Wwise Settings 中的 Generated Sound Banks Folder 设置。该字段默认设为 Unreal 工程中设置的当前 GeneratedSoundBanks Folder 路径。建议使用标准的 <Wwise Project\/GeneratedSoundBanks 路径,除非工程有特定的要求。
警告: 若在迁移过程中修改 Generated Sound Banks folder location,则可能需要手动更新 Wwise 中的设置。请参阅 需要手动更新的设置
注記: 在原有工程中,必须将 GeneratedSoundBanks Folder 放在 Unreal 工程的 Content 文件夹内以便进行打包。现在不需要再这样做。为此,建议不要将 GeneratedSoundBanks 文件夹放在 Unreal 工程的 Content 文件夹内。若 GeneratedSoundBanks Folder 在 Unreal 的 Content 文件夹内,则在生成 SoundBank 时将提示导入文件。您可以忽略这些提示。不过,建议将 GeneratedSoundBanks Folder 放在 Unreal 工程以外以免显示这些导入提示。稍后可在 Wwise 设计工具的 Project Settings 和 Unreal 的 Project Settings 中更改 GeneratedSoundBanks Folder。须单独地及时更新两项设置。

在完成迁移对话框中的所有操作后,工程也就准备好了。倘若使用外部源(External Source),还需执行附加迁移步骤。

工程迁移 Commandlet

集成包同时提供一个 Commandlet(参见 使用工程迁移 Commandlet 章节)以便通过命令行来执行上节中所述的迁移操作。

需要手动更新的设置

Wwise Installation Path (Unreal 中) 若在机器上安装了 Wwise 并想在不使用 WAAPI 的情况下在 Unreal 内生成 SoundBank,则须在 Wwise User Settings 中设定 Wwise Mac/Windows Installation Path 设置。

SoundBanks Root Output Path (Wwise 中) 建议确认 Wwise 设计工具的 SoundBanks Settings 中的 Root Output Path 是否与 Unreal Wwise Settings 的 Generated Sound Banks Folder 中设置的路径对应。

注記: Root Output Path 与 Wwise 工程相对,Generated Sound Banks Folder 与 Unreal 工程的 Content 文件夹相对。

对于迁移的原有工程,确保平台特定 SoundBank Folder 设置不指向 Unreal 工程的 Content 文件夹内的位置。

迁移外部源(External Source)

2022.1 中对外部源(External Source)支持的实现做了大幅更改。其允许高级用户通过整合自己的系统来设置和追踪外部源(External Source)。另外,我们还会通过 WwiseSimpleExternalSourceManager 提供基本支持。其使用 Unreal Data Table 追踪外部源(External Source)媒体,并提供 API 和 Blueprint 函数,来为媒体指派外部源 ID。

此模块不再使用 FAkExternalSourceInfo 和 FAkSDKExternalSourceArray 结构。对于 Blueprint 中所要创建的每个 FAkExternalSourceInfo 实例,最好都替换为 "WwiseSimpleExternalSourceManager::SetExternalSourceMedia" Blueprint 节点。

在此之后,可移除 Blueprint 中对它们的所有引用。另外,可能还要重新编译包含与 FAkSDKExternalSourceArrays 关联的 PostEvent 节点的 Blueprint。

有关如何在 Wwise 2022.1 中使用 External Source 的更多详细信息,请参阅 使用 Wwise Simple External Source Manager 章节。

部分迁移及工程迁移状态

我们建议一并执行所有迁移操作。不过,若要每次执行一项操作,或手动执行特定的操作,请注意以下事项:

  • 在迁移素材时,会清除 Event 和 Auxiliary Bus 素材中的 SoundBank 分组信息。这会导致后续无法正常地将 SoundBank 从 Unreal 传输到 Wwise。另外,还会无法将 AutoLoad 设置从 AkAudioBank 素材传输到其中分组存放的 Event 或 Aux Bus。
  • 在删除被弃用的素材和删除 AkAudioBank 素材时,若其包含对被删除素材的引用,可能需要签出额外的(非 Wwise)素材。

工程迁移状态主要使用 DefaultGame.ini 文件中的以下字段来追踪:

  • bSoundBanksTransfered:追踪是否执行了 SoundBank Transfer 操作。
  • bAssetsMigrated:追踪是否执行了 Asset Migration 操作。
  • bProjectMigrated:追踪是否执行了 Project Migration 操作。

在迁移过程中,会根据是否成功执行了对应迁移操作来更新这些设置。

另外,还会基于 Unreal 工程的内容来决定工程迁移状态。若工程不包含 AkAudioBank 素材,则不需要迁移 SoundBank,并会自动更新设置。同样,只有在工程中找到被弃用的素材,才会显示用于删除素材的选项。

完成迁移

在迁移完成后,须重新生成 Wwise SoundBank。用户可通过 Unreal 中的 Wwise Picker 或 Build 菜单或者直接在 Wwise 中执行这一操作(SoundBank 管理已重新交由 Wwise 完成)。

在成功生成 SoundBank 后,便可在 Wwise Picker 中查看 Wwise 工程结构,并在 Play In Editor 模式下试听声音。

注記: 在迁移后可能会显示以下消息:

Unable to load <Asset>_FOLDER with outer Package <Package> because its class does not exist..

2022.1 中已不再使用这些素材。您可以手动或 在迁移过程中 删除工程中遗留的所述素材。不然的话,也可忽略这一消息。

Spatial Audio

Portal

  • 更新了 AkPortalComponent 功能,以免对 OpenPortal 和 ClosePortal 的调用发生堆叠。这样的话,只要调用 OpenPortal 就会立即打开 Portal,只要调用 ClosePortal 就会立即关闭 Portal。之前,多次调用 OpenPortal 后需执行同样次数的 ClosePortal 调用方可关闭 Portal。如有基于此功能的代码,请对之进行更新。

AkGeometry 组件

  • AkGeometryComponent 的默认 Mesh Type 改为了 Simple Collision,以便于在 Map 中添加此类组件。在更新到 22.1 后,若将 AkGeometryComponent 设为了 Static Mesh,则须再次加以设置,因为后续要将其改为 Simple Collision。

将 PreDelay 的单位由秒改为了毫秒

  • 在 Unreal Integration 中,之前是以秒为单位来估算 PreDelay 混响参数的。该值现在以毫秒为单位计算。用户须更新接收 PreDelay 值的 RTPC,确保将 RTPC 设为以毫秒为单位。比如,若之前映射到 PreDelay 的 RTPC 值域为 0.0 ~ 1.0(秒),须将该值域改为 0.0 ~ 1000.0(毫秒)。

CollisionChannel 属性

  • 更改了 AkSpatialAudioVolumeAkAcousticPortal 中的 CollisionChannel 属性以及 AkComponent 中的 OcclusionCollisionChannel 属性的基础类型。这样做是为了更加明确地呈现在更改工程默认碰撞声道时现有对象会发生什么。若有直接通过 Blueprint 或 C++ 操纵这些属性的代码,则需更新类型并重新编译。

将 Event 分组存放到 SoundBank

之前,可通过右键单击素材并选择 Group into Sound Bank 来将 Event 分组存放到 SoundBank 中。现在,没法再这样做了;不过,可使用 Wwise 设计工具中的 User-Defined SoundBank 来获得相同的结果。


此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅