Wwise SDK 2024.1.1
|
此页面将介绍插件格式以及构成 Wwise 设计工具插件的各个部分。
Wwise 插件动态库可导出插件容器并列出库所提供的所有插件。该容器可通过一组宏添加到插件库中(如下所示):
这些宏将容器名称作为参数,其必须与库名称匹配(不含前缀或扩展名)。 随后可使用宏 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
对象)。 下面列出了可请求的各种组件:
AK::Wwise::Plugin::RequestHost
:提供 m_host
以及用于与 Wwise 设计工具进行交互的函数。AK::Wwise::Plugin::RequestLinkBackend
:提供 m_backend
以及用于查询后端实例的函数。AK::Wwise::Plugin::RequestLinkFrontend
:提供 m_frontend
以及用于查询一系列前端实例的函数。AK::Wwise::Plugin::RequestObjectMedia
:提供 m_objectMedia
以及与媒体文件处理相关的函数。AK::Wwise::Plugin::RequestObjectStore
:提供 m_objectStore
以及与内部对象管理相关的函数。AK::Wwise::Plugin::RequestPropertySet
:提供 m_propertySet以及用于获取并设置属性值的函数。在从 \c AK::Wwise::Plugin::AudioPlugin 获取插件类时,将自动请求该组件。
\c AK::Wwise::Plugin::RequestUndoManager :提供
m_undoManager` 以及用于记录自定义撤消事件和分组的函数。AK::Wwise::Plugin::RequestWrite
:提供 AK::Wwise::Plugin::DataWriter
所需的实例服务。在从 AK::Wwise::Plugin::AudioPlugin
获取插件类时,将自动请求该组件。AK::Wwise::Plugin::RequestXml
:提供 XML Reader 和 XML Writer(AK::Wwise::Plugin::XmlReader
和 AK::Wwise::Plugin::XmlWriter
)所需的实例服务。在从 AK::Wwise::Plugin::CustomData
获取插件类时,将自动请求该组件。备注: 其中有些服务会添加可选择性覆盖的通知处理程序方法。 |
对于所要实现的接口,不添加任何前缀。下面列出了可添加的各种接口:
AK::Wwise::Plugin::CustomData
:添加用于管理自定义数据的函数。AK::Wwise::Plugin::License
:添加用于在 SoundBank 生成过程中检查授权的函数。AK::Wwise::Plugin::MediaConverter
:添加用于自定义媒体转码的函数。AK::Wwise::Plugin::Notifications::Monitor
:添加用于从声音引擎插件接收性能分析数据的函数。AK::Wwise::Plugin::PropertyDisplayName
:添加用于覆盖 XML 针对属性和命名值所定义显示名称的函数。AK::Wwise::Plugin::SinkDevices
:添加用于管理自定义音频设备的函数。AK::Wwise::Plugin::Source
:添加与源插件相关的函数。如果您遇到任何问题,可以参阅 Wwise 源插件和效果器插件故障排除指南 获取帮助。