UE4 SphereMaskでホラー的な表現を行う
今回はPostProcess Materialを使用して、
一定以上の距離から先が見えないといった処理を作成します。
作成にはUE4 4.19.2を使用しています。
First Person Templateを起動してください。
Materialを作成する
コンテンツブラウザを右クリックから
Materialを選択します。
Materialが作成できたら
名前を付けましょう。
MaterialをPostProcessVolumeに適応する
First Person Templateには最初から
PostProcess Volumeが配置されています。
PostProcess VolumeのPostProcess Material内の
Arrayに配列を追加して、先程作成したMaterialを適応します。
Materialを編集する
先程作成したMaterialを開きます。
まずは、Material DomainをSurfaceから
Post Processに変更します。
次にこのようにノードをつなげます。
Sphere MaskはAにチェックする座標の値、
Bに球体の原点の座標の値を入力し、
RadiusとHardnessに球体の半径と
トランジションエリアのサイズを指定します。
確認してみる
ここまでの処理が作成できたら実行して確認してみましょう。
プレイヤーを中心に半径1000の球体マスクが適応されました。
改良してみる
しかしこのままではプレイヤーや、
その他のオブジェクトが白く塗りつぶされたままになります。
そこでのように改良してみました。
LerpのAには0を入れ真っ黒になるようにします。
BにはScene Textureで本来描画されるべき色を入力します。
Alphaに先程作成したSphere Maskの値を入れ、
AとBの間を補間します。
確認してみる
確認してみると、マスクの範囲内には
正しい色が描画され、範囲外は黒くなりました。
また、Material Instanceなどで扱う場合は
RadiusとHardnessをパラメータにしておくと便利です。
パラメータを調整したものがこちらになります。
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パラメータはその名前の通り、
繋いだノードの音量を変更することができるパラメータです。
一番上に繋いだ音は小さい大きさで再生して、
真ん中に繋いだ音はそこそこの大きさで再生するといったことが可能です。
実際にノードを繋いだ場合
実際にノードを繋いだ場合このような形になります。
最もシンプルな形ですが、複数の音を再生し
それぞれの音量を調節するだけであれば、
これだけで実現可能です。