UE4 Sound CueのSwitchノードについて
前回Branchノードの解説をしました。
その時にSwitchノードの話題を出したので、
今回はSwitchノードの解説を行っていきます。
Switchノードは複数の再生するサウンドを
条件によって変更できるノードです。
Branchノードの2択じゃない版ですね。
具体的にはBool型ではなく、
Integerの整数値のパラメータになります。
実際に足音を床の材質に合わせて変更する際などに、
よく使用するノードです。
サウンドクリエイターの方々が、
自分で条件を定義したいときなどは便利だと思います。
検証にはUE4 4.19.1を使用します。
このノードはSound Cueエディタの右側の一覧からD&Dするか、
右クリックから検索で出すことができます。
正直Branchノードとあまり変わらないのですが、
パラメータをBPから変更し、
再生するサウンドを動的に変更するためのノードです。
Branchノードと違う箇所は、
インプットピンを増やせるというところです。
右クリックからインプットを追加、
もしくはノード右下のインプットの追加ボタンを押すことで
インプットピンを追加することができます。
増やせました。
インプットピンを削除するには、
ピンを右クリックからインプットを削除を選択すれば、
ピンを削除できます。
Switchノードには
・Int Parameter Name
というパラメータがあり、
この名前を頼りにBPのパラメータを変更します。
BPではSpawnしたSound Cueのデータ、
もしくはAudio Componentのリファレンスから
Set Integer Parameterを呼び出し、
パラメータの名前を入力することでパラメータの変更が行えます。
実際に繋いだ例
参考までにどうぞ(古いけど)
足音をSwitchノードで切り替える処理について
UE4 Sound CueのBranchノードについて
正直Sound Cueのノードは使い方によっては、
面白いものが非常に多くて楽しいです。
今回はBranchノードの解説を行います。
簡単にいうとifノードになります。
特定の条件(このノードはBool型)によって
再生するサウンドを変更するものです。
Sound Cueではパラメータ周りが
初見さんお断り的な感じがするので、
あまり使われているイメージがないです。
方法の一つとして知っておくといいんじゃないでしょうか?
検証にはUE4 4.19.1を使用します。
このノードはSound Cueエディタの右側の一覧からD&Dするか、
右クリックから検索することで出すことができます。
パラメータをBPから変更し、
再生するサウンドを動的に変更することができるノードです。
似たようなノードにSwitchノードがあります。
こちらは2択ではなく複数の中から選択できるものです。
状況に応じて使い分けてください。
Branchノードには
・Bool Parameter Name
というパラメータがあり、
この名前を頼りにBPのパラメータを変更します。
感覚的にはDynamic Material Instanceの
パラメータ変更に近いと思います。
BPではSpawnしたサウンドデータ、もしくは
Audio Componentのリファレンスから
Set Boolean Parameterを呼び出し、
パラメータの名前を入力することでパラメータの変更が行えます。
実際に繋いだ例
これで動くのですが、
パラメータが未設定ですって書かれると
どうしようもない不安に駆られます。耐えましょう。
UE4 Sound CueのConcatenatorノードについて
Sound Cueのノードリファレンス少なくて、私悲しい。
今日もSound Cueのエディタ内で使用できる
ノードの解説を行ってきます。
今回はConcatenatorノードについてです。
Concatenatorノードは繋いだWaveファイルの
連続再生に使用するノードです。
Sound Cueの中で使用頻度はかなり低いほうだと思います。
実況用のボイスの再生などに使えると思います。
Randomノードなどとも相性が良さそうですね。
検証にはUE4 4.19.1を使用します。
このノードはSound Cueエディタ右側の一覧からD&Dするか、
右クリックから出すことができます。
サウンドのプレイリストをSound Cue上で作成して、
一つのSound Cueで連続再生を行う際などに使用します。
注意としては、サウンドの連続再生は自動で行いますが、
次に再生するサウンドへのブレンドなどはしません。
なのでサウンドとサウンドの繋ぎ目がおかしくなることもあります。
そういう場合は上手いことクロスフェード処理などを挟んでください。
MixerやRandomと同じように、
右クリックからインプットを追加、
もしくはノード右下のインプットを追加ボタンを押すことで、
インプットピンを追加することができます。
インプットピンを削除するには、
ピンを右クリックからインプットを削除を選択すれば、
ピンを削除できます。
Concatenatorノードは
・Input Volume
という配列のパラメータを持っています。
再生する際の音量を制御することができます。
ただしInput Volumeの値が0の場合、
そこに繋がっているサウンドは無いものとして扱われ、
処理が飛ばされます。(つまり再生されません)
実際に繋いだ例
シンプルにこんな感じでどうでしょう?
上のサウンドが再生終了したら、下のサウンドが再生されるといった
処理の流れになります。
UE4 Sound CueのWave Playerノードについて
今回もSound Cueエディタ内で使用できる
ノードの解説を行っていきます。
タイトル通りWave Playerノードについてです。
Wave Playerノードは再生したいWaveファイルを設定することで、
Sound Cueがどの音を再生するのかを指定できるノードです。
Sound Cueを使用するにあたって、
最も使用頻度の高いノードだと思います。
検証にはUE4 4.19.1を使用します。
Sound Cueでこのノードを使用する場合は、
右側のWave PlayerからD&Dするか
コンテンツブラウザからWaveファイルをD&Dすることで、
出すことができます。
コンテンツブラウザからノードを出した場合は、
Sound WaveパラメータにD&Dした、
Waveファイルの情報が自動的に入るようになっています。
Wave Playerノードのパラメータは、
・Sound Wave
・Looping
の2種類があります。
Sound Waveパラメータは、
再生したいWaveファイルの情報を格納します。
Loopingパラメータは、
再生するWaveファイルが、ループ再生するかどうかの
設定です。チェックが入っている場合にループします。
デフォルトはオフです。
実際にノードを繋いだ例
最もシンプルな例ですが、
Sound Cueが持っている、Sound Classや
各種エフェクトの設定が行えるなど、
Waveファイルをそのまま再生するより
多彩な設定が可能となります。
UE4 Sound CueのRandomの使い方
UE4のSound Cueには
23種類のノードが存在します(2回目)
今回はRandomノードについて解説します。
検証にはUE4 4.19.1を使用します。
Randomノードとは
Randomノードは、繋がっているSound Waveファイルノードを
ランダムに取得して再生するものです。
複数の音からランダムに再生したい場合に使用するノードです。
Mixerノードなどと同じく、
右クリックからインプットピンの追加が可能です。
Inputピンを追加した場合はこのようになります。
また追加できるピンに上限はありません。
ノード右側のインプットを追加の+マークをクリックしても、
インプットピンを追加することができます。
インプットピンを削除する場合は、
ピンを右クリックからインプットの削除で削除可能です。
Randomノードのパラメータには
・Weights
・Preselect at Level Load
・Redomize Without Replacement
の3つがあります。
Weightはそのサウンドが選ばれる確率を指定します。
各入力サウンドのためのウェイトリストです。
Preselect at Level Loadはレベルのロード時に選択され、
プレイセッション中に常に使用されるSound Waveノードです。
0以上の場合、各レベルが入力数をロードした直後に
ランダムに選択され、他は取り除かれます。
ランダム化した大規模Cueのメモリ使用量を削減できます。
Redomize Without Replacementは、代替あり
または代替なしでランダム化するかどうかの設定です。
tureの場合、入力サウンドが全部再生されるまで入力Sound Waveノードが、
再度再生されることはありません。
すべてのサウンドが確実に再生されるようになります。
実際にノードを繋いだ場合
この場合どちらかのSound Waveが再生されます。
UE4 Sound CueのMixerの使い方
UE4のSound Cueには
23種類のノードが存在します。
今回はその中のMixerノードについて解説します。
検証にはUE4 4.19.1を使用します。
Mixerノードとは
Mixerノードは複数のSound Waveを同時に発生させることができるノードです。
イメージ的には音を混ぜて再生するという感じでしょうか。
ひとつのSound Cueから複数のSound Waveを再生したい場合に、
非常に有効なノードになります。
Mixerノードを右クリックからインプットピンを追加すると、
2つ以上のSound Waveを同時に発生することができます。
Inputピンを追加した場合はこのようになります。
また追加できるピンに上限はありません。
追加したピンを削除する場合は、
ピンを右クリックからインプットの削除で削除可能です。
Mixerノードを選択した際に表示される
Input Volumeパラメータはその名前の通り、
繋いだノードの音量を変更することができるパラメータです。
一番上に繋いだ音は小さい大きさで再生して、
真ん中に繋いだ音はそこそこの大きさで再生するといったことが可能です。
実際にノードを繋いだ場合
実際にノードを繋いだ場合このような形になります。
最もシンプルな形ですが、複数の音を再生し
それぞれの音量を調節するだけであれば、
これだけで実現可能です。
UE4 ポストプロセスのパラメータを動的に動作する
ポストプロセスはゲーム内の見た目を変更するのに
非常に有効な手段です。
今回はそのポストプロセスのパラメータを
ゲーム内で変更したいと思います。
バージョンは4.19を使用します。
準備
今回はコミュニティサンプルの
SunTempleプロジェクトを使用しています。
ポストプロセスマテリアルを作成する
コンテンツブラウザを右クリックから
マテリアルを選択してください。
適当な名前で保存します。
マテリアルパラメータコレクションを作成する
コンテンツブラウザを右クリックから
マテリアル・テクスチャ→マテリアルパラメータコレクションを選択します。
こちらも適当な名前で保存します。
マテリアルパラメータコレクションを編集する
一般的には汎用のパラメータなどを追加しますが、
今回は何も考えずに使用するパラメータを全て追加しました。
マテリアルを編集する
Sphere Maskを使用したポストプロセスマテリアルを作成します。
ポストプロセスを適応する
Sun TempleにはPostProcessVolumeがいくつか
配置されているので、Global PostProcessに先程作成した
ポストプロセスマテリアルを適応しましょう。
ブループリントを追加する
レベルブループリントを開きます。
Event BeginPlayからこのように処理を追加します。
タイムラインはこんな感じです。
Radiusのパラメータを除々に広げていくような処理です。
確認する
Dynamic Material Instanceの方がいいかも...