版本

menu_open
Wwise SDK 2019.2.15
针对不同的 Wwise 平台构建工程

构建插件

build 命令将使用之前生成的解决方案,来编译插件并将二进制文件复制到 Wwise 安装目录(若工程文件夹中没有所述解决方案,请参阅 使用 Premake 配置工程 章节)。 该命令必须从工程文件夹内调用,并且需要一系列参数来完成相应的操作。下面是个典型的 build 命令:

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build -c Release -x x64_vc160 Authoring

藉此,可在 release 模式 (-c flag) 下针对当前操作系统上的设计工具平台构建基于 x64 架构和 MSVC 工具集 vc160 (-t flag) 的工程。如需详细了解相关参数的可能值,请查看 build 命令的帮助信息。

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build -h

二进制文件会直接输出到 Wwise 安装目录中以供稍后测试:

  • 对于插件的 SoundEngine 部分,会存放到 "%WWISEROOT%/SDK/<Platform>/<Config>/{bin,lib}" 下。
  • 对于 Windows 上的设计工具插件部分,会存放到 "%WWISEROOT%/Authoring/x64/<Config>/bin/Plugins" 下。
  • 对于插件的 Documentation 部分,会存放到 "%WWISEROOT%/Authoring/Data/Plugins/<PluginName>/Html" 下。

添加目标平台

在开发插件的过程中,随时都可以添加目标平台。为此,可使用 premake 和 build 来添加所需平台。至少要构建一个平台,对 Authoring 来说,很可能还要构建 Documentation 。藉此,可安装插件属性相关文档,并在选中属性时在 Property Help 面板中显示帮助信息。

比如,通过在命令行中运行以下代码,来添加 Windows_vc160 和 Authoring 平台:

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Windows_vc160
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Windows_vc160 -c Release -x x64
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Authoring -c Release -x x64_vc160
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Documentation

使用挂钩执行构建后操作

在构建特定目标后,经常要执行各种自定义操作。要想进一步实现这一点,可将 –build-hooks-file 标记添加到 build 命令并指定相应的 Python 文件。此文件必须由 User 自行创建,它并不包含在 new 命令生成的初始框架中。这里的示例展示了 post-build 挂钩文件所含的内容:

# build_hooks.py
# 定义 postbuild 挂钩
# 此函数由插件开发工具在每次成功构建目标后调用
def postbuild(**kwargs):
WWISE_ROOT = kwargs.get("wwise_root") # Wwise 安装根目录的绝对路径
PROJECT_ROOT = kwargs.get("project_root") # 插件根目录的绝对路径
platform = kwargs.get("platform") # # 所构建的平台的名称(Authoring、Windows_vc140 等)
arch = kwargs.get("arch") # 所构建的基础架构(Win32_vc140、x64_vc140 等)
config = kwargs.get("config") # 所构建的配置(Debug、Profile、Release)
# 在此处插入代码
# ...

这里的示例会针对 Windows_vc160 和 Authoring 平台调用 post-build 挂钩:

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Windows_vc160 -c Release -x x64 --build-hooks-file=build_hooks.py
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Authoring -c Release -x x64_vc160 --build-hooks-file=build_hooks.py
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Documentation

build_hooks.py 文件必须存放在插件的根目录下。

这里的示例会将 DLL 文件 (library.dll) 从插件目录复制到 Wwise 安装目录:

import os
import shutil
import sys
def postbuild(**kwargs):
WWISE_ROOT = kwargs.get("wwise_root")
PROJECT_ROOT = kwargs.get("project_root")
platform = kwargs.get("platform")
arch = kwargs.get("arch")
config = kwargs.get("config")
# Build a multimap of destination folders => files to copy
platform_files = {}
if platform == "Authoring_Windows":
platform_files["Authoring/x64/{}/bin/plugins".format(config)] = [
"Prebuilt/x64/{}/library.dll".format(config)
]
elif platform == "Windows_vc160":
platform_files["SDK/{}/{}/bin".format(arch, config)] = [
"Prebuilt/{}/{}/library.dll".format(arch, config)
]
# Copy all of the file to their destination
for dest, files in platform_files.items():
dest = os.path.join(WWISE_ROOT, dest)
for file in files:
file = os.path.join(PROJECT_ROOT, file)
try:
shutil.copy(file, dest)
print("POSTBUILD HOOK: Copied {} to {}".format(file, dest))
except IOError:
sys.stderr.write("POSTBUILD HOOK: Failed to copy {} to {}\n".format(file, dest))

在完成插件的开发后,还要以 Wwise Launcher 可直接安装的格式来打包工程。 有关更多详细信息,请参阅 将插件打包以便用在 Wwise Launcher 中 章节。

下一章节:将插件打包以便用在 Wwise Launcher 中


此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅