包含此页的版本:
不含此页的版本:
您可以自定义 Unity 如何显示您在本机 DSP 插件中创建的参数描述。默认情况下,Unity 将这些参数描述显示为滑块。然而,一些插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅术语表需要更复杂的用户交互,允许用户进行更多控制。
您可以使用 C# 自定义 GUI 并替换默认滑块。要访问自定义 GUI 的示例:
在 SDK 中,导航到NativeAudioPlugins-master\GUICode\AudioPluginDemoGUI.
打开AudioPluginDemoGUI.sln项目,或在另一个 IDE 中打开此文件夹中的 GUI 文件。
本页概述了为本机音频 DSP 插件创建 GUI 的步骤。
Unity 加载本机插件 在 Unity 外部创建以在 Unity 中使用的特定于平台的本机代码库。允许您访问作系统调用和第三方代码库等功能,否则 Unity 无法使用这些功能。更多信息
请参阅术语表DLL 文件并注册包含的音频插件,它会搜索与已注册插件名称匹配的相应 GUI 文件。
要确保 Unity 将自定义 GUI 链接到插件,请执行以下作:
打开自定义 GUI 类。
确保您的 GUI 类继承自IAudioEffectPluginGUI.
覆盖类的 Name 属性,使其与插件相同。这是 Unity 用来链接文件的内容,而不是 DLL 文件名。例如:
public override string Name
{
get { return "Demo Equalizer"; }
}
示例音频插件 SDK 提供了一些示例,说明了您可以呈现参数的不同方式,包括滤波器曲线。您可以在项目中使用这些示例中的任何一个。
在自定义 GUI 类中,创建要通过用户交互控制的变量。例如:
private float masterGain;
private float lowGain, midGain, highGain;
有关 UI 元素和 UI 元素的想法,请参阅示例项目 创建您喜欢的 UI 元素。
您需要定义插件中的参数如何与 GUI 自定义相关。这OnGUI(IAudioEffectPlugin plugin)布尔函数接收本机插件的句柄,然后使用它来读取和写入本机插件定义的参数。要绑定您的参数,请执行以下作:
找到OnGUI(IAudioEffectPlugin plugin)boolean 函数。
用plugin.GetFloatParameter从本机插件中读取每个参数并将其映射到 GUI 变量。
plugin.GetFloatParameter("MasterGain", out masterGain);
如果找到参数,则返回 true。
用plugin.SetFloatParameter将插件参数的值设置为 GUI 变量的当前值。
plugin.SetFloatParameter("MasterGain", masterGain);
如果找到参数,则返回 true。
为避免本机 DSP 和 GUI 代码中的参数定义重复或相互矛盾,请使用plugin.GetFloatParameterInfo功能。
plugin.GetFloatParameterInfo("NAME", out minVal, out maxVal, out defVal);
如果您的 OnGUI 函数返回 true,则检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表在自定义 GUI 下方显示默认 UI 滑块。这对于 GUI 开发很有用,因为:
在开发自定义 GUI 时,所有参数都可用。
您可以检查正确的作是否会导致预期的参数更改。
要将插件的 GUI 导入 Unity,请参阅在 Unity 中使用本机 DSP 插件和 GUI。