最初に
どうも、ろっさむです。
今回はサウンドキューを使用してSEをランダムに鳴らす場合の作成方法を自分用にまとめておこうと思います。
作業環境は以下の通りです。
- UE4.26
- Windows 10
また、今回主に参考とさせていただいたのは以下のUdemy講座となります。
Unreal Engine C++ Developer: Learn C++ and Make Video Games
手順
サウンドキューを作成する
まずはサウンドキューを入れておく用のフォルダ SFX
を作成します。
フォルダ内にて右クリック(又は「Add New」)をして、メニューから**Sounds > Sound Cue
**を選択します。
ここではライフルのショット音用のサウンドキューを作成するため、名前を SE_RifleShot_Cue
とします。
SEをランダム再生する
エディタ上で右クリックを行って、Wave Player
ノードを作成します。
作成したノードを選択して、Details
から再生したいSEのアセットを設定し、Looping
がオフになっていることを確認します。
次に、Random
ノードを作成します。
今回は6つの音を繋げたいためAdd input
で入力ピンを増やしておきます。
このRandom
ノードのDetails
では、サウンド毎の選択される確率を設定できたり、メモリ削減用のオプションを確認できます。
**Randomize Without Replacement
**はtrue
の場合、入力に繋がれているサウンドが全て再生されるまでは再生されたサウンドが再度再生されることはありません。例えばランダムで1つめのSEが再生された場合、次に再生されるのは残りの5つのSEの中からどれかになります。
入力ピンに全てのSEを繋いでから、Random
からOutput
へ繋ぎます。
これでランダムに鳴るようにはなりました。
ピッチをランダムにする
更に音にランダム性をつけるために、SEのピッチを変更します。
ここのPitch Min
やPitch Max
で範囲を指定することで、ランダムなSEに更に範囲内のランダムなピッチ値を設定することができます。必要であればVolume
に関する項目も変更してください。
設定後はRandom
ノードの出力からModulator
ノードへ繋げます。
これで少ないアセットでもバリエーションに富んだSEを用意することができるようになりました。