本文内容
第28章 Wwise插件
第28章 Wwise插件
你最好明智一点,伙计! —The Outsiders, 1983
Introduction
注意:本章的源代码可以在 GitHub 上找到: https://github.com/AMZN-Olex/O3DEBookCode2111/tree/ch28_wwise_setup
本章将介绍如何为我们的项目添加音效。O3DE 集成了 Audiokinetic Wwise。但是,安装程序不包含它,因为 Wwise 不是开源的。
注意:Wwise 不是 O3DE 的产品。它是独立的产品。有关完整条件、许可和详细信息,请访问其网站。 http://www.audiokinetic.com/pricing
在本章中,我们将构建一个启用了 Wwise 集成的 O3DE 新安装。
安装 Wwise
- 浏览 https://www.audiokinetic.com/download/
- 下载适用于 Windows 的安装程序。
- 安装并打开 Wwise Launcher。
- 安装带有 “Authoring” 和 “SDK (C++)” 包的 Wwise 2021 版本。
注意:在撰写本书时,Wwise 2021.1.7.7796 已经可用并使用。
注意:如果您可以在控制台上看到环境变量 WWISEROOT,则表示安装成功。安装后,您可能需要重新打开命令控制台(甚至可能需要重新启动系统)才能看到它。
C:\git\book\build>set | findstr WWISEROOT WWISEROOT=D:\Program Files (x86)\ Audiokinetic\Wwise 2021.1.7.7796
在 CMake 配置步骤中,您应该会看到一条消息,例如:
1>-- Using Wwise SDK at D:\Program Files (x86)\Audiokinetic\Wwise 2021.1.7.7796
您还可以通过将以下内容添加到您的 Gem 或工程中来测试它,以确认 CMake 可以看到 Wwise 安装。
BUILD_DEPENDENCIES PUBLIC 3rdParty::Wwise
使用 Wwise 构建 O3DE 安装程序
注意:我们目前使用的 O3DE 预构建安装程序不包含 Wwise Gem。
我们将构建一个新的本地 O3DE 安装程序,并启用 Wwise Gem。
- 克隆带有标签 2111.2 的 O3DE 存储库,以匹配我们目前在本书中使用的安装程序。
git clone -b 2111.2 https://github.com/o3de/o3de
- 我假设仓库是在 c:\git\o3de 克隆的。
- 在 c:\git\o3de\build 中创建一个构建文件夹。
- 在构建文件夹中,配置 CMake。这应该会选择 Wwise 安装。
C:\git\o3de\build> cmake -S .. -B .
- 在 c:\git\o3de\build\O3DE.sln 打开 Visual Studio 解决方案。
- 检查解决方案中是否存在 Gems\AudioEngineWwise。
- 构建 INSTALL 目标。
注意:此步骤需要一段时间,因为它会构建整个引擎、所有 Gem 并创建本地安装。
- 新的引擎安装将放置在 c:\git\o3de\install。
- 打开 C:\git\o3de\install\engine.json。
- 将 engine_name 和 restricted_name 修改为 “my-o3de-2111”。
- 在新引擎中配置 python。
C:\git\o3de\install> .\python\get_python.bat
- 注册引擎。
C:\git\o3de\install> .\scripts\o3de.bat register --this-engine
- 打开 C:\Users<user>.o3de\o3de_manifest.json.
- 验证此引擎是否已注册。您应该会看到以下几行。
{
...
...
...
}
"engines": [
"C:/O3DE/21.11.2",
"C:/git/o3de/install",
],
"engines_path": {
"o3de-sdk": "C:/O3DE/21.11.2",
"my-o3de-2111": "C:/git/o3de/install",
- 通过修改 C:\git\book\MyProject\project.json 切换 MyProject 以使用这个新引擎。将“engine”从“o3de-sdk”更改为“my-o3de-2111”。
"engine": "my-o3de-2111",
- 重新编译项目。
- 重新运行 Asset Processor。(它将重新处理所有资产)
提示:避免在处理完所有资产之前启动 Editor。在所有关键资产准备就绪之前,可能会发生崩溃。
设置 Wwise 工程
O3DE 从称为 Sound Bank 的音频资产集合中提取音频资源。这些 Sound Bank 由 Wwise 工程生成。我们将使用 Wwise Launcher 创建一个全新的 Wwise 工程。
转到 WWISE 选项卡并启动 Wwise
最初,您不会有任何 Wwise 工程,因此您需要创建一个新工程。
在“新建项目”对话框中设置以下值:
- 对于 Name (名称),输入:wwise_project
- 位置:C:\git\book\MyProject\Sounds\
- 原始文件:“使用默认原始文件目录”
- 项目文件夹:C:\git\book\MyProject\Sounds\wwise_project
注意:O3DE 对 Wwise 工程提出了一些隐藏的要求。
- 项目名称必须为 wwise_project。总是。
- 它必须放在 MyProject\Sounds\wwise_project 中,MyProject 可以是您的任何项目。
创建工程后,您将收到 Wwise Project Explorer。
Wwise 应用程序
注意:Wwise 的工作是为 O3DE 生成 Sound Bank。但是,O3DE 希望音色库位于特定位置,这与 Wwise 设置的默认音色库路径不同。因此,在将音频文件添加到项目之前,请配置一个重要的项目设置,该设置对于使音频与 O3DE 一起使用至关重要。从主菜单中选择 Project→Project Settings…
切换到 SoundBanks 选项卡
我们需要将 SoundBack 文件夹路径从 GeneratedSoundBanks\Generic\ 更改为 MyProject\Sounds\wwise。(如果 Wwise 文件夹还不存在,请创建它。执行此作时,Wwise 将调整 path 使其成为相对 path。所以当它变为..\Wwise 的 Wise 方法。这是应该的。
O3DE的SoundBank路径
在 Actor-Mixer Hierarchy 下创建一个新的音频元素。右键单击 Default Work Unit(默认工作单元)→New Child(新建子项)→ Sound SFX(声音音效)。
New Child → Sound SFX
Sound SFX 是开始向 Wwise 工程添加音频的最简单方法。它表示单个音频效果。将新声音 sfx 重命名为 Cheer。下一步是通过右键单击 Cheer→Import Audio Files,为其分配音频资源。
此时将显示导入器对话框。选择 Add Files…并导航到 C:\git\book\MyProject\Assets\Source Audio\ 的 applause.wav。在 Audio File Importer 对话框中单击 Import。
Audio file importer 对话框
这会将 wave 文件分配给 Cheer。您应该在 Contents Editor 中看到这一点。
导入的音乐资产
提示:您可以在选择 Cheer 时按 SPACE 键来测试声音是否是您想要的声音,以及它是否确实播放,至少在 Wwise 应用程序中是这样。
就我个人而言,我发现掌声效果太响亮了,不符合我的口味。因此,我在 Sound Property Editor 中将此声音元素的音量修改为 -8。
Wwise 中的每个音频对象都应该有两个事件:play 和 stop。O3DE 将通过这些事件作对象。您必须先在 Wwise 中明确创建它们,方法是右键单击 Cheer→ New Event→Play。
“Stop” 事件需要类似的过程:Cheer→ New Event→ Stop→ Stop。现在,在 Event Viewer (事件查看器) 和 Cheer (欢呼) 下,您应该会看到新事件。
播放和停止事件
“生成 Sound Bank”一节
- 从主菜单。切换到 Soundbank → Layouts。
- 在 SoundBankManager 下,单击 New…这将为我们创建一个新的音库。
- 在“New SoundBank”对话框中的 Name 下输入“Main”。单击 OK(确定)。
- 从 Event Viewer 中,将Play_Cheer Stop_Cheer事件拖放到 SoundBank Manager 中的 Main sound Bank 中。
- SoundBank Editor 窗口现在应该列在 Hierarchy Inclusion 下的事件下。
- 返回 SoundBank Manager,单击 Generate All 按钮。
小结
最后一步是在 C:\git\book\MyProject\Code\enabled_gems.cmake 中启用 AudioSystem 和 AudioEngineWwise gem
set(ENABLED_GEMS
...
AudioSystem
AudioEngineWwise
)
这样就完成了工程的 Wwise 设置。
注意:您应该会在 C:\git\book\MyProject\Sounds\wwise 文件夹中看到 Main.bnk。它应该是由 Wwise 工程生成的。
注意:本章的源代码可以在 GitHub 上找到: https://github.com/AMZN-Olex/O3DEBookCode2111/tree/ch28_wwise_setup
下一步是将这些资产导入 O3DE。下一章将向您展示如何做到这一点。