Wwise SDK 2023.1.8
|
前端类提供特定于平台或工具集的方法,以便实现图形用户界面。 您需要创建通过前端类(如 AK::Wwise::Plugin::GUIWindows)获取的类。
前端负责:
如需了解如何实现 Windows 前端,请参阅 实现 Windows 前端 章节。
如需了解如何添加首次实例化时所要显示的插件通知,请参阅 插件首次创建通知 章节。
备注: 目前 Wwise 设计工具平台当中只有 Windows 支持图形用户界面 (GUI)。通过基于开源工程 Wine 的 Crossover 桥接层,还可在 macOS 上运行该平台。 |
“监控”是指在播放期间察看音频插件状态的流程。
在设计工具对游戏实施性能分析或在本地播放声音时,设计工具插件实例可选择接收所有使用相应参数的播放实例的监控数据。它可以使用监控数据来控制各种 GUI 元素(如 VU 电平表和静态文本)。比如,插件可提供有关中间信号处理状态的信息以供测量电平,也可提供相应的性能指标(如内存用量)以便用户查看。
本节主要介绍设计工具端的监控。 有关“序列化”和“发送”流程的详细信息,请参阅 声音引擎端的监控 章节。
监控数据由插件的设计工具部分接收。以下为此流程的步骤:
AK::Wwise::Plugin::Notifications::Monitor::NotifyMonitorData()
接收监控数据,其必须通过 AK::Wwise::Plugin::Notifications::Monitor
接口组件实现。收到的监控数据为 AK::Wwise::Plugin::MonitorData
数组。各个 MonitorData
元素与针对特定游戏对象发送的播放实例对应。设计工具可对此数组进行筛选,确保只将与上下文相关的实例提供给插件前端。NotifyMonitorData
的实现应对监控数据实施反序列化处理,以提取各个 MonitorData
实例所需的信息。随后,便可使用该信息来更新 GUI 控件以便将插件状态告知用户。备注: AK::Wwise::Plugin::Notifications::Monitor::NotifyMonitorData() 在设计工具的主 UI 线程中调用,因此应避免执行长时运行的作业以免设计工具陷入无响应状态。 |
以下代码示例展示了如何实现 NotifyMonitorData
并对监控数据实施反序列化处理:
在提供测量内容或基于实例的统计数据时,要想支持多个 MonitorData
实例会很麻烦。为了简化要求,在个别情况下可忽略 MonitoringData
数组中的某些元素。比如,在有些元素具有不同扬声器配置的情况下。另外,还可选择对监控数据进行汇总。比如,在测量时从针对各个元素报告的电平中选取最大值。
对象处理器由音频插件衍生而来,其可处理属于不同对象的缓冲区,进而在单个 MonitorData
数组中提供多个对象的监控数据。因为监控数据对 Wwise 来说是不透明的,所以 MonitorData
无法提供对象的相关信息:如有必要,可由序列化策略的实现人员将此信息包含在监控数据中。 也就是说,与插件的声音引擎部分有所不同,设计工具插件类型对对象处理器来说并无不同,而监控数据的格式由插件的声音引擎和设计工具部分共同约定。有关对象处理器的详细信息,请参阅 创建声音引擎对象处理器插件 章节。
有些通知处理程序方法会由不同的服务提供,便于插件对 Wwise 中的上下文更改作出响应。比如,在对由属性集管理的属性实施更改时发送通知。有关更多详细信息,请参阅 属性值通知 章节。该章节介绍了其中一些与插件前端部分密切相关的通知。
在 Wwise 用户使用下拉列表或键盘快捷方式更改当前平台时,若通过获取 AK::Wwise::Plugin::RequestHost
请求主机服务,则将相应信息告知插件的实例。 随后,插件便可实现 AK::Wwise::Plugin::NotificationsHost::NotifyCurrentPlatformChanged()
方法。 这样可在显示时依据新的当前平台自动调节对话框内容。