Wwise SDK 2022.1.18
|
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. |
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:
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 대화 상자의 크기는 가로 최대 194 대화 상자 단위 x 세로는 반드시 13 단위가 되어야 합니다.
경고: 대화 상자가 너무 클 경우 일부가 잘려서 사용자가 모든 제어를 볼 수 없게 됩니다. |
작은 정보: 자신의 대화 상자가 Microsoft Development Environment Dialog Editor에서 선택된 상태에서, 상태 바의 맨 오른쪽 끝에 표시할 상자의 크기가 대화 상자 단위로 표시됩니다. |
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:
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 대화 상자 제어(Caption, Slider, Fader 등)를 통합시키기 위해서는, 특별히 코딩된 캡션 텍스트로 임시 정적 텍스트 제어를 사용합니다. 이 텍스트는 다음의 양식을 따라야 합니다.
작은 정보: 대화 상자 제어의 레이아웃을 보기 쉽게 만들려면, Microsoft Development Environment Dialog Editor의 임시 정적값의 Property에서 Border 를 True 로 설정합니다. 예시 에서 예제를 참고하세요. |
참고: 속성에서 RTPC를 지원할 경우, 해당 속성의 제어와 함께 RTPC 위젯이 자동으로 나타납니다. 속성에서 RTPC 활성화하기에 대한 더 자세한 정보는 속성 구성 요소 를 참고하세요. |
이들 속성을 자세히 살펴보겠습니다.
Class
속성은 필수 사항입니다. 이 속성은, 대화 상자에 입력됐을 때 기존의 임시 정적값을 대체하게 될 제어 타입을 정의합니다. 이 속성은 다음과 같은 형식을 따릅니다.
여기서 [Classname] 는 다음 중 하나가 될 수 있습니다.
Caption:
읽기 전용 텍스트 표시 Combo:
드롭다운 목록 Edit:
편집 가능한 텍스트 Fader:
볼륨 페이더 Spinner:
선택 메뉴로 된 정수 편집기 SuperRange:
가로 슬라이더로 된 숫자 편집기 참고: 각 제어는 각 속성의 특정 요구에 맞게 작동 방식을 조정하여 다양한 옵션 속성을 지원합니다. 더 자세한 정보는 그 외 제어 속성들 를 참고하세요. |
Prop
속성을 이용해 플러그인의 속성 중 하나와 제어 하나를 연결할 수 있습니다. 이 속성은 다음과 같은 형식을 따릅니다.
[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. |
위에서 언급한 Class
와 Prop
속성 외에, 일부 제어는 각 속성의 요구 사항에 맞게 제어를 조정할 수 있게 만드는 속성들을 지원합니다.
Decimals
형식:
[Number] 는 소수점 뒤에 표시되는 숫자입니다. 이 값은 음수가 아닌 정수여야 합니다. 0으로 설정할 경우, 소수점을 포함한 그 뒤 숫자는 표시되지 않습니다.
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
Caption
Fader
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Decimals] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Min
형식:
[Number] 는 이 제어에 입력할 수 있는 최소값입니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
Fader
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/Restrictions/ValueRestriction/Range/Min 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Max
형식:
[Number] 는 이 제어에 입력할 수 있는 최대값입니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
Fader
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/Restrictions/ValueRestriction/Range/Max 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Mid
형식:
[Number] 는 SuperRange
제어의 아래에 표시되는 작은 슬라이더의 고정점입니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
이 속성은 다음의 제어 타입에 사용할 수 있습니다.
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Mid] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Step
형식:
[Number] 는 슬라이더를 움직일 때 숫자 값이 얼만큼씩 변경될 지를 나타냅니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
Fader
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Step] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Fine
형식:
[Number] 는 Shift 키를 누른 채 슬라이더를 움직일 때 숫자 값이 얼만큼씩 변경될 지를 나타냅니다. 이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
Fader
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[Fine] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
UIMin
형식:
[Number] 는 맨 처음 슬라이더를 사용할 때 설정할 수 있는 최소값입니다. 이 값이 Min
속성에 지정된 값보다 클 경우, 사용자가 더 작은 값을 직접 입력하면 제어의 범위가 넓어집니다.
이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
작은 정보: 이 속성의 목적은, 해당 속성 범위가 매우 클 경우 제어의 슬라이더의 최초 범위를 더 넓은 폭으로 이용할 수 있도록 하기 위함입니다. 만약 특정 속성이 큰 이론적 범위를 갖고 있지만 일반적으로는 사용자가 제한적 범위를 사용하는 경우, Min/ 이용해 실제 범위를 설정하고 UIMin/ 이용해 슬라이더의 최초 범위를 설정합니다. |
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[UIMin] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
UIMax
형식:
[Number] 는 맨 처음 슬라이더를 사용할 때 설정할 수 있는 최대값입니다. 이 값이 Max
속성에 지정된 값보다 작을 경우, 사용자가 더 큰 값을 직접 입력하면 제어의 범위가 넓어집니다.
이 값은 제어가 연결되는 속성의 타입에 따라 정수가 될 수도 있고 소수점 이하 숫자가 될 수도 있습니다.
작은 정보: 이 속성의 목적은, 해당 속성 범위가 매우 클 경우 제어의 슬라이더의 최초 범위를 더 넓은 폭으로 이용할 수 있도록 하기 위함입니다. 만약 특정 속성이 큰 이론적 범위를 갖고 있지만 일반적으로는 사용자가 제한적 범위를 사용하는 경우, Min/ 이용해 실제 범위를 설정하고 UIMin/ 이용해 슬라이더의 최초 범위를 설정합니다. |
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[UIMax] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Options
형식:
[ValueX] 는 숫자로 된 속성에 사용할 수 있는 값입니다. 그리고 [TextX] 는 제어에서 이 속성값과 연결될 수 있는 문자입니다. 문자열은 쉼표로 구분된 "value:text" 와 한 쌍을 이뤄, 각각에 숫자 값과 쉼표로 구분된 연결 문자로 돼있습니다. 예시:
참고: 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 값에 대한 정보는 UserInterface 를 참고하세요.
이 속성은, 다음의 제어 타입이 숫자로 된 속성에 연결될 때 사용할 수 있습니다.
Fader
SuperRange
주의: 이 속성은 더 이상 사용되지 않습니다. /PluginModule/{EffectPlugin or SourcePlugin}/Properties/Property/UserInterface[SliderType] 의 플러그인 설명 XML에 정의돼있습니다. 더 자세한 정보는 UserInterface 를 참고하세요. |
Align
형식:
이 속성은 다음의 제어 타입에 사용할 수 있습니다.
Caption
Edit
제어가 표시하는 문자를 정렬하는 데 사용합니다.
FontSize
형식:
각 숫자의 의미:
이 속성은 다음의 제어 타입에 사용할 수 있습니다.
Caption
제어가 표시하는 문자의 글자 크기를 지정하는 데 사용합니다.
TimeDisplay
형식:
각 숫자의 의미:
이 속성은, 다음의 제어 타입이 밀리세컨드를 나타내는 int32
타입의 속성에 연결될 때 사용할 수 있습니다.
Caption
속성 타입에 대한 더 자세한 정보는 속성 구성 요소 을(를) 참고하세요.
다음은 Microsoft Development Environment Dialog Editor에서 본 효과 플러그인의 샘플 대화창 리소스입니다.
다음은 대화창 리소스 코드입니다. 대화창의 다양한 임시 정적값에 사용될 실제 캡션 문자를 보여주고 있습니다.
주의: 위 코드에 나온 속성들 중 다음은 추후 버전에서 사용 중단될 예정입니다: 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()
:
다음은 Effect Editor에서 Wwise 사용자에게 보여지는 대화창의 모습입니다.
Wwise에서 자신의 대화창을 확인하려면,
이제 효과 플러그인의 대화창이 Effect Editor에 나타납니다. 효과(Effect)의 사용 방법에 대한 자세한 내용은 Wwise 문서를 참고하세요.
Wwise에서 자신의 대화창을 확인하려면,
이제 소스 플러그인의 대화창이 Contents Editor에 나타납니다.
Wwise에서 자신의 대화창을 확인하려면,
그러면 Property Editor가 자신의 플러그인 대화창을 보여줍니다.
문제가 발생할 경우 Wwise 음원 플러그인 및 효과 플러그인 문제 해결 안내 에 나와있는 도움말을 참고하세요.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요