バージョン

menu_open
警告:あなたのメジャーリリース ( 2023.1.7.8574 ) に該当する最新ドキュメンテーションが表示されています。特定バージョンのドキュメンテーションにアクセスするには、Audiokinetic Launcherでオフラインドキュメンテーションをダウンロードし、Wwise AuthoringのOffline Documentationオプションにチェックを入れてください。
Wwise Unreal Integration Documentation
Wwise Unreal Niagara Integrationを使用する

UnrealのNiagara VFXシステムを使用し、複雑なエフェクトシステムをビジュアルプログラミングパラダイムで構築できます。Niagaraシステムの詳細については Niagaraの概要をご参照ください。

Wwise Unreal Integrationは、Niagaraシステム内からWwise Eventのポストと更新を行うために必要なコードとNiagaraモジュールを提供します。

プラグインをアクティブ化する

プラグインはEngineまたはGameプラグインとしてインストールできます。このプラグインはWwise Unreal Engine Integrationプラグインとともに自動的にインストールされます。 プラグインをインストールした後、Unreal Editorでアクティブ化できます。アクティブ化するには、 Edit > Plugins を選択してから Wwise Niagara Integration を選択します。

Niagara Wwise Event Data Interface

このインテグレーションに含まれるWwise Event用のNiagara Data Interfaceを使用し、Wwise EventアセットとGame ParameterアセットをNiagaraシステム内で参照できます。このData InterfaceはNiagaraのCPUシミュレーションとのみ互換性があります。これを使用して、ファイアアンドフォーゲット(撃ちっ放し)Eventと、シミュレーションの進行に合わせてコントロール可能な永続的Eventをポストできます。永続的Eventの場合、データインターフェースが内部の「オーディオハンドル」を追跡し、これを使ってパーティクルインスタンスやエミッターインスタンスをポストされたEventにマッピングします。

注記: Wwise EventをGPUシミュレーションで使用するには、 パーティクルデータをブループリントにエクスポートする に記載されたExport Particle Data Moduleを利用します。

パラメータ:

  • Event to Post必須 ): ポストするAkAudioEventアセット。
  • Max Plays per Tickデフォルト: 10 ): 1ティック当たりにポストするEventの最大数を設定します。任意のティックでそれ以上のパーティクルがサウンドの再生を試みると、サウンドを上限に達するまで再生し、残りは廃棄します。
  • Stop when Component is Destroyedデフォルト: True ): Niagaraコンポーネントが破棄された時(パーティクルの死またはシステムの停止や破棄)にEventを停止します。ループするサウンドはコンポーネントが破棄されると常に停止されます。
  • Only active During Gameplayデフォルト: False ): アクティブなゲームプレイ中にのみサウンドを処理し、開かれたビューポート内でRealtime Renderingを使用している間は処理しません。これはプレビューウィンドウで作業していて、サウンドを聞こえないようにしたい時に便利です。
  • Game Parameters : 一連のGame Parameterで、Set Wwise Persistent Event Game Parameterモジュールで更新(インデックス経由)します。

Niagaraモジュール

Niagara Wwise Event Data Interfaceは、Eventをポストし、それらの再生パラメータやGameObjectパラメータを更新するための関数を実装します。これらの関数はNiagaraモジュールで利用できますが、Niagaraエミッターのスタックから直接利用することはできません。インテグレーションには一連の基本的なNiagaraモジュールが含まれ、これらの各関数をNiagaraスタックに公開します。

注記: これらのモジュールはプラグインの中に含まれるため、新しいモジュールをスクリプトに追加する時に、 Plugins フィルタを選択してモジュールを Add new Module 選択ボックスに表示させる必要があります。

Post Wwise Event at Location

パラメータ:

  • Post Event Conditionデフォルト: True ): Eventをポストするために満たす必要のあるブール条件。
  • Positionデフォルト: システム/エミッター/パーティクルの位置 ): ポストされたEventの空間的な位置。
  • Rotationデフォルト: 0 ): ポストされたEventの空間回転。
  • Wwise Event Data必須 ): Niagara Wwise Event Data Interface
    • Position Coordinate Spaceデフォルト: Simulation ): Positionの座標に使用する座標システム。Emitterの設定に合わせるにはSimulationに設定(この場合はWorldの座標がWwiseに送られる)、エミッターと相対的な位置を選択するにはLocalに設定、Worldの空間を使用するにはWorldに設定します。

動作:

このモジュールは、パーティクルやエミッターの存続期間中に管理する必要のない「ファイアアンドフォーゲット(撃ちっ放し)」Eventをポストします。 このモジュールはEventを、特定の場所にあり特定の向きを持つ一時的なGameObjectにポストします。

注記: 無限のデュレーションのEventは、StopAll()をコールしない限り停止できないため、この方法でポストできません。
警告: パーティクルシステムから短時間に多数のWwise Eventをポストすると、サウンドエンジンに過剰な負荷がかかる可能性があります。必ず、システムがポストできる1フレーム当たりのEvent数を制限するか、Wwiseプロジェクトで 再生制限を設定 してください。

Post Wwise Persistent Event

パラメータ:

  • Post Event Conditionデフォルト: True ): Eventをポストするために満たす必要のあるブール条件。
  • Positionデフォルト: システム/エミッター/パーティクルの位置 ): ポストされたEventの空間的な位置。
  • Rotationデフォルト: 0 ): ポストされたEventの空間回転。
  • Wwise Event Data必須 ): Niagara Wwise Event Data Interface で、更新すると永続的Eventを参照します。
    • Position Coordinate Spaceデフォルト: Simulation ): Positionの座標に使用する座標システム。Emitterの設定に合わせるにはSimulationに設定(この場合はWorldの座標がWwiseに正確に送られる)、エミッターと相対的な位置を選択するにはLocalに設定、Worldの空間を使用するにはWorldに設定します。

動作: AkComponentを特定の位置に、指定した回転で作成し、提示されたEventをこれに対してポストします。EventをポストしたAkComponentは、アップデートループ内のモジュールによって生きた状態が維持されます。このためパーティクルが死んだ場合やカリングされた場合、AkComponentは確実に破棄され、メモリがリークしません。 モジュールがUpdateスクリプトで更新されなければ(System、Emitter、 Particle)、AKComponentは破棄されます。この場合、1フレームの オーディオがポスト後に再生され、すぐに消去されます。 コンポーネントが破棄された時、それに対してポストしたEventが停止するかは、Niagara Wwise Event Data Interfaceの Stop when Component is Destroyed の設定によります。

このモジュールをNiagaraシステムの Update ステージに入れると、EventをPost Event Conditionを満たした時に1インスタンス(エミッターまたはパーティクル)当たり1回ポストし、AkComponentは生き続けます。ほかの永続的Eventモジュールをアップデートステージで使用している場合は、それらによってAkComponentが生き続けるため、Post Persistent Eventモジュールを、代わりにエミッタースタックの Spawn ステージに入れることができます。

注記: Persistent Eventを使用する時は、同じ永続的Eventを扱うモジュールのWwise Event Dataパラメータに、同じ属性を使うことが重要です。同じ属性を使うことで、各パーティクルに関連付けられたインスタンスデータをほかのモジュールで利用できるようになります。この属性が存在する可能性があるのはUserレベル、Systemレベル、Emitterレベルです。

以下のモジュールを使用して、永続的Eventの再生をコントロールしたり、AkComponentのGameObjectにGame Parameterを設定したり、Sound Engine内のGameObjectを更新するためにAkComponentの位置や向きを更新したりできます。

Update Wwise Persistent Event Position

パラメータ:

  • Positionデフォルト: システム/エミッター/パーティクルの位置 ): ポストされたEventの空間的な位置。
  • Wwise Event Data必須 ): Post Wwise Persistent Eventで設定したEvent Dataへのレファレンス。
    • Position Coordinate Spaceデフォルト: Simulation ): Positionの座標に使用する座標システム。Emitterの設定に合わせるにはSimulationに設定(この場合はWorldの座標がWwiseに送られる)、エミッターと相対的な位置を選択するにはLocalに設定、Worldの空間を使用するにはWorldに設定します。

動作:

AkComponentの位置を設定します。

Update Wwise Persistent Event Rotation

パラメータ:

  • Rotationデフォルト: 0 ): ポストされたEventの空間回転。
  • Wwise Event Data必須 ): Niagara Wwise Event Data Interface。

動作:

AkComponentの回転を設定します。

Set Wwise Persistent Event Game Parameter

パラメータ:

  • Game Parameter Indexデフォルト: 0 ): Wwise Event Dataの「Game Parameters」アレイにあるGame Parameterのインデックス。
  • Game Parameter Valueデフォルト: 0 ): 希望するGame Parameter値。
  • Wwise Event Data必須 ): Wwise Event Data Interfaceへのレファレンス。

動作:

AkComponentのGameObjectのGame Parameter値を設定します。

Stop Wwise Persistent Event

パラメータ:

  • Stop Conditionデフォルト: True ): trueの場合、Eventの再生を停止します。
  • Wwise Event Data必須 ): Wwise Event Data Interfaceへのレファレンス。

Pause Wwise Persistent Event

パラメータ:

  • Pause Conditionデフォルト: True ): trueの場合、Eventの再生を一時停止します。falseの場合、再生を再開します。
  • Wwise Event Data必須 ): Wwise Event Data Interfaceへのレファレンス。

アクティブなイベントを制限するためのベストプラクティス

Wwise EventをポストするNiagaraシステムをデザインする時はWwise Profilerを注意深く監視します。Max Plays per Tick パラメータを利用することで、生成されるパーティクル数が多過ぎる時にSoundEngineにかかる負荷を抑制することはできますが、オーディオEventがそれなりに長ければ、結局は同時に起きるボイスが多数発生する可能性があります。Wwiseプロジェクトにあるオブジェクトの再生制限の設定 を使用し、パーティクルシステムがスポーンできるボイス数にハードリミットを設定できます。

パーティクルデータをブループリントにエクスポートする

Export Particle Dataモジュールは、NiagaraシステムをWwise Sound Engineに接続するための代替案を提供してくれます。このモジュールは、任意のパーティクルデータを、Receive Particle Dataインターフェースを実装するBlueprintにをエクスポートします。これにより、Blueprintに公開されているすべてのWwise Integration機能を使用できるようになります。デフォルトで、Export Particle Dataモジュールは2つのベクトルと1つの浮動小数点値をエクスポートし、これらによって位置、速度、永続的ID、年齢(経過時間)など各パーティクルに関する情報を伝達します。

Wwise Niagaraサンプル

Wwise Integration Unreal Gymsプロジェクトは、前述のNiagara Wwise Event Dataインターフェースとそのモジュールの使い方を示すサンプルのNiagaraシステムと、Export Particle DataをCPUおよびGPUパーティクルシステムと使う方法を示すNiagaraシステムとBlueprintアクタを提供します。

これらのサンプルは、パーティクルの軌跡を追う永続的Eventをポストし、それらのEventにGame Parameterを設定し、パーティクルが衝突するとファイアアンドフォーゲットEventをポストします。

注記: サンプルのGPUパーティクルシステムは Generate Mesh Distance Fields" レンダリング設定を有効にする必要があります。

Wwise Niagaraモジュールを以前のUnrealバージョンで使用する

提供中のNiagaraモジュールはUnreal 5.X以降と互換性があります。もし Unreal 4をご利用の場合は、提供されているWwise Niagara関数は使用できますが、関連するNiagaraモジュールは再構築する必要があります。

これを行うには、タイプFX > Niagara Module Scriptのアセットを作成します。

Post Wwise Event at Location

Post Persistent Wwise Event

Update Persistent Event Position

Update Persistent Event Rotation

Set Persistent Event Game Parameter

Stop Persistent Wwise Event

Pause Persistent Wwise Event


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

サポートは必要ですか?

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

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

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

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

Wwiseからはじめよう