関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2018.02.07UE4UE/ Audio
エンジニアの加藤です。
今回は、SimpleSound という Audio 関連要素について紹介したいと思います。
SimpleSound は、再生のたびに登録された複数の SoundWave の中からどれか 1 つを重み付きランダムで選択して再生する SoundBase クラスです (名前からは挙動が想像しにくいですね……)。
UE 4.16 から追加された Sound Utilities Plugin を有効にすると使えるようになります。記事執筆時点では Sound Utilities Plugin はまだ β 版扱いですのでご注意ください。
まず、Content Browser 上で任意の SoundWave を (複数) 選択します。
右クリックし、Create Simple Sound を選択してください
(このメニュー項目が見えない場合は、選択しているものが SoundWave であることと、Sound Utilities Plugin が有効になっていることを確認してください)。
これで SimpleSound が作成されます。
作成した SimpleSound をダブルクリックして開きます。
Variations カテゴリの Variations に、SimpleSound 作成時に選択していた SoundWave が設定されていることがわかります。これが再生候補となる SoundWave となります。後から SoundWave を追加・削除することも可能です。
Probability Weight は、ランダム選択時の重みの設定です。この値を高くするほど再生されやすくなります。上の画像の設定の場合、EnterPlayInEditor の方は 4.0 / (4.0 + 1.0) * 100 = 80% の確率で再生されます。
Volume Range は音量の範囲、Pitch Range は音の高さの範囲の設定です。上の画像では、Enter_Play の方の Volume Range が [0.8, 1.0] となっているので、Enter_Play が再生される場合は、元より少し小さい音量で再生される可能性があります。
SimpleSound は SoundBase ですので、SoundWave や SoundCue と同じような方法で再生させることができます。
例えば以下の画像のように、AudioComponent の再生対象として SimpleSound を設定することが可能です。
また、やはり SoundWave などと同じように、Content Browser 上で再生ボタンをクリックすることで音の確認ができます。
その他、Unreal Audio Engine を有効にすることで Effect をかけることもできます。
SoundCue の扱いに慣れている人であれば、以下の画像のように、Modulator Node や Random Node を使って SimpleSound と同等のものを実装できることにお気づきかと思います。
しかし、SoundCue で実装した場合は各 Node に設定が散ってしまいますし、再生候補となる SoundWave が増えてくると Node のセットアップ自体が大変になります。
SimpleSound でできる範囲で事足りるのであれば、SoundCue ではなく SimpleSound を使った方が、素早く作成・設定でき、作業効率が向上するかと思われます。
地味な機能ではありますが、複数音色のランダム再生は使用頻度の高い処理だと思いますので、上手く活用してみてください。