버전

menu_open
Wwise SDK 2024.1.0
플러그인의 리소스 파일 생성하기

Resource 파일(확장자 .RC)은 플러그인이 사용자 정의 그래픽 인터페이스를 생성할 때 사용하는 리소스를 설명합니다. Resource 파일을 쉽게 관리하는 방법은 Visual Studio Editor 도구를 사용하는 것입니다. 이 도구를 사용해 위젯을 캔버스로 끌어 GUI를 빌드할 수 있습니다. 다음 섹션은 새로운 플러그인의 Resource 파일을 생성하는 방법을 설명합니다.

시작에 앞서 해당 개발 툴을 숙달해놓는 것이 좋습니다. 더 많은 정보는 개발 도구 사용하기 를 참고하세요.

Resource 파일 생성하기:

  1. 다음 명령을 실행해 플러그인을 생성합니다. 메시지가 뜨면 "effect (효과)" 타입 플러그인을 선택하세요.
    python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new
  2. 다음 명령을 실행하여 플러그인 디렉터리로 변경한 다음 premake 를 호출합니다.
    cd MyPlugin
    python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
  3. Visual Studio 2019에서 생성된 솔루션 파일(예: MyPlugin_Authoring_Windows_vc160.sln)을 엽니다.
  4. Resource View에서 프로젝트 이름을 선택하고 메뉴 바에서 Project > Add New Item을 클릭합니다. Add New Item 대화 상자가 열립니다.
  5. 왼쪽 창에서 Resource를 선택한 다음 가운데 창에서 Resource File (.rc)을 선택하고 Add를 클릭하세요. Resource.rc 파일이 생성되어 Resource View의 프로젝트 이름 아래에 나타납니다. 이 파일은 WwisePlugin 하위 디렉터리에 있습니다. Resource View에서 Resource.rc 파일을 우클릭한 다음 Add Resource를 클릭하세요. Add Resource 대화 상자에서 Dialog를 선택한 다음 New를 클릭합니다. 대화 상자 리소스가 생성되어 편집 창에 나타납니다.
  6. Properties 창에서 다음 값을 설정하세요.
    • Appearance/Border: None
    • Appearance/Clip Children: True
    • Appearance/Style: Child
    • Misc/Control: True
    • Misc/Control Parent: True
  7. 편집 창 왼쪽에 있는 Toolbox에서 원하는 위젯을 대화 상자로 드래그합니다. 완료되면 Save를 클릭하세요.
  8. 플러그인 디렉터리의 명령 프롬프트에서 다음 두 명령을 순서대로 실행합니다.
    python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
    python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build -c Release -x x64 -t vc160 Authoring
    첫 번째 명령은 프로젝트에 Resource.rc 파일을 포함하고, 두 번째 명령은 Resource 파일을 기반으로 resource.h 파일을 생성합니다.
  9. 플러그인의 Win32 하위 디렉터리에서 PluginNamePluginGUI.h 파일을 열고 다음 코드를 추가합니다.
    #pragma once
    #include "../MyPlugin.h"
    #include "../resource.h"
    class MyPluginGUI final
        : public AK::Wwise::Plugin::PluginMFCWindows<>
    {
    public:
        MyPluginGUI();
        HINSTANCE GetResourceHandle() const override;
        bool GetDialog(
            AK::Wwise::Plugin::eDialog in_eDialog,
            UINT& out_uiDialogID,
            AK::Wwise::Plugin::PopulateTableItem*& out_pTable
        ) const override;
        bool WindowProc(
            AK::Wwise::Plugin::eDialog in_eDialog,
            HWND in_hWnd,
            uint32_t in_message,
            WPARAM in_wParam,
            LPARAM in_lParam,
            LRESULT& out_lResult
        ) override;
    private:
        HWND m_hwndPropView = nullptr;
    };
    이 코드는 AK::Wwise::Plugin::GUIWindows에서 제공하는 메소드를 오버라이드하고 플러그인이 사용자 정의 인터페이스를 사용하도록 합니다.
  10. PluginNamePluginGUI.cpp 파일에 다음 코드를 추가합니다:
    HINSTANCE MyPluginGUI::GetResourceHandle() const
    {
        AFX_MANAGE_STATE( AfxGetStaticModuleState() );
        return AfxGetStaticModuleState()->m_hCurrentResourceHandle;
    }
    bool MyPluginGUI::GetDialog( AK::Wwise::Plugin::eDialog in_eDialog, UINT & out_uiDialogID, AK::Wwise::Plugin::PopulateTableItem *& out_pTable ) const
    {
        AKASSERT( in_eDialog == AK::Wwise::Plugin::SettingsDialog );
        out_uiDialogID = IDD_DIALOG1;
        out_pTable = nullptr;
        return true;
    }
    bool MyPluginGUI::WindowProc( AK::Wwise::Plugin::eDialog in_eDialog, HWND in_hWnd, uint32_t in_message, WPARAM in_wParam, LPARAM in_lParam, LRESULT & out_lResult )
    {
        switch ( in_message )
        {
        case WM_INITDIALOG:
            m_hwndPropView = in_hWnd;
            break;
        case WM_DESTROY:
            m_hwndPropView = NULL;
            break;
        }
        out_lResult = 0;
        return false;
    }
  11. 변경 내용을 저장하고 플러그인을 다시 빌드합니다. 이제 Wwise에서 Effect로 사용할 수 있으며 Wwise 오브젝트에 추가할 수 있습니다.
V1::GUIWindows GUIWindows
Latest version of the C++ GUIWindows interface.
Definition: GUIWindows.h:334

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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요