새로운 플러그인을 만들기 위해서는 다음 명령을 실행한 후 프롬프트에 응답합니다.
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new
다음은 예제 세션입니다.
> python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new
plug-in type {source, sink, object_processor, mixer, effect}: effect
Do you need to do out-of-place processing? (no)
project name: MyNewFX
display name: (MyNewFX) My New FX
author: Audio Kinetic
description: A brand new effect plug-in
About to create project with:
{'author': 'Audio Kinetic',
'description': 'A brand new effect plug-in.',
'display_name': 'My New FX',
'name': 'MyNewFX',
'out_of_place': False,
'type': 'effect'}
Is this OK? (yes)
Generating project structure for MyNewFX
그러면 플러그인이 현재 작업 중인 디렉터리의 이름을 딴 새로운 디렉터리를 생성합니다. 이 디렉터리에는 만들 플러그인의 타입에 대한 스켈레톤이 들어있습니다.
MyNewFX/
├── FactoryAssets
│ └── Manifest.xml
├── Help
├── MyNewFXConfig.h
├── PremakePlugin.lua
├── SoundEnginePlugin
│ ├── MyNewFXFX.cpp
│ ├── MyNewFXFX.h
│ ├── MyNewFXFXFactory.h
│ ├── MyNewFXFXParams.cpp
│ ├── MyNewFXFXParams.h
│ └── MyNewFXFXShared.cpp
├── WwisePlugin
│ ├── MyNewFX.def
│ ├── MyNewFX.xml
│ ├── MyNewFXPlugin.cpp
│ ├── MyNewFXPlugin.h
│ └── Win32
│ ├── MyNewFXPluginGUI.cpp
│ └── MyNewFXPluginGUI.h
│ └── res
│ └── Md
│ └── en
│ └── Placeholder.md
├── additional_artifacts.json
└── bundle_template.json
이들 파일과 디렉터리의 목적은 다음과 같습니다.
- PremakePlugin.lua -> 플러그인의 특정 플랫폼 솔루션을 생성할 때 사용되는 사전 제작 파일
- ProjectNameConfig.h -> 플러그인의 전역 식별 변수가 들어있는 헤더 파일. 바로 여기에서 Company ID와 Plugin ID를 수정할 수 있습니다.
- WwisePlugin -> 플러그인의 저작 부분이 들어있는 디렉터리. Authoring 애플리케이션에서 동적 라이브러리로 사용됩니다.
- ProjectName.def -> 플러그인 라이브러리를 내보낼 때 사용되는 DLL 모듈 정의 파일 (Windows만 해당).
- ProjectName.xml -> 플러그인의 여러 부분에 대한 정보가 들어있는 설명 파일. 더 자세한 내용은 Wwise 플러그인 XML 설명 파일 을 참고하세요.
- ProjectNamePlugin.h/.cpp -> 플러그인의 백엔드 부분을 구현하는 클래스. 더 자세한 내용은 플러그인 라이브러리 형식 저작하기 를 참고하세요.
- Win32/ProjectNamePluginGUI.h/.cpp -> Windows에서의 Authoring에 대한 플러그인의 프론트엔드 부분을 구현하는 클래스. 더 자세한 내용은 플러그인 라이브러리 형식 저작하기 를 참고하세요.
- res/Md/en directory -> 플러그인의 속성에 대한 문서를 HTML 형식으로 빌드할 때 사용하는 파일.
- SoundEnginePlugin -> 플러그인의 사운드 엔진 부분이 들어있는 디렉터리. 사운드 엔진에 의해 게임에서 사용되며 정적 라이브러리 또는 공유 라이브러리로 빌드할 수 있습니다.
- PluginNameFactory.h -> 플러그인의 등록 매크로가 들어있는 팩토리 헤더.
- PluginNameParams.h/.cpp -> 플러그인 매개 변수 인터페이스. 더 자세한 내용은 매개 변수 노드 인터페이스 구현 을 참고하세요.
- PluginNameShared.cpp -> 플러그인의 동적 라이브러리 내보내기 심볼을 정의.
- PluginName.h/.cpp -> 플러그인의 사운드 엔진 부분을 구현하는 클래스. 자세한 내용은 오디오 플러그인의 사운드 엔진 부분 작성하기 를 참고하세요.
- FactoryAssets -> 플러그인과 함께 설치되는 모든 팩토리 에셋이 들어있는 디렉터리. 이 디렉터리에 있는 Manifest.xml 파일은 프로젝트에 포함시킬 모든 팩토리 에셋에 필요한 종속성을 지정합니다.
- Help ->
Authoring/Help/<PluginName>
폴더에 패키징 및 설치되는 플러그인 문서 파일이 들어있는 디렉터리.
- additional_artifacts.json -> 패키징할 추가 파일들의 경로를 나열하는 JSON 파일.
- bundle_template.json -> 플러그인 번들을 생성할 때 사용되는 플러그인 메타데이터가 들어있는 JSON 파일.
이제 멋진 플러그인을 직접 만들어볼 준비가 되었습니다! 오디오 플러그인을 작성하는 자세한 방법은 오디오 플러그인 을 참고하세요.
| 참고: 플러그인 툴은 플러그인 이름에 해시를 사용하여 Plug-in ID를 생성합니다. 만약 Company ID나 Plug-in ID를 변경하고자 할 경우, ProjectNameConfig.h, FactoryAssets/Manifest.xml, WwisePlugin/ProjectName.xml, 이 세 개의 파일에서 똑같이 변경해줘야 합니다.
|
| 참고: 동일한 설정을 사용하는 플러그인을 생성하고 작업을 자동화할 경우, 프롬프트를 명령줄 인자로 전달하여 미리 작성할 수 있습니다.
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new [--sink | --mixer | --object_processor | --source | --effect] [--out-of-place] [-a AUTHOR] [-d DESCRIPTION] [-t DISPLAY_NAME] [-n NAME] [--no-prompt]
각 전달인자의 목적은 new 명령의 도움말을 확인하세요.
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new -h
|
다음 섹션: Premake로 프로젝트 환경 설정하기