プラグインをビルドする
build
コマンドが、既に生成されたソリューション(プロジェクトフォルダにソリューションがなければ、 プリメイクでプロジェクトを設定する を参照)を使い、プラグインをコンパイルし、バイナリファイルをWwiseの実装にコピーします。 このコマンドは、プロジェクトフォルダ内からコールする必要があり、適切に機能するためには、いくつかの引数が必要です。これは典型的なビルドコマンドです:
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build -c Release -x x64_vc160 Authoring
これでプロジェクトがreleaseモード( -c
フラグ)でビルドされますが、ターゲットはx64のアーキテクチャとMSVCツールセットのvc160( -x
フラグ)となり、対象は現在のオペレーティングシステムのAuthoringプラットフォームとなります。引数に可能な値については、 build
コマンドのヘルプを調べてください。
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build -h
バイナリがWwiseインストールに直接アウトプットし、テストができる状態となります:
- SoundEngineプラグイン部分については "%WWISEROOT%/SDK/<Platform>/<Config>/{bin,lib}" へ。
- WindowsのAuthoringプラグイン部分については "%WWISEROOT%/Authoring/x64/<Config>/bin/Plugins" へ。
- Documentationプラグイン部分については "%WWISEROOT%/Authoring/Data/Plugins/<PluginName>/Html" へ。
ターゲットプラットフォームの追加
あなたのプラグインの開発中に、いつでもターゲットプラグインを追加できます。追加するには、プラットフォームをプリメイクしてビルドします。おそらくあなたは、少なくとも1つのプラットフォームをビルドしたいと考え、もし Authoring
向けにビルドした場合は、さらに Documentation
もビルドしたいと考えます。プロパティを選択したときに、 Property Help パネルに表示される、プラグインプロパティのためのドキュメンテーションが、これでインストールされます。
例えば、以下のコマンドラインを実行すれば、 Windows_vc160 と Authoring のプラットフォームのプリメイクとビルドが行われます:
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Windows_vc160
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Windows_vc160 -c Release -x x64
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Authoring -c Release -x x64_vc160
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Documentation
フックを使ってビルド後のアクションを実行する
特定のターゲットをビルドしたあとに、カスタムアクションを実行したいと思うことはよくあります。さらに細かく設定するには、 –build-hooks-file
フラグを build
コマンドに追加し、Pythonファイルを指定します。このファイルはUserが作成する必要があり、 new
コマンドで生成する最初のスケルトンには含まれていません。例えば、ビルド後のフックファイルは以下のような内容になります:
def postbuild(**kwargs):
WWISE_ROOT = kwargs.get("wwise_root")
PROJECT_ROOT = kwargs.get("project_root")
platform = kwargs.get("platform")
arch = kwargs.get("arch")
config = kwargs.get("config")
こちらは、Windows_vc160とAuthoringのプラットフォーム用に、ビルド後にフックをコールする例です:
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Windows_vc160 -c Release -x x64 --build-hooks-file=build_hooks.py
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Authoring -c Release -x x64_vc160 --build-hooks-file=build_hooks.py
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Documentation
build_hooks.py ファイルは、プラグインディレクトリのルート(root)に保存します。
こちらの例では、DLLファイル "library.dll" をプラグインディレクトリからWwiseインストールにコピーします:
import os
import shutil
import sys
def postbuild(**kwargs):
WWISE_ROOT = kwargs.get("wwise_root")
PROJECT_ROOT = kwargs.get("project_root")
platform = kwargs.get("platform")
arch = kwargs.get("arch")
config = kwargs.get("config")
platform_files = {}
if platform == "Authoring_Windows":
platform_files["Authoring/x64/{}/bin/plugins".format(config)] = [
"Prebuilt/x64/{}/library.dll".format(config)
]
elif platform == "Windows_vc160":
platform_files["SDK/{}/{}/bin".format(arch, config)] = [
"Prebuilt/{}/{}/library.dll".format(arch, config)
]
for dest, files in platform_files.items():
dest = os.path.join(WWISE_ROOT, dest)
for file in files:
file = os.path.join(PROJECT_ROOT, file)
try:
shutil.copy(file, dest)
print("POSTBUILD HOOK: Copied {} to {}".format(file, dest))
except IOError:
sys.stderr.write("POSTBUILD HOOK: Failed to copy {} to {}\n".format(file, dest))
プラグインの開発が終わってから、最後に行う手順が、プロジェクトをWwise Launcherからすぐにインストールできるフォーマットにパッケージすることです。 詳細は、 プラグインをWwise Launcher用にパッケージングする をご覧ください。
次のセクション: プラグインをWwise Launcher用にパッケージングする