MetaSoundとNiagaraの連携を試す
以前にあったUE5もくもく会で作成した、
MetaSoundのステレオ出力とAudioSpectrumのChannelIndexで、
左右に出力した音楽ごとにNiagaraのエミッタを動作させてみます。
こちらが今回の完成品になります。
UE5のもくもく会でずっとNiagaraとMetaSoundsの組み合わせで左と右で流れる音楽の違いによって異なるオーディオエフェクトみたいなものを作ってた。
— よしかた@準備中 (@yoshikata_game) 2021年5月30日
MetaSoundsについてはもっと研究が必要かなぁ~#metasound #Niagara pic.twitter.com/tJgKoaJSYc
※UE5の早期アクセス版を使用しています。
※UE5の早期アクセス版なので正規版では仕様が変更される可能性があります!!
音で動作するNiagaraエミッタの作成
まずは音で動作するエフェクトを作成していきます。
実際のNiagaraエミッタの作成はCGHOWさんの、
エフェクト作成を参考にさせていただきました。
エミッタのスポーンと更新のついてはこのような設定にしています。
パーティクルのスポーンについては以下のように設定しています。
今回MetaSoundと連携するパーティクル更新のモジュールになります。
色の変化やどの音の出力チャンネルでどう操作するのか設定します。
このモジュールについてはNiagaraエミッタのスクラッチパッドで作ります。
AudioSpectrumが音の可視化を行う関数になっています。
引数として3つあります。
Spectrum → 音の周波数の範囲
NormalizedPositionInSpectrum → 音の周波数の正規化
ChannelIndelx → 音の出力チャンネルのことです。
0が左耳・1で右耳の出力判定になっています。
今回表示するエミッタの作成はこちらで完了になります。
NiagaraSystemのエミッタ設定について
Niagaraエミッタを作成したらNiagaraSystemの設定をします。
NiagaraSystemの作り方がわからないという方は、
下記を参考にしてみると良いかと思います。
今回は先程作ったエミッタを2つ配置したNiagaraSystemを活用します。
※2つ目はコピーして貼り付けています。
※NE_MusicEffect001という右側のエミッタがコピーしたほうです。
コピーしているだけだと表示が同じようになってしまうため、
コピーしたエミッタの方でSCRATCHMODULEの設定を変更します。
ChannnelIndexを1 → MetaSoundのサウンド出力の右側のみの音で動くように設定
音に応じて変化する色のカーブ → わかりやすいように色を変更
これでNiagaraSystemの設定は完了になります。
MetaSoundの作成について
MetaSoundの作成の前にまずはPluginを有効にします。
検索項目で「metasou」ぐらいまで入力すると表示されます。
こちらを有効にしてエディタの再起動したらMetaSoundの作成が可能になります。
有効にしたらMetaSoundのファイルを作成します。
コンテンツブラウザを右クリック→サウンド→メタサウンドの選択で作成できます。
作成したら音楽ファイルもインポートします。
.wav形式の音楽をドラックアンドドロップすれば追加できます。
MetaSoundのファイルを開いたら右上の「メタサウンド」を選択して、
OutputFormatをStereoに設定します。
これで出力がステレオになるのでMetaSoundの流れを作成していきます。
流れとしては以下になります。
1.OnPlayからWavePlayerのPlayの箇所につなげる。
2.WavePlayerを追加する(右クリックのメニューでWavep検索ででます。)
3.WavePlayerのWaveAssetをそれぞれ先程のサウンドウェーブファイルを指定する。
4.ピンク色の出力タブに左右でそれぞれ出力します。
※WavePlayerのLoopのチェックをONにしてます(これでループ再生してくれます。)
MetaSoundの設定は完了になります。
実際に動作を確認する
実際に動かして見ましょう。
まずMetaSoundとNiagaraSystemをレベル上に配置します。
配置したらMetaSound編集画面のプレイで再生してみましょう。
まずは右側の出力のみで試します。
右側出力は緑と紫のカラーのサウンドエフェクトが動作します。
※音楽自体がステレオ音源なので両方から流れます。
※<注意>エフェクトの動画すべてで音楽が流れます。
左側の出力のみの場合だと赤とオレンジのサウンドエフェクトが動作します。
最後に両方合わせたエフェクトがこちらになります。
左右の音楽の出力にあわせてそれぞれ動作しています。
説明がだいぶ長くなりましたが以上になります。
次は公式ドキュメントなどでしっかり学んだ後なにか発見したら共有します!