版本

menu_open
Wwise SDK 2023.1.2
设计工具插件库格式

此页面将介绍插件格式以及构成 Wwise 设计工具插件的各个部分。

库插件容器

Wwise 插件动态库可导出插件容器并列出库所提供的所有插件。该容器可通过一组宏添加到插件库中(如下所示):

// Library "MyPlugin.dll"
// MyPluginLib.h
// MyPluginLib.cpp

这些宏将容器名称作为参数,其必须与库名称匹配(不含前缀或扩展名)。 随后可使用宏 AK_ADD_PLUGIN_CLASS_TO_CONTAINER 添加各个插件。 所有这些都将在创建插件时使用 wp.py 开发工具完成。

对于使用命令 wp.py new 创建的插件,可将声音引擎部分构建为静态库,并与 Wwise 设计工具插件动态库自动关联。 这一声音引擎静态库可重复用于在游戏中进行链接。

有关声音引擎插件实现的详细信息,请参阅 编写音频插件的声音引擎部分 章节。

设计工具插件结构

Wwise 设计工具插件分为两个部分:必需的后端部分(负责将插件的属性写入 SoundBank 并管理各种自定义数据)和可选的前端部分(创建为单独的类)。后一部分负责实现自定义图形用户界面。 两个部分通过 AK_ADD_PLUGIN_CLASS_TO_CONTAINER 宏单独添加到插件容器中。

以下章节对如何实现这两个部分进行了详细的说明:

有关如何使用插件属性的信息,请参阅 设计工具插件的模型 章节。

请求组件和服务

您可以使用 AK::Wwise::Plugin::RequestPropertySet 等 Request 接口(参见 Property Set 章节),来请求用于提供插件模型等服务的组件。 这些服务由 Wwise 设计工具在安装时提供给插件实例。

有些接口可添加必须实现并将由 Wwise 调用的纯虚拟方法。比如,在通过 AK::Wwise::Plugin::Source 获取时,需要实现 AK::Wwise::Plugin::Source::GetSourceDuration 方法,来将源所预期的最小和最大时长告知 Wwise 设计工具。

插件中要用作服务的组件全部前缀 Request。在这些服务处理插件所拥有的对象时,其会提供实例来作为成员变量添加到插件中以供服务方法使用(比如,将 AK::Wwise::Plugin::RequestPropertySet 用于 m_propertySet 对象)。 下面列出了可请求的各种组件:

备注: 其中有些服务会添加可选择性覆盖的通知处理程序方法。

对于所要实现的接口,不添加任何前缀。下面列出了可添加的各种接口:

故障排除

如果您遇到任何问题,可以参阅 Wwise 源插件和效果器插件故障排除指南 获取帮助。

#define AK_EXPORT_PLUGIN_CONTAINER(ContainerName)
(C++) Exports the plug-in container for a shared library.
#define AK_DEFINE_PLUGIN_CONTAINER(ContainerName)
(C++) Defines the unique plug-in container.
#define AK_DECLARE_PLUGIN_CONTAINER(ContainerName)
(C++) Declares the plug-in container.

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅