バージョン

menu_open
Wwise SDK 2019.2.15
プロジェクトを複数のWwise対応プラットフォーム向けにビルドする

プラグインをビルドする

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 コマンドで生成する最初のスケルトンには含まれていません。例えば、ビルド後のフックファイルは以下のような内容になります:

# build_hooks.py
# ポストビルドフックを定義し、このファンクションはプラグインにコールされる
# ターゲットのビルドが完了するたびに、開発ツール
def postbuild(**kwargs):
WWISE_ROOT = kwargs.get("wwise_root") # Wwiseインストールのルートへの絶対パス
PROJECT_ROOT = kwargs.get("project_root") # プラグインディレクトリのルートへの絶対パス
platform = kwargs.get("platform") # Name of the platform that was built (Authoring, Windows_vc140, etc.)
arch = kwargs.get("arch") # The architecture that was built (Win32_vc140, x64_vc140, etc.)
config = kwargs.get("config") # The configuration that was built (Debug, Profile, Release)
# Put your code here
# ...

こちらは、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")
# Build a multimap of destination folders => files to copy
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)
]
# Copy all of the file to their destination
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用にパッケージングする


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう