Wwise-Unity 集成是一层很薄的从 C# 调用原生 Wwise API 的调用层。它自带对所有平台的支持。大多数情况下,没有必要重新构建集成插件。但是,如果有源代码,您可能想对它自定义,以便将自定义更改集成到原生声音引擎中,或者修改与声音引擎接口的 C++ 代码。这应该交给有 C++ 知识的程序员来完成。
步骤
- 使用 Wwise Launcher 为您希望构建的平台安装 Wwise SDK。请确保先登出并再次登录。
- 找到您正在使用的操作系统( Windows 或 Mac )的源码压缩包。在您添加 Wwise 集成时,Launcher 将源码压缩包安装在您的 Unity 工程中(压缩包后缀为_Src.zip)。
- 找到您希望构建的平台的源码压缩包(如果该平台与 Windows 或 Mac 不同)。
- 验证构建集成的先决条件。请参阅 前提条件 了解更多详情。
- 解压缩所有源码压缩包 到同一文件夹中。请参阅 在 Unity 工程中安装或升级集成 了解更多详情。
- 使用以下两种方法之一启动构建过程:使用控制台工具来构建 或者 sect_build_ide。
- 等待构建完毕。如果构建成功,那么在
Deployment
文件夹中的插件和 API 绑定将会更新,如果它们之前不存在,则将会被创建。
备注
- 在构建过程中,您可以监控警告、错误或关键消息,方法是阅读 构建日志 中的详细日志消息。
构建集成的必要条件:
平台 |
需要的组件 |
所有平台 |
-
Unity 5 (Personal 或 Pro)
-
和您的目标平台兼容的 Wwise SDK。请参阅 pg_releasenotes。
-
和您的目标平台兼容的平台 SDK。请参阅 Wwise SDK 帮助(Reference Materials 一节> 平台 要求)。
-
Python 2.7.x 及 Python 可执行文件夹(存放在系统可执行路径下)。
|
Android |
-
Android SDK: 对 32 位系统,最小 API 为14,对 64 位系统,最小 API 为21。
-
Android NDK r17c.
-
Apache Ant 1.8.4.
-
Wwise SDK 的完整路径中不能包含任何空 格。
-
Unity 工程根目录的完整路径不能包含 任何空格。
-
环境变量:
-
ANDROID_HOME 应该指向 Android SDK 根文件夹。
-
ANDROID_NDK_HOME 应该指向 Android NDK 根文件夹。
-
NDKROOT 应该指向 Android NDK 根文件夹。
-
ANT_HOME 应该指向 Apache Ant 根文件夹。
|
iOS |
-
Xcode 9 或者以上。
-
针对 iOS 的 Wwise SDK,以及指向它的一个
WWISESDK 环境变量。
|
Linux |
-
必备构建环境 (
sudo apt-get install build-essential )
-
SDL2 (参见 为 Linux 构建 以了解如何安装 SDL2 库)
-
针对 Linux 的 Wwise SDK,和一个指向它的
WWISESDK 环境变量
|
Mac |
-
Xcode 9 或者以上。
-
针对 Mac 的 Wwise SDK 及指向它的
WWISESDK 环境变量
|
PS4 |
Visual Studio 2015 或更高版本。 |
Windows |
Visual Studio 2015 或更高版本。 |
Windows Store |
Visual Studio 2015 或更高版本。 |
Xbox One |
Visual Studio 2015 或更高版本。 |
如何安装源码包
解压源码包。然后,您可以使用源码包和针对安装好的目标平台 Wwise SDK 来重新构建和生成集成的内容。根据情况,您可以在 Unity 项目的 Assets 文件夹中,将 Wwise 文件夹中的解压缩内容与导入的 Unity 集成包(.unitypackage)合并在一起。但是,这样做的话,可能会在 Assets 文件夹中生成不需要的中间文件,这些文件需要手动清除。
安装好的集成包文件夹结构
-
StreamingAssets:文件夹,用于自动的 SoundBank 部署。
-
Wwise:顶层文件夹。
-
Deployment:您的应用程序中使用的主要集成文件。
-
API:C++ 到 C# 的绑定文件。这是原生 Wwise SDK 的翻译。
-
Dependencies:某些平台需要的第三方 Unity 脚本。
-
Components:可以直接使用的 Unity 组件脚本,并可作为自定义组件的示例。
- Plug-ins/b>:含有各种配置的 Unity 插件库及其调试符号数据库。
-
Platform
-
Architecture:由多体系结构平台的体系结构所共享的文件。
-
Debug:插件二进制库的
Debug
版本。请参阅 Wwise 插件部署 了解更多详情。
-
Profile:插件二进制库的
Profile
版本。请参阅 Wwise 插件部署 了解更多详情。
-
Release:插件二进制库的
Release
版本。请参阅 Wwise 插件部署 了解更多详情。
-
DSP:Wwise 效果器和源插件。
- 文档:集成的全部用户文档。
- Editor:WwiseUnityIntegratio 使用的所有编辑窗口和 Inspector。
- Tools:提供更多功能的应用程序工具。
安装好的源码包文件夹结构
-
Wwise:顶层文件夹。
-
AkSoundEngine:构建集成所需的源代码和 IDE 工程,按各个平台来组织的。
-
Common:所有平台共用的源代码和构建脚本。
-
Platform:用于目标平台的 IDE 解决方案或工程、源代码和平台特定的构建脚本。
-
Integration/Assets/Wwise/Deployment:用于您的应用程序的主要集成文件。
-
API:API 绑定的根文件夹。
-
Generated:在 SWIG 绑定步骤中生成的 API 绑定文件。
-
Handwritten:手写的 API 绑定文件。
-
Components:可以直接使用的出厂 Unity 组件脚本,并可作为自定义组件的示例。
-
Plugins:所有 Wwise 插件(构建 AkSoundEngine 之后写的)。
-
<platform>:适用的平台文件夹。
-
<architecture>:适用的平台体系结构。
使用控制台工具来构建
您可以使用构建脚本从命令行来构建集成,构建脚本可以在 Wwise\AkSoundEngine\Common\BuildWwiseUnityIntegration.py
找到。这对于持续集成很有用。如果您要查看使用和示例,假设当前的工作文件夹是脚本的父文件夹,那么请在计算机的命令控制台中输入:
python BuildWwiseUnityIntegration.py -h
使用 Integrated Development Environment (IDE) 来构建
在 Wwise Unity Integration 源码包中位于:
WwiseUnityIntegration_version_platform_Src.zip\Wwise\AkSoundEngine\YourPlatform
解决方案(或 Xcode 工程)可以让您在受支持的 IDE 中构建目标平台的集成。
用 Xcode 为 Mac 或 iOS 平台构建
当从命令行构建集成时,WWISESDK
路径会根据两个设置中的一个来自动提供给 Xcode,其中一个是环境变量 $WWISESDK
中的某个设置,另外一个是使用 -w
选项提供给构建脚本的设置。但是,在使用 Xcode IDE 时,必须手动设置 WWISESDK 路径。为此,请打开 Mac 或 iOS 平台的 Xcode 工程,在工程导航器中选择 AkSoundEngine{platform} 工程。选择 Build Settings 页。在页面的底部,显示了有着 WWISESDK
设置键的 User-Defined 区域。把 WWISESDK
的路径填到设置中,以构建集成(ex: /Users/myUser/Wwise/SDK )。
为 Linux 平台构建
提供了通过 premake5 生成的 makefile。要从源代码中构建 Linux 插件,只需将以下命令输入到终端中:
cd <Integration source location>/AkSoundEngine/Linux
make config=<config>
其中, <config> 可以是 debug_x64
、profile_x64
、 或者 release_x64
。所生成的插件将位于 <Integration source location>/Deployment/Plugins/Linux
。
部署新的库
所得到的二进制文件将位于 Wwise\Deployment\Plugins\[Platform]。如果您还没有解压 Assets\Wwise 文件夹中的源代码,那么请将新二进制文件从该文件夹中复制到您工程的 Assets 文件夹的相应文件夹中。
底层细节
在打包用于构建集成代码的源代码之前,我们使用 SWIG 在 Wwise SDK 的 Unity 中生成 API 绑定。 大多数用户永远不需要用到 SWIG 来在 Unity 中使用 Wwise。即使是那些可以访问 Wwise for Unity 源代码的高级用户,如果想用这些源代码来构建集成代码(包含转码的 API),也不需要安装或使用 SWIG。惟二的例外是,将更改集成到声音引擎,或修改与之接口的 C++ 代码。在这些罕见的情况下,我们建议在您继续之前,先联系客户支持。
构建流程会执行以下任务:
- Wwise SDK 库被封装到一个单独的库作为 Unity 插件:Windows 上的动态库(.dll)、在 Mac OS X 上的可加载包(.bundle)、在 iOS 上的静态库(.a)或在 Android 上的共享库(.so)。它们将被直接构建到 Deployment 文件夹中。想了解文件夹结构,请参阅 pg_installation。
- 参见
-