目录

从源代码构建原生集成插件

Wwise-Unity 集成是一层很薄的从 C# 调用原生 Wwise API 的调用层。它自带对所有平台的支持。大多数情况下,没有必要重新构建集成插件。但是,如果有源代码,您可能想对它自定义,以便将自定义更改集成到原生声音引擎中,或者修改与声音引擎接口的 C++ 代码。这应该交给有 C++ 知识的程序员来完成。

步骤

  1. 使用 Wwise Launcher 为您希望构建的平台安装 Wwise SDK。请确保先登出并再次登录。
  2. 找到您正在使用的操作系统( Windows 或 Mac )的源码压缩包。在您添加 Wwise 集成时,Launcher 将源码压缩包安装在您的 Unity 工程中(压缩包后缀为_Src.zip)。
  3. 找到您希望构建的平台的源码压缩包(如果该平台与 Windows 或 Mac 不同)。
  1. 验证构建集成的先决条件。请参阅 前提条件 了解更多详情。
  2. 解压缩所有源码压缩包 到同一文件夹中。请参阅 在 Unity 工程中安装或升级集成 了解更多详情。
  3. 使用以下两种方法之一启动构建过程:使用控制台工具来构建 或者 使用 Integrated Development Environment (IDE) 来构建
  4. 等待构建完毕。如果构建成功,那么在 Deployment 文件夹中的插件和 API 绑定将会更新,如果它们之前不存在,则将会被创建。

备注

  • 在构建过程中,您可以监控警告、错误或关键消息,方法是阅读 构建日志 中的详细日志消息。

构建集成的必要条件:

平台 需要的组件
所有平台
  • Unity 5 (Personal 或 Pro)
  • 和您的目标平台兼容的 Wwise SDK。请参阅 版本说明 - Wwise Unity Integration 2019.1.3.7048.1516
  • 和您的目标平台兼容的平台 SDK。请参阅 Wwise SDK 帮助(Reference Materials 一节> 平台 要求)。
  • Python 2.7.x 或者 3.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:含有各种配置的 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_x64profile_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++ 代码。在这些罕见的情况下,我们建议在您继续之前,先联系客户支持。

构建流程会执行以下任务:

  1. Wwise SDK 库被封装到一个单独的库作为 Unity 插件:Windows 上的动态库(.dll)、在 Mac OS X 上的可加载包(.bundle)、在 iOS 上的静态库(.a)或在 Android 上的共享库(.so)。它们将被直接构建到 Deployment 文件夹中。想了解文件夹结构,请参阅 在 Unity 工程中安装或升级集成
参见:
Generated at Sat Aug 17 14:25:09 2019 for Wwise Unity Integration by  doxygen 1.6.3