You can create plug-ins with a Python script included with Wwise. Before you do so, ensure that the \Scripts\Build\Plugins
directory is writable and not under source control (see Using Wwise with your source control system for more information).
若要创建新的插件,请运行以下命令并对提示作出回应:
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 -> 该 Premake 文件用于针对插件生成平台特定解决方案。
- ProjectNameConfig.h -> 该头文件包含插件的全局标识变量。可在此修改 Company ID 和 Plugin ID。
- WwisePlugin -> 该目录包含插件的设计工具部分。这一部分由设计工具用作动态库。
- ProjectName.def -> 该 DLL 模块定义文件用于导出插件库(仅限 Windows)。
- ProjectName.xml -> 该描述文件包含插件各个方面的相关信息。有关更多详细信息,请参阅 Wwise 插件 XML 描述文件 章节。
- ProjectNamePlugin.h/.cpp -> 该文件中的类用于实现插件的后端部分。有关更多详细信息,请参阅 设计工具插件库格式 章节。
- Win32/ProjectNamePluginGUI.h/.cpp -> 该文件中的类用于针对 Windows 上的设计工具实现插件的前端部分。有关更多详细信息,请参阅 设计工具插件库格式 章节。
- res/Md/en 目录 -> 该目录下的文件用于以 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 配置工程