Wwise SDK 2019.1.11
|
プラグインメディアのシステムは、Wwiseアーキテクチャを利用して、プラグイン(エフェクト、ソース、シンク、ミキサーなど)からバイナリデータファイルをプロジェクトに保存できるようになっています。
プラグインでカスタムデータを使用する代わりにプラグインメディアを使用することには、幾つかの利点があります:
AK::Wwise::IAudioPlugin::SetPluginObjectMedia
関数をオーバーライドして、ポインターを後に使用するために保存します。この関数は、 Wwise プラグインを初期化する際に呼び出します (オーサリング側)。この関数を実装することで、 IPluginObjectMedia*
にインターフェースを受け取ることができ、その結果メディアファイルを管理することができます。
AK::Wwise::IPluginObjectMedia::SetMediaSource
を呼び出して、メディアファイルをインポートします。メディアをインポートすると、プラグインのオリジナルディレクトリにコピーされ、Wwiseがこれを完全に管理します。インデックス0でプラグインメディアファイルを追加するには:
後に、 AK::Wwise::IPluginObjectMedia::InvalidateMediaSource
を呼び出して、メディアファイルの変換を要求することができます。プラグインデータを変更する際、この関数をオーバーライドして、通知します。
詳細については AK::Wwise::IPluginObjectMedia
の機能についての文書を参照してください。
ランタイムのためにメディアを変換したい場合があるかもしれません。変換機能を実装するには、 AK::Wwise::IPluginMediaConverter
から継承し、インポートしたオリジナルのwavを、リアルタイムのコンポーネントに合わせた適切な形式に変換するために必要な機能 (ConvertFile
および GetCurrentConversionSettingsHash
を含む) を実装する必要があります。
一度 AK::Wwise::IPluginMediaConverter
に全ての機能を実装すると、 GetPluginMediaConverterInterface()
関数をオーバーライドして、Wwise にメディアを変換することを伝えることができます。
以下は、 AK::Wwise::IPluginMediaConverter
機能の実装例です:
プラグインの定義ファイルでは、 CanReferenceDataFile
要素に必ずtrueをセットしてください。
プラグインのリアルタイムコンポーネントで、AK::IAkEffectPlugin
を実装する場合には、 Init(...)
関数で、 AK::IAkEffectPluginContext
ポインターを受け取ります。AK::IAkEffectPluginContext
から、 AK::IAkPluginContextBase::GetPluginMedia
を呼び出して、変換したメディアを手に入れます。これはWwiseのSoundBankにパッケージされています.
注釈: これは、ランタイムに エフェクト プラグインメディアを使った例です。同時に、 ソース プラグインなど、ほかのプラグインタイプの使い方の参考にもなります。例えばソースプラグインの場合は、 AK::IAkSourcePlugin を実装し、 AK::IAkSourcePluginContext ポインターを受領することになります。 |
Wwiseでは、すべてのバス エフェクトはInit.bnkに保存されています。Init.bnkが大きくなりすぎるのを避けるため、プラグインメディアを自動的にInit.bnkに追加することはありません。手作業で、エフェクトシェアセットまたはバスを、別のSoundBankに追加する必要があります。