Version: 2023.2
언어: 한국어
네이티브 DSP 오디오 플러그인 개발
Unity에서 네이티브 오디오 DSP 플러그인 및 GUI 사용

오디오 플러그인용으로 GUI 커스터마이즈

네이티브 DSP 플러그인에서 생성한 파라미터 설명을 Unity에서 표시하는 방식을 커스터마이즈할 수 있습니다. 기본적으로 Unity는 이러한 파라미터 설명을 슬라이더로 표시합니다. 하지만 일부 플러그인은 사용자가 더 세부적으로 제어할 수 있도록 더 복잡한 사용자 상호작용을 요구합니다.

C#을 사용하여 GUI를 커스터마이즈하고 기본 슬라이더를 대체할 수 있습니다. 커스텀 GUI 예시를 확인하려면 다음 단계를 따르십시오.

  1. 최신 오디오 플러그인 SDK를 다운로드합니다.

  2. SDK에서 NativeAudioPlugins-master\GUICode\AudioPluginDemoGUI로 이동합니다.

  3. Visual Studio에서 AudioPluginDemoGUI.sln 프로젝트를 열거나 다른 IDE에서 이 폴더에 있는 GUI 파일을 엽니다.

이 페이지에서는 네이티브 오디오 DSP 플러그인용 GUI를 만드는 단계에 대한 개요를 제공합니다.

1. 오디오 플러그인에 GUI 연결

Unity는 네이티브 플러그인 DLL 파일을 로드하고 포함된 오디오 플러그인을 등록한 후, 등록된 플러그인의 이름과 일치하는 해당 GUI 파일을 검색합니다.

Unity가 커스텀 GUI를 플러그인에 연결하도록 하려면 다음 단계를 따르십시오.

  1. 커스텀 GUI 클래스를 엽니다.

  2. GUI 클래스가 IAudioEffectPluginGUI에서 상속하도록 합니다.

  3. 클래스의 Name 프로퍼티를 오버라이드하여 플러그인과 동일하게 합니다. 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) 부울 함수는 기본 플러그인에 대한 핸들을 받은 다음 네이티브 플러그인이 정의한 파라미터를 읽고 쓰는 데 사용합니다. 파라미터를 바인드하려면 다음 단계를 따르십시오.

  1. GUI 클래스에서 OnGUI(IAudioEffectPlugin plugin) 부울 함수를 찾습니다.

  2. plugin.GetFloatParameter를 사용하여 네이티브 플러그인에서 각 파라미터를 읽고 GUI 변수에 매핑합니다.

    plugin.GetFloatParameter("MasterGain", out masterGain);
    

    파라미터를 찾은 경우 true가 반환됩니다.

  3. plugin.SetFloatParameter를 사용하여 플러그인 파라미터의 값을 GUI 변수의 현재 값으로 설정합니다.

    plugin.SetFloatParameter("MasterGain", masterGain);
    

    파라미터를 찾은 경우 true가 반환됩니다.

  4. 네이티브 DSP와 GUI 코드에서 파라미터 정의가 중복되거나 모순되는 것을 방지하려면 plugin.GetFloatParameterInfo 함수를 사용합니다.

    plugin.GetFloatParameterInfo("NAME", out minVal, out maxVal, out defVal);
    

    OnGUI 함수가 true를 반환하면 인스펙터의 커스텀 GUI 아래에 기본 UI 슬라이더가 표시됩니다. 이는 다음과 같은 이유로 GUI 개발에 유용합니다.

  5. 모든 파라미터는 커스텀 GUI를 개발하는 동안 사용 가능합니다.

  6. 적절한 작업을 통해 예상되는 파라미터 변경이 발생하는지 확인할 수 있습니다.

4. 오디오 플러그인용 GUI 컴파일 및 임포트

플러그인용 GUI를 Unity로 임포트하려면 Unity에서 네이티브 DSP 플러그인 및 GUI 사용을 참조하십시오.

추가 리소스


네이티브 DSP 오디오 플러그인 개발
Unity에서 네이티브 오디오 DSP 플러그인 및 GUI 사용