見出し画像

UE5 MetaSound 02 ~Sound WaveをRandomに再生する~ #UE5 #MetaSounds

【今回のポジティブワード】
行動するのに
完璧なタイミングはない
今すぐ始めること
毎日続けることで大きな差が生まれる
  そのままでいい 著:田口久人

毎日でも少しずつ前に進んでいる人は強いです。強いと分かっていれば後は真似すれば自分も強く成れる!
継続は力なり!

【前回】

前回【MetaSoundでSoundWaveアセットを再生する方法】について書きました。今回は【複数のSound Waveアセットをランダムに再生する方法】について書いてみます。
前回からの続きになります。

1.Randomに再生できるようにする

前回作成した[MS_Explosion]に[Explosion01]と[Explosion02]をランダムに再生できるように編集します。
まずは、[MS_Explosion]をMetaSoundエディタで開きます。

MS_Explosionを開きます

randomでノード検索を行い、[Random Get(WaveAsset:Array)]を選択します。

Random Get(WaveAsset:Array)を選択

[In Array]ピンからドラッグ&ドロップして、[Promote To Graph Input]を作成します。Blueprintでピンから変数を作成する時と同様のことを行います。ピンから作成すると変数の型を設定した状態で変数を作成できるので便利です。

In Arrayからドラッグ&ドロップ > Promote To Graph Inputを選択

Defaultの項目の[+]を2回クリックして配列を2つ追加します。
Index[0]に[Explosion01]、Index[1]に[Explosion02]を設定します。

配列を2つ追加し、Index[0]:[Explosion01]とIndex[1]:[Explosion02]を設定する

[Random Get(WaveAsset:Array)]を[Input:On Play]と[Wave Player]の中間で実行されるようにピンを繋ぎ直します。
・[Input: On Play] と [Random Get(WaveAsset:Array)の Next]
・[Random Get(WaveAsset:Array) On Next]と[Wave PlayerのPlay]
・[Random Get(WaveAsset:Array) Value]と[Wave PlayerのWave Asset]

Random Get(WaveAsset:Array)が実行されるようにピンを繋ぎ直す

PlayをクリックするとSoundsに設定したSoundWaveがRandomに再生されます。

Playを何度かクリックするとRandomにSoundWaveが再生されます

[Explosion01]と[Explosion02]の音が似ているので、Index[01]を[Floating_UI_Open]に設定して再生します。
全然違う音源をランダムに再生することでランダムに再生されているか確認しやすくなります。

似ていない音源を再生するようにしてランダム再生を確認する

ランダムに再生することが確認出来たら、Soundsの設定を元に戻します。

配列を2つ追加し、Index[0]:[Explosion01]とIndex[1]:[Explosion02]を設定する

SoundCueと比較するとMetaSoundは変数を使えるBlueprintに似ています。
MetaSoundを触るのであればBlueprintの変数定義について学習しておくことをお勧めします。

SoundCueのRandom再生する処理
MetaSoundのRandom再生する処理

2.次回は「Modulator」ノードを再現します

Randomノードまで再現できたので、次は「Modulator」ノードを再現します。

MetaSoundでModulatorノードはどうやって再現できるのか?

1つ1つSoundCueで出来たことを再現していけば、SoundCueもMetaSoundも両方理解できるので楽しいですね。
MetaSoundしか出来ないことを学習できるように継続して書いていけるように頑張ります!

【続き】


2021/12/9 訂正
Shuffle(WaveAsett:Array)ノードもある(古代の谷はShuffleノードを使用していました)



いいなと思ったら応援しよう!