Настройка GUI для вашего аудио плагина
Вы можете настроить, как Unity отображает описания параметров, созданные в вашем плагине DSP. По умолчанию Unity отображает эти описания параметров в виде ползунков. Однако некоторые плагины требуют более сложного взаимодействия с пользователем, что позволяет пользователю больше контроля.
Вы можете использовать C#, чтобы настроить GUI и заменить слайдеры по умолчанию. Чтобы получить доступ к примерам пользовательских GUIs:
Скачать последний аудио плагин SDK.
В SDK перейдите к
NativeAudioPlugins-master\GUICode\AudioPluginDemoGUI.Откройте проект
AudioPluginDemoGUI.slnв Visual Studio или откройте файлы GUI в этой папке в другом IDE.
Эта страница содержит обзор шагов, которые необходимо предпринять для создания GUI для вашего собственного аудио плагина DSP.
1. Подключите ваш GUI к вашему аудио плагину
После того, как Unity загрузит файлы плагина DLL и зарегистрирует содержащиеся в них аудио-плагины, он ищет соответствующие файлы GUI, которые соответствуют именам зарегистрированных плагинов.
Чтобы убедиться, что Unity связывает ваш пользовательский GUI с вашим плагином:
Откройте свой класс пользовательского GUI.
Убедитесь, что ваш класс GUI наследуется от
IAudioEffectPluginGUI.-
Переопределить Имя свойство своего класса так, чтобы оно совпадало с именем вашего плагина. Именно по нему Unity связывает ваши файлы, а не по имени файла DLL. Например:
public override string Name { get { return "Demo Equalizer"; } }
2. Добавить более сложное взаимодействие пользователя к вашему GUI
В примере аудио плагина SDK есть несколько примеров различных способов представления параметров, включая кривы фильтров. Вы можете использовать любой из этих примеров в вашем проекте.
В своём классе пользовательского GUI объявите переменные, которыми вы хотите управлять через действия пользователя. Например:
private float masterGain;
private float lowGain, midGain, highGain;
Смотрите примеры проектов для идей по UI элементам и создайте ваши предпочтительные UI элементы.
3. Привязать параметры GUI к параметрам аудио-плагина
Вам нужно определить, как параметры в вашем плагине связаны с вашими настройками GUI. Логическая функция OnGUI(IAudioEffectPlugin plugin) получает адрес для нативного плагина и затем использует его для чтения и записи параметров, определенных нативным плагином. Чтобы связать параметры:
Найти
OnGUI(IAudioEffectPlugin plugin)логическую функцию в вашем классе GUI.-
Используйте
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, то Inspector показывает по умолчанию слайдеры UI под пользовательскими слайдерами GUI.. Это полезно для разработки GUI потому, что:
Все параметры доступны, пока вы разрабатываете свой пользовательский GUI.
Вы можете проверить, что правильные действия приводят к ожидаемым изменениям параметров.
4. Компиляция и импорт GUI для вашего аудио плагина
Чтобы импортировать GUI для ваших плагинов в Unity, см. Используйте свой нативный плагин DSP и GUI в Unity.