버전

menu_open
Wwise SDK 2019.1.11
Wwise 플러그인 대화 상자 참고 자료

Plug-in Dialog Resources 에서 설명한 것과 같이, 플러그인 DLL에는 Wwise 사용자가 플러그인 속성을 편집할 때 표시할 대화 상자의 리소스가 포함돼있어야 합니다. 이는 음원 플러그인과 효과 플러그인 둘 다에 해당됩니다.

여기서는, 원하는 상자 크기로 조정하거나 여러 유형의 제어를 적용하거나 이런 제어를 자신의 플러그인 속성에 결합시키는 방법과 같이, 대화 상자 리소스와 관련한 상세 내용에 중점을 두어 설명하고 있습니다.

자신의 플러그인의 대화 상자 리소스 만들기

Microsoft Development Environment에서 Dialog Editor를 이용해 Dialog 리소스를 자신의 Wwise 플러그인 DLL 프로젝트에 추가합니다. 그런 다음 Toolbox 창의 Dialog Editor 부분에 있는 도구를 이용해 제어를 추가합니다.

대화 상자 크기

효과 플러그인은 Wwise의 Effect Editor 내 Effect Settings 탭에서 편집할 수 있습니다. 음원 플러그인은 Property Editor나 Contents Editor에서 편집할 수 있습니다.

Effect Editor와 Property Editor에 나타나는 대화 상자는 크기가 꽤 큰 반면, Contents Editor에 나타나는 대화 상자는 가시성을 높이기 위해 좀 더 작은 크기로 표현됩니다.

참고: Dialog-Related Code 에서 설명한 것과 같이, AK::Wwise::IAudioPlugin::GetDialog()AK::Wwise::IAudioPlugin::WindowProc() 를 구현 할 때 AK::Wwise::IAudioPlugin::eDialog 매개 변수를 확인해 어느 대화 상자가 호출되고 있는지 확인해야 합니다.

Property Editor와 Effect Editor의 대화 상자 크기

음원 플러그인의 Property Editor 대화 상자 및 효과 플러그인의 Effect Editor 대화 상자의 최대 크기는 가로 525 대화 상자 단위 x 세로 325 단위입니다.

경고: 대화 상자가 너무 클 경우 일부가 잘려서 사용자가 모든 제어를 볼 수 없게 됩니다.
작은 정보: 자신의 대화 상자가 Microsoft Development Environment Dialog Editor에서 선택된 상태에서, 상태 바의 맨 오른쪽 끝에 표시할 상자의 크기가 대화 상자 단위로 표시됩니다.

Content Editor의 대화 상자 크기

음원 플러그인의 Content Editor 대화 상자의 크기는 가로 최대 194 대화 상자 단위 x 세로는 반드시 13 단위가 되어야 합니다.

경고: 대화 상자가 너무 클 경우 일부가 잘려서 사용자가 모든 제어를 볼 수 없게 됩니다.
작은 정보: 자신의 대화 상자가 Microsoft Development Environment Dialog Editor에서 선택된 상태에서, 상태 바의 맨 오른쪽 끝에 표시할 상자의 크기가 대화 상자 단위로 표시됩니다.

Wwise로 자신의 대화 상자 리소스 불러오기

Wwise로 자신의 대화 상자 리소스를 불러올 때 필수적으로 구현해야 하는 함수인 AK::Wwise::IAudioPlugin::GetResourceHandle()AK::Wwise::IAudioPlugin::GetDialog() 에 대한 더 많은 정보는 Dialog-Related Code 를 참고하세요.

자신의 대화 상자에 규칙 제어 추가하기

Microsoft Development Environment Dialog Editor에서 Toolbox의 Dialog Editor 영역에 있는 관련 도구를 이용하면 정적 제어, 편집 제어, 체크 상자, 누름 버튼, 라디오 버튼 및 그룹 제어와 같은 규칙 제어들을 직접 추가할 수 있습니다. 이 제어들은 Wwise에 의해 자동으로 하위 클래스가 되어 애플리케이션의 다른 비슷한 제어들과 같은 모양을 띄게 됩니다.

참고: 단, 예외적으로 드롭다운/콤보 상자 제어는 자동으로 하위 클래스에 추가되지 않습니다. 자신의 대화 상자에 드롭다운 제어를 적용하려면 Combo 커스텀 제어를 사용하세요. 더 많은 정보는 "Class" 제어 속성 를 참고하세요.
참고: 속성에서 RTPC를 지원할 경우, 해당 속성의 제어와 함께 RTPC 위젯이 자동으로 나타납니다. 속성에서 RTPC 활성화하기에 대한 더 자세한 정보는 속성 구성 요소 를 참고하세요.

속성에 규칙 제어 연결하기

체크 상자와 라디오 버튼은 플러그인 속성에 연결하는 것이 가능합니다. 따라서 별다른 코드를 사용하지 않고도 이들 제어에 사용자가 특정 동작을 취할 때마다 속성이 업데이트되며, 반대로 속성에 사용자의 동작이 발생할 때에도 이 제어들이 업데이트됩니다.

이를 위해서는 include/AK/Wwise/Utilities.h에 정의된 매크로를 이용해 "테이블 구성"을 생성해야 합니다.

AK_BEGIN_POPULATE_TABLE(ToneGenProp)
AK_POP_ITEM(IDC_CHECK_SWEEPFREQ, szSweepFreq)
AK_POP_ITEM(IDC_RADIO_FREQSWEEPLIN, szSweepFreqType)
(... 기타 항목은 여기 입력...)
AK_END_POPULATE_TABLE()

먼저 AK_BEGIN_POPULATE_TABLE 매크로로 시작합니다. 여기에는 테이블을 만드는 데 사용하는 매개 변수 하나와 식별자 한 개가 있습니다. 유효한 C++ 식별자여야 하며, 정의되는 범위 안에서 동일한 것 없이 고유해야 합니다. 이 식별자는, AK::Wwise::IAudioPlugin::GetDialog() 구현에서 테이블 구성 out 매개 변수를 설정할 때 사용하는 식별자와 동일합니다.

그런 다음 AK_POP_ITEM() 매크로를 이용해 제어들을 속성에 연관시킵니다 (속성에 연결될 각각의 제어는 테이블에 AK_POP_ITEM() 항목이 필요함). 이 매크로의 첫 번째 매개 변수는 만들려는 대화 상자의 제어 ID입니다. 두 번째 매개 변수는 속성의 이름으로, 플러그인의 XML 정의 파일에 정의돼있습니다 (속성 이름에 대한 더 자세한 정보는 속성 구성 요소 참고).

체크 상자는 bool 타입의 속성으로 연결될 수 있씁니다. true 속성값은 체크된 제어에 해당하고, 반대로 false 속성값은 체크되지 않은 제어에 해당됩니다.

라디오 버튼은 int32 타입의 속성으로 연결될 수 있습니다. 한 제어 그룹의 각 라디오 버튼은 각각 특정 값에 해당됩니다. 그룹의 첫 번째 라디오 버튼은 0 값에 해당되며, 두 번째는 1 값, 세 번째는 2 값, 등의 방식으로 진행됩니다. 라디오 버튼의 설정에 있어 중요한 두 가지는, 라디오 버튼의 탭 순서와 제어 그룹화입니다.

Microsoft Development Environment Dialog Editor에서 대화 상자를 편집하는 도중 탭 순서를 확인하려면, Format 메뉴를 열어 Tab Order를 선택합니다. 각 제어 옆에 탭 순서에 해당하는 숫자가 표시돼있습니다. 이 순서를 변경하기 위해서는, 가장 먼저 올 제어부터 클릭한 후 두 번째, 세 번째 등, 모든 제어를 순서대로 클릭합니다. 그런 다음 Format 메뉴로 돌아가 Tab Order를 다시 한 번 선택해 해당 옵션을 비활성화합니다.

제어들을 그룹화하기 위해서는, Microsoft Development Environment의 Properties 창에서 첫 번째 라디오 버튼의 Group 속성을 True 로 설정합니다. 그 밖에 동일한 그룹의 다른 라디오 버튼들의 Group 속성은 False 로 설정합니다.

탭 순서와 제어 그룹, Dialog Editor와 관련한 더 자세한 정보는 Microsoft Development Environment 문서를 참고하세요.

모든 AK_POP_ITEM() 항목이 정의되면, AK_END_POPULATE_TABLE() 매크로를 이용해 테이블 구성의 선언을 종료합니다.

작은 정보: 이 선언을, 후에 접근하게 될 유일한 위치인 동일한 CPP 파일에 AK::Wwise::IAudioPlugin::GetDialog() 구현으로 넣으면 됩니다.

자신의 대화 상자에 Wwise 속성 제어 추가하기

자신의 대화 상자에 Wwise 대화 상자 제어(Caption, Slider, Fader 등)를 통합시키기 위해서는, 특별히 코딩된 캡션 텍스트로 임시 정적 텍스트 제어를 사용합니다. 이 텍스트는 다음의 양식을 따라야 합니다.

Class=[Classname];Prop=[Propname];[Attribute1]=[Value1];[Attribute2]=[Value2];[...]
작은 정보: 대화 상자 제어의 레이아웃을 보기 쉽게 만들려면, Microsoft Development Environment Dialog Editor의 임시 정적값의 Property에서 BorderTrue로 설정합니다. 예시 에서 예제를 참고하세요.
참고: 속성에서 RTPC를 지원할 경우, 해당 속성의 제어와 함께 RTPC 위젯이 자동으로 나타납니다. 속성에서 RTPC 활성화하기에 대한 더 자세한 정보는 속성 구성 요소 를 참고하세요.

이들 속성을 자세히 살펴보겠습니다.

"Class" 제어 속성

Class 속성은 필수 사항입니다. 이 속성은, 대화 상자에 입력됐을 때 기존의 임시 정적값을 대체하게 될 제어 타입을 정의합니다. 이 속성은 다음과 같은 형식을 따릅니다.

Class=[Classname]

여기서 [Classname] 는 다음 중 하나가 될 수 있습니다.

  • Caption: 읽기 전용 텍스트 표시

    리소스의 정적 제어는 세로로 정확히 13 단위 높이여야 하며, 가로는 가장 긴 텍스트가 들어갈 수 있는 너비여야 합니다.

  • Combo: 드롭다운 목록

    리소스의 정적 제어는 세로로 정확히 13 단위 높이여야 하며, 가로는 가장 긴 텍스트가 들어갈 수 있는 너비여야 합니다.

  • Edit: 편집 가능한 텍스트

    리소스의 정적 제어는 세로로 정확히 13 단위 높이여야 하며, 가로는 가장 긴 텍스트가 들어갈 수 있는 너비여야 합니다. 'string' 타입의 속성은 이 제어에 묶여있어야 합니다.

  • Fader: 볼륨 페이더


  • Spinner: 선택 메뉴로 된 정수 편집기

    리소스의 정적 제어는 세로롤 정확히 13 단위 높이여야 하며, 가로는 가장 큰 값이 들어갈 수 있는 너비여야 합니다.

  • SuperRange: 가로 슬라이더로 된 숫자 편집기

    리소스의 정적 제어는 세로롤 정확히 13 단위 높이여야 하며, 가로는 가장 큰 값이 들어갈 수 있는 너비여야 합니다.
참고: 각 제어는 각 속성의 특정 요구에 맞게 작동 방식을 조정하여 다양한 옵션 속성을 지원합니다. 더 자세한 정보는 그 외 제어 속성들 를 참고하세요.

"Prop" 제어 속성

Prop 속성을 이용해 플러그인의 속성 중 하나와 제어 하나를 연결할 수 있습니다. 이 속성은 다음과 같은 형식을 따릅니다.

Prop=[Propname]

[PropName] 은 제어가 연결될 속성의 이름을 지정합니다. 이 이름은 플러그인의 XML 정의 파일에 지정된 이름과 동일한 이름입니다 ( 속성 구성 요소 참고).

이 속성은 선택 사항입니다. 만약 이 속성이 지정돼있지 않아도 제어를 생성할 수는 있지만 속성에 연결되지는 않습니다. 예를 들어 SetWindowText()를 사용하는 제어에 원하는 문자를 표시하기 위해서는 Caption 제어를 사용합니다.

경고: 속성에 연결된 컨트롤 들은 해당 속성 값을 기반으로 표시할 텍스트를 설정합니다. 이 제어들에 대해 절대 명시적으로 창 문자를 설정하지 마세요.
경고: 속성에 연결되지 않은 컨트롤을 생성할 때는, 대화창이 완전히 생성될때까지 해당 컨트롤의 텍스트를 있는 그대로 유지하도록 주의하세요. 예를 들어 AK::Wwise::IAudioPlugin::WindowProc() 메소드에서 WM_INITDIALOG 메시지를 처리하는 도중에 제어 문자를 너무 일찍 변경하면, 리소스 문자에 설정된 Class 속성을 필요할 때 사용할 수 없어 Wwise가 올바른 제어를 생성할 수 없습니다.

그 외 제어 속성들

위에서 언급한 ClassProp 속성 외에, 일부 제어는 각 속성의 요구 사항에 맞게 제어를 조정할 수 있게 만드는 속성들을 지원합니다.

소수점

형식:

Decimals=[Number]

[Number] 는 소수점 뒤에 표시되는 숫자입니다. 이 값은 음수가 아닌 정수여야 합니다. 0으로 설정할 경우, 소수점을 포함한 그 뒤 숫자는 표시되지 않습니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • Caption
  • Fader
  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Decimals] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

최소값

형식:

Min=[Number]

[Number] 는 이 제어에 입력할 수 있는 최소값입니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • Fader
  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/Restrictions/ValueRestriction/Range/Min 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

최대값

형식:

Max=[Number]

[Number] 는 이 제어에 입력할 수 있는 최대값입니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • Fader
  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/Restrictions/ValueRestriction/Range/Max 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

중간값

형식:

Mid=[Number]

[Number]SuperRange 제어의 아래에 표시되는 작은 슬라이더의 고정점입니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

이 속성은 다음의 제어 타입에 사용할 수 있습니다.

  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Mid] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

스텝

형식:

Step=[Number]

[Number] 는 슬라이더를 움직일 때 숫자 값이 얼만큼씩 변경될 지를 나타냅니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • Fader
  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Step] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

미세 조정

형식:

Fine=[Number]

[Number] 는 Shift 키를 누른 채 슬라이더를 움직일 때 숫자 값이 얼만큼씩 변경될 지를 나타냅니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • Fader
  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Fine] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

UIMin

형식:

UIMin=[Number]

[Number] 는 맨 처음 슬라이더를 사용할 때 설정할 수 있는 최소값입니다. 이 값이 Min 속성에 지정된 값보다 클 경우, 사용자가 더 작은 값을 직접 입력하면 제어의 범위가 넓어집니다.

이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

작은 정보: 이 속성의 목적은, 해당 속성 범위가 매우 클 경우 제어의 슬라이더의 최초 범위를 더 넓은 폭으로 이용할 수 있도록 하기 위함입니다. 만약 특정 속성이 큰 이론적 범위를 갖고 있지만 일반적으로는 사용자가 제한적 범위를 사용하는 경우, Min/Max 속성을 이용해 실제 범위를 설정하고 UIMin/UIMax 속성을 이용해 슬라이더의 최초 범위를 설정합니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[UIMin] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

UIMax

형식:

UIMax=[Number]

[Number] 는 맨 처음 슬라이더를 사용할 때 설정할 수 있는 최대값입니다. 이 값이 Max 속성에 지정된 값보다 작을 경우, 사용자가 더 큰 값을 직접 입력하면 제어의 범위가 넓어집니다.

이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.

작은 정보: 이 속성의 목적은, 해당 속성 범위가 매우 클 경우 제어의 슬라이더의 최초 범위를 더 넓은 폭으로 이용할 수 있도록 하기 위함입니다. 만약 특정 속성이 큰 이론적 범위를 갖고 있지만 일반적으로는 사용자가 제한적 범위를 사용하는 경우, Min/Max 속성을 이용해 실제 범위를 설정하고 UIMin/UIMax 속성을 이용해 슬라이더의 최초 범위를 설정합니다.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[UIMax] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

옵션

형식:

Options=[Value1]:[Text1],[Value2]:[Text2],...,[ValueN]:[TextN]

[ValueX] 는 숫자로 된 속성에 사용할 수 있는 값입니다. 그리고 [TextX] 는 제어에서 이 속성값과 연결될 수 있는 문자입니다. 문자열은 쉼표로 구분된 "value:text" 와 한 쌍을 이뤄, 각각에 숫자 값과 쉼표로 구분된 연결 문자로 돼있습니다. 예시:

  • boolean 속성: "0:Off,1:On"
  • 열거된 숫자 속성: "0:Low Pass,1:High Pass,2:Band Pass"
참고: bool 속성에서, value/text 한 쌍의 value 값에 false 에는 0을 사용하고 true 에는 1을 사용합니다.

이 속성은 다음의 제어 타입에 사용할 수 있습니다.

  • Combo

드롭다운 목록의 내용물을 정의하는 데 사용됩니다. Wwise 사용자는 오직 Options 속성에 나타나는 값만 Combo 제어로 설정할 수 있습니다.

참고: Options 속성 형태는 AK::Wwise::IAudioPlugin::DisplayNamesForPropValues() 메소드의 형태와 같습니다. 더 자세한 정보는 User-Friendly Text for Property Names and Property Values 을(를) 참고하세요.
주의:
이 속성은 더 이상 사용되지 않습니다. 해당 옵션은 열거된 각 값에 대해 /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/Restrictions/ValueRestriction/Enumeration/Value[DisplayName] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

SliderType

형식:

SliderType=[integer value]

SliderType 값에 대한 정보는 UserInterface 를 참고해주세요.

이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.

  • Fader
  • SuperRange
주의:
이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[SliderType] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요.

Align

형식:

Align=[Left|Center|Right]

이 속성은 다음의 제어 타입에 사용할 수 있습니다.

  • Caption
  • Edit

제어가 표시하는 문자를 정렬하는 데 사용합니다.

FontSize

형식:

FontSize=[0|1]

각 숫자의 의미:

  • 0 (기본 설정): 기본 글씨
  • 1: 큰 글씨

이 속성은 다음의 제어 타입에 사용할 수 있습니다.

  • Caption

제어가 표시하는 문자의 글자 크기를 지정하는 데 사용합니다.

TimeDisplay

형식:

TimeDisplay=[0|1|2]

각 숫자의 의미:

  • 0 (기본 설정): 특정 시간 표시 양식 없음.
  • 1: MM:SS.mmm (분, 초, 밀리세컨드) 양식 사용. 최소값은 -59:59.999이고, 최대값은 59:59.999입니다.
  • 2: HH:MM:SS.mmm (시간, 분, 초, 밀리세컨드) 양식 사용. 여기서는 최소 및 최대값 제한이 없습니다.

이 속성은, 다음의 제어 타입이 밀리세컨드를 나타내는 int32 타입의 속성에 연결될 때 사용할 수 있습니다.

  • Caption

속성 타입에 대한 더 자세한 정보는 속성 구성 요소 을(를) 참고하세요.

예시

다음은 Microsoft Development Environment Dialog Editor에서 본 효과 플러그인의 샘플 대화창 리소스입니다.

다음은 대화창 리소스 코드입니다. 대화창의 다양한 임시 정적값에 사용될 실제 캡션 문자를 보여주고 있습니다.

IDD_MYPLUGIN DIALOGEX 0, 0, 217, 187
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
LTEXT "Class=Caption;Prop=Name",IDC_NAME,8,8,78,13,WS_BORDER
LTEXT "Class=Caption;Prop=Duration;Align=1;TimeDisplay=1;FontSize=1",
IDC_DURATION,90,8,78,13,WS_BORDER
LTEXT "Class=Caption;Prop=OutputLevel;Align=2;Decimals=1",
IDC_OUTPUTLEVEL_CAPTION,172,8,36,13,WS_BORDER
LTEXT "Class=Caption",IDC_CUSTOM_CAPTION,8,24,200,13,WS_BORDER
CONTROL "Enable Feedback",IDC_CHECK_FEEDBACKENABLED,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,8,46,70,10
LTEXT "Feedback",IDC_STATIC_FEEDBACK,19,62,32,8
LTEXT "Class=SuperRange;Prop=Feedback;Min=0;Mid=0;Max=100;UIMin=0;UIMax=10;Step=0.5;Fine=0.1;Decimals=1",
IDC_RANGE_FEEDBACK,58,60,60,13,WS_BORDER
LTEXT "Interpolation:",IDC_INTERPOLATION_STATIC,8,86,45,8
CONTROL "Linear",IDC_RADIO_LINEAR,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,11,97,35,10
CONTROL "Logarithmic",IDC_RADIO_LOG,"Button",BS_AUTORADIOBUTTON,
11,108,54,9
LTEXT "Loop count",IDC_STATIC,8,132,36,8
LTEXT "Class=Spinner;Prop=LoopCount;Min=1;Max=32767",
IDC_LOOP_COUNT_SPINNER,53,129,65,13,WS_BORDER
LTEXT "Type",IDC_STATIC,8,164,17,8
LTEXT "Class=Combo;Prop=WaveType;Options=0:Sine,1:Triangular,2:Square,3:Sawtooth,4:White Noise,5:Pink Noise",
IDC_COMBO_WAVETYPE,34,161,84,13,WS_BORDER | WS_TABSTOP
LTEXT "Class=Fader;SliderType=1;Prop=OutputLevel;Min=-96.3;Max=0;Decimals=2",
IDC_LEVEL_FADER,167,43,37,124,WS_BORDER
CTEXT "OutputLevel",IDC_VOLUME_STATIC,161,171,48,8,
SS_CENTERIMAGE
END
주의:
위 코드에 나온 속성들 중 다음은 추후 버전에서 사용 중단될 예정입니다: Decimals, Step, Fine, SliderType, Mid, UIMin, UIMax 더 자세한 정보는 UserInterface 를 참고하세요.

이 예시에서, Enable Feedback 체크상자와 Interpolation 라디오 버튼은 속성에 묶여있어야합니다. 그래야 플러그인의 .cpp 파일이 AK::Wwise::IAudioPlugin::GetDialog() 구현으로 반환된 아래의 테이블을 정의할 수 있습니다.

static LPCWSTR szFeedbackEnabled = L"FeedbackEnabled";
static LPCWSTR szInterpolation = L"Interpolation";
// 속성에 대한 비 정적 텍스트 UI 제어
AK_BEGIN_POPULATE_TABLE(MyPopTable)
AK_POP_ITEM(IDC_CHECK_FEEDBACKENABLED, szFeedbackEnabled)
AK_POP_ITEM(IDC_RADIO_LINEAR, szInterpolation)
AK_END_POPULATE_TABLE()
(...)
bool MyPlugin::GetDialog( eDialog in_eDialog, UINT & out_uiDialogID, PopulateTableItem *& out_pTable ) const
{
out_uiDialogID = IDD_DELAY_BIG;
out_pTable = MyPopTable;
return true;
}

다음은 Effect Editor에서 Wwise 사용자에게 보여지는 대화창의 모습입니다.

자신의 플러그인 대화창 확인하기

Effect Editor 대화창 (효과 플러그인에만 해당)

Wwise에서 자신의 대화창을 확인하려면,

  1. Views 메뉴에서 Effect Editor를 선택합니다.
  2. Effect 드롭다운 목록에서 자신의 효과 플러그인을 선택합니다. 만약 찾는 플러그인이 목록에 보이지 않을 경우, Wwise Source and Effect Plug-in Troubleshooting Guide 을(를) 참고하세요.

이제 효과 플러그인의 대화창이 Effect Editor에 나타납니다. 효과(Effect)의 사용 방법에 대한 자세한 내용은 Wwise 문서를 참고하세요.

Contents Editor 대화창 (소스 플러그인에만 해당)

Wwise에서 자신의 대화창을 확인하려면,

  1. Actor-Mixer Hierarchy를 우클릭한 다음 New Child > Sound SFX를 선택합니다. 그러면 새로운 Sound가 생성됩니다.
  2. 새로 생성된 Sound를 더블클릭해 확인합니다.
  3. Contents Editor에서 Add Source 버튼을 클릭한 다음 목록에서 자신의 플러그인을 선택합니다. 만약 찾는 플러그인이 목록에 보이지 않을 경우, Wwise Source and Effect Plug-in Troubleshooting Guide 을(를) 참고하세요.

이제 소스 플러그인의 대화창이 Contents Editor에 나타납니다.

Property Editor 대화창 (소스 플러그인에만 해당)

Wwise에서 자신의 대화창을 확인하려면,

  1. Actor-Mixer Hierarchy를 우클릭한 다음 New Child > Sound SFX를 선택합니다. 그러면 새로운 Sound가 생성됩니다.
  2. 새로 생성된 Sound를 더블클릭해 확인합니다.
  3. Contents Editor에서 Add Source 버튼을 클릭한 다음 목록에서 자신의 플러그인을 선택합니다. 만약 찾는 플러그인이 목록에 보이지 않을 경우, Wwise Source and Effect Plug-in Troubleshooting Guide 을(를) 참고하세요.
  4. 자신의 플러그인에 대해 나타나는 작은 대화창을 더블클릭합니다.

그러면 Property Editor가 자신의 플러그인 대화창을 보여줍니다.

문제 해결

문제가 발생할 경우 Wwise Source and Effect Plug-in Troubleshooting Guide 에 나와있는 도움말을 참고하세요.

참고
Dialog-Related Code
Plug-in Dialog Resources
속성 구성 요소
User-Friendly Text for Property Names and Property Values
AkForceInline void Max(AkReal32 *in_pVolumesDst, const AkReal32 *in_pVolumesSrc, AkUInt32 in_uNumChannels)
Get max for all elements of two volume vectors, independently.
AkForceInline void Min(AkReal32 *in_pVolumesDst, const AkReal32 *in_pVolumesSrc, AkUInt32 in_uNumChannels)
Get min for all elements of two volume vectors, independently.

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요