CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
ADX チュートリアル No.22:NiagaraでADXサウンドを制御する

パーティクルエフェクトの表現は千差万別あるため、今回はシンプルに花火エフェクトに対してADXサウンドを付与していきます。

こちらの花火エフェクトですが、まずは音を付与する個所を見極めていきます。
この花火エフェクトは、以下のような流れでエフェクトが遷移していきます。

  • 光華打ち上げ
  • 光華打ち上げ中
  • 光華炸裂
  • 光華消滅

このフローの中でサウンドが必要となってくる箇所は

  • 打ち上げ中の光華笛の音(ヒュ~)
  • 光華の炸裂音(ドンッ!) の二種類とします。
    ※シンプルにするため付与する音の種類を少なくしています。

それぞれのサウンドの挙動は以下のようになるようしていきます。

打ち上げ中の光華笛の音(ヒュ~)

  • 打ち上げ時から炸裂時まで音が鳴り続けるものとする

光華の炸裂音(ドンッ!)

  • 炸裂時に再生する

この仕様となるようNiagaraEditor上で設定していきます。

Niagaraモジュール/システムでNiagaraEditorを開く

今回はNiagaraSystemの内部エミッターに直接ADX2サウンドを再生する仕組みを作っていきます。

光華のエフェクトは下記のチュートリアルの成果物を利用します。
https://dev.epicgames.com/documentation/ja-jp/uefn/creating-fireworks-with-niagara-in-unreal-editor-for-fortnite

まずは作成した該当のNiagaraSystemアセットをダブルクリックしてNiagaraEditorで開きます。
すると次のような画面が表示されます。


この画像では打ちあがっていく際の球をHeadエミッター、軌跡を描くTrailエミッター、爆発のExplosionエミッターとします。

ADX2サウンドを再生する際には、Niagaraパラメータに変数をまず初めに追加します。
「システムの概要」ウィンドウ内の「Fireworks」を選択します。


パーティクル属性の+ボタンを押してデータインターフェース内にあるAtomPlayerを再生するサウンド分だけ用意します。今回は二種類のサウンドを再生するため二つ用意します。


Headエミッターに音付けを行うため、作成したAtomPlayer0、AtomPlayer1をパラメータ内からドラッグしてHeadエミッターの「パーティクルのスポーン」内AddVelocityinCone以下あたりに置きます。


Headエミッター内に配置したAtomPlayer0、AtomPlayer1を選択すると選択タブ内で再生したいサウンドのセットなどができるようになるため、再生するサウンドを指定します。


ここではAtomPlayer0に「打ち上げ中の光華笛の音(ヒュ~)」をセット、AtomPlayer1に「光華の炸裂音(ドンッ!)」をセットしています。

さて、まずはうち上がり中の光華笛の音を再生するために、Headエミッターの「パーティクルのスポーン」の+ボタンを押してPlayPersistentAtomを選択します。

注意
「Show all」がオフの状態ではAtom関係のカテゴリが非表示となります。必ずオンにして検索をしてください。



すると図のようになるはずです。
Headノードを選択し、ParametersのタブにあるPlayAudioというbool変数をHeadにDrag&Dropで配置します。


追加した後、PlayAudioの選択タブ内のチェックボックスを有効にします。


次にPlayPersistentAtomモジュールを選択して、選択タブ内のAtomPlayerという黄色いアイコン上にDrag&Dropをします。


ドラッグ&ドロップすると画像のようになるはずです。

ここまでが発音させるまでの流れになります。
しかしこれだけだと、光華笛は発音時のポイントから移動しない状態になってしまいます。

次は光華笛をパーティクルに追従するようにします。

追従の処理はHeadエミッターの「パーティクル更新」項目内に設定していきます。

「パーティクル更新」の+ボタンを押して「UpdatePersistentAtom」を選択します。

UpdatePersistentAtomモジュール作成後、UpdatePersistentAtomモジュール内のAtomPlayerに、パラメータタブからAtomPlayerをドラッグ&ドロップします。


ドラッグ&ドロップした後は、UpdatePesistentAtomモジュールのUpdateTypeをLocationになるよう変更します。


これにより光華笛の音は花火のパーティクルに追従するようになります。

次に、光華が破裂する際の音を追加します。
「Explosiion」ノードに上記と同様「PlayPersistentAtom」を追加し、爆発音を設定したAtomPlayer(画像では「Atom Player1」)を設定します。


これにより光華が打ちあがってから破裂するまでの一連の流れに対応したサウンド再生を実装できました。