若要创建新的插件,请在命令行中直接运行以下代码并对提示作出回应:
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 文件包含创建插件捆绑包时所用的插件元数据。
接下来便可开始编写插件了!有关如何编写音频插件的详细信息,请参阅 音频插件 章节。
![](/images/2021.1.14_8108/?source=SDK&id=images/Note.gif) |
备注: 插件工具使用插件名称的哈希值来生成 Plug-in ID。若用户想要更改 Company ID 或 Plug-in ID,则以下三个文件中均须执行相应的更改:ProjectNameConfig.h、FactoryAssets/Manifest.xml 和 WwisePlugin/ProjectName.xml。 |
![](/images/2021.1.14_8108/?source=SDK&id=images/Note.gif) |
备注: 若要使用相同的设置生成插件或想自动完成这项任务,则可通过将前述提问作为命令行参数传递来实施预填充。
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 配置工程