버전

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

A Windows DLL plug-in can contain resources for the dialog that is displayed in Wwise when the user edits the plug-in's properties. 이는 음원 플러그인과 효과 플러그인 둘 다에 해당됩니다.

This page is dedicated to the details regarding those dialog resources such as the expected dimensions of the dialogs, how to include various types of controls in your dialog and how to bind those controls to your plug-in's properties.

Refer to the following sections for details:

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

Microsoft Development Environment에서 Dialog Editor를 이용해 Dialog 리소스를 자신의 Wwise 플러그인 DLL 프로젝트에 추가합니다. 그런 다음 Toolbox 창의 Dialog Editor 부분에 있는 도구를 이용해 제어를 추가합니다. For more details, refer to 플러그인의 리소스 파일 생성하기.

대화 상자 크기

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

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

참고: As explained in Dialog Acquisition, your implementations of AK::Wwise::Plugin::GUIWindows::GetDialog() and AK::Wwise::Plugin::GUIWindows::WindowProc() should check the AK::Wwise::Plugin::GUIWindows::eDialog parameter to know which dialog they are being called for.

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

It is recommended that the Property Editor dialog for source plug-ins, and the Effect Editor dialog for source and Effect plug-ins, do not exceed 525 dialog units wide and 325 units high. The dialog unit values can be found in the Resource Editor of Visual Studio.

Note that dialog units translate to different pixel sizes depending on the following factors:

  • Windows Display Settings: The size of text, apps, and other items. Usually set between 100% and 200%. Windows may automatically set this value based on the size and resolution of the monitor
  • Wwise User Interface Font Size: Defined in the User Preferences dialog, font size can range from 8 to 10. A larger font size translates to a larger dialog size.

It is important to try your plug-in on different setups to ensure the editor(s) fit on smaller screens, such as a laptop screen.

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

Content Editor의 대화 상자 크기

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

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

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

Refer to Dialog Acquisition for information about AK::Wwise::Plugin::GUIWindows::GetResourceHandle() and AK::Wwise::Plugin::GUIWindows::GetDialog() which are functions you must implement for Wwise to find your dialog resources.

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

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

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

속성에 규칙 제어 연결하기

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

To do so, you must create a "populate table" using macros defined in AK/Wwise/Plugin.h:

AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM(IDC_CHECK_SWEEPFREQ, szSweepFreq)
AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM(IDC_RADIO_FREQSWEEPLIN, szSweepFreqType)
(... insert other items here...)

You start with the AK_WWISE_PLUGIN_GUI_WINDOWS_BEGIN_POPULATE_TABLE() macro, which has a single parameter, an identifier for the table. 유효한 C++ 식별자여야 하며, 정의되는 범위 안에서 동일한 것 없이 고유해야 합니다. This is the same identifier you will use when setting the populate table out parameter in your implementation of AK::Wwise::Plugin::GUIWindows::GetDialog() (Refer to Dialog Acquisition for more information).

You then use the AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM() macro to associate controls to properties. Each control that must be bound to a property needs an AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM() entry in the table. 이 매크로의 첫 번째 매개 변수는 만들려는 대화 상자의 제어 ID입니다. The second parameter is the name of the property, as defined in your plug-in's XML definition file. Refer to 속성 구성 요소 for more information on property names.

체크 상자는 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 문서를 참고하세요.

Once all the AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM() entries are defined, use the AK_WWISE_PLUGIN_GUI_WINDOWS_END_POPULATE_TABLE() macro to end the declaration of your populate table.

작은 정보: You can put this declaration in the same CPP file as your AK::Wwise::Plugin::GUIWindows::GetDialog() implementation, since that's the only place you will need to access it.

자신의 대화 상자에 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 제어를 사용합니다.

경고: 속성에 연결된 컨트롤 들은 해당 속성 값을 기반으로 표시할 텍스트를 설정합니다. 이 제어들에 대해 절대 명시적으로 창 문자를 설정하지 마세요.
경고: 속성에 연결되지 않은 컨트롤을 생성할 때는, 대화창이 완전히 생성될때까지 해당 컨트롤의 텍스트를 있는 그대로 유지하도록 주의하세요. If you change the control's text too early, for example while handling the WM_INITDIALOG message in the AK::Wwise::Plugin::GUIWindows::WindowProc() method, the Class attribute set in the resource text will not be available when required, and Wwise will not be able to create the appropriate control.

그 외 제어 속성들

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

Decimals

형식:

Decimals=[Number]

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

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

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

Min

형식:

Min=[Number]

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

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

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

Max

형식:

Max=[Number]

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

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

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

Mid

형식:

Mid=[Number]

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

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

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

Step

형식:

Step=[Number]

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

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

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

Fine

형식:

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

형식:

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 제어로 설정할 수 있습니다.

참고: The format of the Options attribute is the same as that of the AK::Wwise::Plugin::PropertyDisplayName::DisplayNamesForPropValues() method. 더 자세한 정보는 Property Display Names and 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 를 참고하세요.

In this example, the Enable Feedback checkbox and the Interpolation radio buttons need to be bound to properties, so the .cpp file for the plug-in defines the following table, which is returned by the plug-in's implementation of AK::Wwise::Plugin::GUIWindows::GetDialog():

constexpr auto szFeedbackEnabled = u8"FeedbackEnabled";
constexpr auto szInterpolation = u8"Interpolation";
// 속성에 대한 비 정적 텍스트 UI 제어
AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM(IDC_CHECK_FEEDBACKENABLED, szFeedbackEnabled)
AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM(IDC_RADIO_LINEAR, szInterpolation)
(...)
bool MyPlugin::GetDialog(
UINT& out_uiDialogID,
PopulateTableItem*& out_pTable) const
{
if (in_eDialog == SettingsDialog)
{
out_uiDialogID = IDD_DELAY_BIG;
out_pTable = MyPopTable;
return true;
}
return false;
}

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

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

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

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

  1. Views 메뉴에서 Effect Editor를 선택합니다.
  2. Effect 드롭다운 목록에서 자신의 효과 플러그인을 선택합니다. 만약 찾는 플러그인이 목록에 보이지 않을 경우, Wwise 음원 플러그인 및 효과 플러그인 문제 해결 안내 을(를) 참고하세요.

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

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

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

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

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

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

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

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

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

문제 해결

문제가 발생할 경우 Wwise 음원 플러그인 및 효과 플러그인 문제 해결 안내 에 나와있는 도움말을 참고하세요.

참고
Dialog Acquisition
Resource Handle
속성 구성 요소
Property Display Names and Values
AkForceInline void Max(AkReal32 *in_pVolumesDst, const AkReal32 *in_pVolumesSrc, AkUInt32 in_uNumChannels)
Get max for all elements of two volume vectors, independently.
#define AK_WWISE_PLUGIN_GUI_WINDOWS_END_POPULATE_TABLE()
Ends the declaration of a property-control bindings table.
Definition: GUIWindows.h:78
#define AK_WWISE_PLUGIN_GUI_WINDOWS_POP_ITEM(theID, theProp)
Declares an association between a control and a property within a property-control bindings table.
Definition: GUIWindows.h:68
#define AK_WWISE_PLUGIN_GUI_WINDOWS_BEGIN_POPULATE_TABLE(theName)
Starts a new property-control bindings table.
Definition: GUIWindows.h:54
AkForceInline void Min(AkReal32 *in_pVolumesDst, const AkReal32 *in_pVolumesSrc, AkUInt32 in_uNumChannels)
Get min for all elements of two volume vectors, independently.

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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요