|
Wwise SDK 2024.1.9
|
プラグインメディアのシステムは、Wwiseアーキテクチャを利用して、プラグイン(エフェクト、ソース、シンク、ミキサーなど)からバイナリデータファイルをプロジェクトに保存できるようになっています。
プラグインでカスタムデータを使用する代わりにプラグインメディアを使用することには、幾つかの利点があります:
Object Mediaサービスをリクエストするには、あなたのプラグインのバックエンドで AK::Wwise::Plugin::RequestObjectMedia を派生させます。 これで、サービスのメソッドをアクセスするための、メンバー m_objectMedia が提供されます。オブジェクトメディアについてのノティフィケーションを、例えばユーザーがオブジェクトメディアを変更したときなどに受信するには、 AK::Wwise::Plugin::Notifications::ObjectMedia から派生させ、 AK::Wwise::Plugin::Notifications::ObjectMedia::NotifyPluginMediaChanged() メソッドをオーバーライドしてください。
AK::Wwise::Plugin::ObjectMedia::SetMediaSource() を呼び出して、メディアファイルをインポートします。 メディアをインポートすると、それはプラグインの "Originals" ディレクトリにコピーされ、管理は完全にWwiseが行います。 インデックス0でプラグインメディアファイルを追加するには:
プラグインデータが変更されたときにノティフィケーションを受け取るには、関数 NotifyPluginMediaChanged をオーバーライドします。NotifyPluginMediaChanged は、メディアソースに対する変更によってトリガーされます。
詳細については AK::Wwise::Plugin::ObjectMedia の機能についての文書を参照してください。
プラグイン定義ファイルがCanReferenceDataFileを使用する場合、インポートしたオリジナルのWAVメディアを、リアルタイムのコンポーネントに適したフォーマットへとランタイムに変換する必要があります。
[//]: # (WG-67845が解決した時にテキストの非表示を解除する)プラグインが代わりにCanReferenceSourceFileを使用する場合、Wwiseはオリジナルの通常の変換設定を使用するので、コンバージョン(変換)を自分で実装する必要はありません。
コンバージョン関数を実装するには、 AK::Wwise::Plugin::MediaConverter から継承し、必要な関数を実装します:
AK::Wwise::Plugin::MediaConverter::ConvertFile AK::Wwise::Plugin::MediaConverter::GetCurrentConversionSettingsHash 以下は、 AK::Wwise::Plugin::MediaConverter 機能の実装例です:
プラグイン定義ファイル(プラグインのXMLファイル)で、 CanReferenceDataFile 要素がtrueに設定されていることを確認します。
AK::IAkEffectPlugin を実装するときに、プラグインのSound Engine部分で、 Init(...) 関数の中に AK::IAkEffectPluginContext ポインタを受け取ります。AK::IAkEffectPluginContext から、 AK::IAkPluginContextBase::GetPluginMedia を呼び出して、変換したメディアを手に入れます。これはWwiseのSoundBankにパッケージされています.
![]() | 注釈: これは、ランタイムに エフェクト プラグインメディアを使った例です。ただし、 source プラグインなど別のプラグインタイプの使い方の参考にもなります。例えばソースプラグインの場合は、 AK::IAkSourcePlugin を実装し、 AK::IAkSourcePluginContext ポインターを受領することになります。 |
Wwiseでは、すべてのバス エフェクトはInit.bnkに保存されています。Init.bnkのサイズを最小限に抑えるために、プラグインメディアは、Init.bnkに自動的に追加されません。手作業で、Effect ShareSet、またはバスを、別のSoundBankに追加する必要があります。