このページは、プラグイン作成者を対象としています。Wwise LauncherとWwiseプラグインストアの両方に対応したWwiseプラグインのパブリッシュ関連の要件を、作成者に説明することが目的です。プラグイン作成そのものに関しては、独自プラグインの作成を参照してください。
完全に互換性のあるWwiseプラグインをパブリッシュするための必要な手順を、以下のセクションで説明します:
Wwise Launcherと互換性を保ち、そのプラグイン管理ワークフローを活用するには、プラグイン作成者はプラグインを非常に特殊な方法でパッケージングする必要があります。Wwise Launcherはバンドルを作業単位として、バンドルは例えばプラグインのインストールを進める上で必要なファイルやメタデータを全て含む、自己完結フォルダまたはアーカイブのことです。
![]() |
Note: Wwise サウンドエンジン プラグインの作り方 の、 ダイナミックライブラリ セクションで説明されているとおり、Wwise Unity Integrationであなたのプラグインが使えるようにするには、あなたのバンドルにダイナミックライブラリ(またはそのプラットフォームでこれに相当するもの)を入れる必要があります。 |
プラグインのパッケージング方法に入る前に、ここで使う用語の定義を最初に行います。用語に対して可能な設定値を下表で定義しますが、もし以下の1つがカギ括弧(<Term>)で囲われていれば、該当する数値に拡張できます。
|
|
Android iOS tvOS Mac Linux Windows_vc100 Windows_vc110 Windows_vc120 Windows_vc140 Windows_vc150 XboxOne UWP_vc140 UWP_vc150 PS4 Vita NX |
android-9_armeabi-v7a android-9_x86 android-21_arm64-v8a android-21_x86_64 iOS Linux_x32 Linux_x64 Mac NX32 NX64 PS4 tvOS UWP_Win32_vc140 UWP_Win32_vc150 UWP_x64_vc140 UWP_x64_vc150 UWP_ARM_vc140 UWP_ARM_vc150 Vita Win32_vc100 Win32_vc110 Win32_vc120 Win32_vc140 Win32_vc150 x64_vc100 x64_vc110 x64_vc120 x64_vc140 x64_vc150 XboxOne_vc140 XboxOne_vc150 |
プラグインバンドルとは、平面のディレクトリつまりアーカイブに以下のファイルを複数組み合わせたものです(bundle.js以外の必須ファイルはありません)。
|
プラグインの、バンドルディスクリプションファイル。 |
|||
|
オーサリングファイルが全て入ったパッケージで、バイナリやデータファイルも含みます。このパッケージは、実際には必要に応じて複数のファイルに分けることができます。例えば、Data、Binary、Documentationと分割できます。ただし、全てのパッケージが必ずインストールされます。 |
|||
|
プラットフォーム固有でないSDKファイルが全て入ったパッケージで、プラグインヘッダファイルも含む。 |
|||
|
あるデプロイメントプラットフォーム専用の、Wwise SDKプラグインファイル。
|
低:バーチャル時にすべての内部処理バッファがフラッシュされる。 |
![]() |
Note: アーカイブフォーマット バンドル内にあるアーカイブファイルは必ずTAR.XZ、またはZIP形式として、Wwise Launcherは、bundle.jsonファイルの中に指定されたメタデータを使って、これを抽出します。なお、バンドル自体もWwise Launcherに対して.tar.xzアーカイブとして(フォルダの代わりに)渡すことができます。 |
これらのアーカイブ内のフォルダ構成は、必ず以下のフォーマットに従うものとします。Wwiseオーサリングは、64-bitプラグインだけをサポートしているので、ご注意ください。Wwise 2017.2で、32-bitサポートを削除しました。
PluginName/ ├── bundle.json │ ├── Authoring.tar.xz │ └── Authoring │ ├── Help │ ├── Data │ | └── Factory Assets │ | └── PluginName │ └── x64 │ └── Release │ └── bin │ └── plugins │ ├── SDK.tar.xz │ └── SDK │ └── include │ └── AK | └── Plugin │ └── SDK_<DeploymentPlatforms>.tar.xz └── SDK └── <SDKPlatforms> ├── Release | ├── bin | └── lib ├── Debug | ├── bin | └── lib └── Profile ├── bin └── lib
以下は、Wwiseオーサリングと、Linux_x32やLinux_x64のWwise SDKプラットフォームをサポートするプラグインバンドルの例です。
PluginName/ ├── bundle.json │ ├── Authoring.tar.xz │ └── Authoring │ ├── Help │ | └── PluginName_UserGuide.pdf │ ├── Data │ | └── Factory Assets │ | └── PluginName │ | ├── Manifest.xml │ | └── ... │ └── x64 │ └── Release │ └── bin │ └── plugins │ ├── PluginName.dll │ └── PluginName.xml │ ├── SDK.tar.xz │ └── SDK │ └── include │ └── AK | └── Plugin | └── PluginName.h │ └── SDK_Linux.tar.xz └── SDK ├── Linux_x32 | ├── Release | | ├── bin | | | └── libPluginName.so | | └── lib | | └── libPluginNameFX.a | ├── Debug | | ├── bin | | | └── libPluginName.so | | └── lib | | | └── libPluginNameFX.a | └── Profile | ├── bin | | └── libPluginName.so | └── lib | └── libPluginNameFX.a └── Linux_x64 ├── Release | ├── bin | | └── libPluginName.so | └── lib | └── libPluginNameFX.a ├── Debug | ├── bin | | └── libPluginName.so | └── lib | └── libPluginNameFX.a └── Profile ├── bin | └── libPluginName.so └── lib └── libPluginNameFX.a
バンドル内にあるbundle.jsonファイルは、以下のように構成します(別途記載ない限り、全フィールドが必須です)。
{ "id": string, // このバンドルの固有ID。IDは、全ての既存プラグインやバージョンにおいて固有のIDとします。コンフリクト回避のために、会社名、プラルイン名、バージョン、ビルドナンバーなどをIDに使います。例: audiokinetic_convolutionreverb_2017.2.3_4877 "name": string, // このバンドルの名前としてWwise Launcherに表示される "description": string, // このバンドルの説明としてWwise Launcherに表示される "image": string, // このバンドルのイメージ図としてWwise Launcher で表示されるイメージのBase64版(PNG、JPEG、またはGIF) "vendor": string, // このバンドルのベンダー名としてWwise Launcherに表示される "type": "plugin", // バンドルのタイプで、必ず"plugin"とする // このバンドルタイプ専用のデータ "productDependentData": { // このバンドルをビルドした対象のWwiseバージョン。 // あなたのプラグインの互換性を確認するには、AK_OLDEST_SUPPORTED_WWISESDK_VERSIONを参照してください。 "targetWwiseVersion": { "year": number, "major": number } }, // Version of this bundle "version": { "year": number, "major": number, "minor": number, "build": number }, // List of files to be installed for this bundle "files": [ { "id": string, // Unique identifier "sha1": string, // SHA1 of the file "size": number, // Size of the file (in bytes) "sourceName": string, // Name of the file "uncompressedSize": number, // Uncompressed size of the file (in bytes) // List of groups for which this file should be installed (refer to the table below for the complete list of groups plug-ins have access to) "groups": [ { "groupId": string, // Unique identifier of the group "groupValueId": string // Unique identifier of the group's value field }, ... ] }, ... ], // List of EULAs associated with this bundle "eulas": [ { "displayName": string, // Name displayed in the Wwise Launcher for this EULA "displayContent": string, // Text displayed in the Wwise Launcher for this EULA "id": string // Unique identifier of this EULA }, ... ], // Labels displayed next to this bundle "labels": [ { "class": string, // Style class applied to this label (default, primary, success, info, warning, danger) "displayName": string // Name displayed in the Wwise Launcher for this label }, ... ], // Online documentation links for this bundle "links": [ { "displayName": string, // Name displayed in the Wwise Launcher for this link "id": string, // Unique identifier of this link "url": string // Target URL of this link }, ... ], // Local documentation files for this bundle "documentation": [ { "displayName": string, // Name displayed in the Wwise Launcher for this documentation file "filePath": string, // Path to the documentation file "language": "en" | "ja" | "zh" // Language of the documentation file }, ... ] }
![]() |
Note: 固有プラグインID ほかのプラグインとのコンフリクトを回避するために、以下の情報をプラグインの固有IDにエンコードすることが、必須です:
|
bundle.jsonで指定した全てのファイルが、1つ以上のグループにリンクしている必要があります。Wwise Launcherはこの情報を使って、特定のファイルをインストールする必要があるのかを状況に応じて判断します。
|
|
Packages |
Authoring |
DeploymentPlatforms |
(定義のDeploymentPlatforms列を参照。) |
前述の例に続き、以下は、Wwiseオーサリングと、Linux_x32やLinux_x64のWwise SDKプラットフォームをサポートするプラグインバンドルに対応するbundle.jsonであり、英語ドキュメンテーションが付随します:
{ "id": "PluginAuthor_PluginName_2017.1.0_0", "name": "PluginName", "description": "PluginName is an awesome Wwise plug-in that does XYZ.", "image": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", "vendor": "PluginAuthor", "type": "plugin", "version": { "year": 2017, "major": 1, "minor": 0, "build": 0 }, "productDependentData": { "targetWwiseVersion": { "year": 2017, "major": 1 } }, "files": [ { "id": "Authoring.tar.xz", "sha1": "2ab1fb750b2d4c6f9ad8f4c0b8966fe866a676c4", "size": 7450993, "uncompressedSize": 74509930, "sourceName": "Authoring.tar.xz", "groups": [ { "groupId": "Packages", "groupValueId": "Authoring" } ] }, { "id": "SDK.tar.xz", "sha1": "4e86453b2541ce4f3400778f932c850fd09cc0ff", "size": 503316, "uncompressedSize": 5033160, "sourceName": "SDK.tar.xz", "groups": [ { "groupId": "Packages", "groupValueId": "SDK" } ] }, { "id": "SDK_Linux.tar.xz", "sha1": "9cb1b7db241e476c4024d43aed46c2b17beee366", "size": 263682, "uncompressedSize": 2636820, "sourceName": "SDK_Linux_x32_Debug.tar.xz", "groups": [ { "groupId": "Packages", "groupValueId": "SDK" }, { "groupId": "DeploymentPlatforms", "groupValueId": "Linux" } ] } ], "eulas": [ { "displayName": "PluginName", "displayContent": "PluginName is provided for free on an \"as is\" basis. As such, ...", "id": "EULA" } ], "labels": [ { "class": "info", "displayName": "Alpha" } ], "links": [ { "displayName": "Release Notes", "id": "ReleaseNotes", "url": "https://www.releasenotes.com" } ], "documentation": [ { "displayName": "User Guide", "filePath": "Authoring/Help/PluginName_UserGuide.pdf", "language": "en" } ] }
各プラグインバンドルは、Wwiseの特定バージョンを対象としています。ただし、Wwiseの各バージョンは、それ以前のバージョンを対象としたプラグインに対応しています。
Wwiseのマイナーバージョン同士の互換性は、常に維持されます。例えば、2017.1.1と2017.1.2は、互いに互換性があります。また、メジャーリリース同士も互換性を保つ可能性がありますが、Wwiseのメジャーバージョンに合わせてプラグインもアップデートするつもりでいてください。Wwiseの現行バージョンと互換性のあるプラグインバージョンを確認するには、Release Notesを参照してください。
互換性が終了する度に、プラグインベンダーはバンドルの新バージョンをリリースする必要があります。Launcherは、互換性のないバージョンのプラグインをインストールすることを防ぎます。プラグインバンドルをaudiokinetic.comに登録してホストされると、互換性があればWwiseインストールの際に自動的にオプションとして表示されます。