82.主なサウンドノード12個を紹介!(サウンドキュー)
😺では、今回はサウンドキューで使用するサウンドノードについて紹介します。以前のページ「サウンドキューとは?基本的な使い方」でサウンドキューの使い方を紹介しましたが、今回はそのサウンドキュー内で使用する主なサウンドノードについて解説していきます。
https://scrapbox.io/files/65ce1f58baaf8b0023b31518.jpg
事前準備
何でも良いですがスターターコンテンツ含むサードパーソンテンプレートを使用していきます。
https://scrapbox.io/files/65cde40ab6af9e00255de2b6.jpg
コンテンツブラウザでサウンド > サウンドキューを新規作成しておきます。
https://scrapbox.io/files/65ce20dcefc8fe002410e62c.jpg
ではサウンドキューを開いてサウンドノードを編集する準備は整いました。
https://scrapbox.io/files/65ce20e840de8e0024da746b.jpg
では、主に使用するであろうサウンドノードから紹介していきます。なお作成したサウンドキューはブループリントから再生したり、レベル上で再生させたりできます。具体的な再生方法については後のページから紹介していきます。
主に使用するサウンドノード12個を紹介していきます
サウンドノードはアウトプットノード合わせて全部で23個しかなく、今回はその内の主に使用するサウンドノード12個を紹介していきます。最も基本的なサウンドノードから順に紹介していきます。
①Output(繋げた音を出力する)
Outputノードでは繋げた音を出力するためのノードです。デフォルトでサウンドキュー内に存在しており削除する事ができません。サウンドノードの終着点として接続する場所になります。
https://scrapbox.io/files/65ce21ea634dd60024cf46d5.jpg
②Wave Player(音を選択する)
WavePlayerノードは鳴らす音を選択するためのノードです。例えば設定する音に「Collapse01」を設定するとCollapse01の音を鳴らすサウンドキューが再生されます。
https://scrapbox.io/files/65ce21f2832d20002594bf46.jpg
設定ではSoundWaveで鳴らす音を選択して、loopingでループ再生させる事ができます。
https://scrapbox.io/files/65ce223b634dd60024cf4893.jpg
③Looping(ループさせる)
https://scrapbox.io/files/65ce2246845a350024397bb1.jpg
Loopingはその名の通りループさせるためのノードです。上の場合だと、サウンドをループさせて鳴らします。
https://scrapbox.io/files/65ce2273832e620024b9a95f.jpg
LoopCountでループする回数を入力できます。1と入れると合計一回しか再生されません。LoopIndefinitelyにチェックを入れると無限にループし、外すと回数を指定できます。※また、WaveplayerでLoopingにチェックを入れると入力した回数に関わらず無限にループするので注意が必要です。
④Delay(遅延させる)
https://scrapbox.io/files/65ce22c60d782300246c3bb1.jpg
Delayノードは遅延させる時間を決定するノードです。上の場合だ何秒か後に音が再生されます。
https://scrapbox.io/files/65ce22e8a7822400254f9975.jpg
例えば上の様にDelayMinに1,DelayMaxに0と入力した場合、1秒後に再生されます。DelayMinに1,DelayMaxに3と入力した場合1~3秒の間にランダム再生されます。
⑤Random(ランダムで再生させる)
https://scrapbox.io/files/65ce230e2c0c22002560a6ea.gif
Randomノードは繋げたWavePlayerからランダムに再生します。この場合↑だと三つのWevePlayerからランダム再生されます。
https://scrapbox.io/files/65ce232948050300230bd910.jpg
Weightでそれぞれ繋げたサウンドの確率を調整します。0にすると完全にそのピンのものは再生されなくなり、高くするほど再生する確率は高くなります。Randomize Withhout Replacementはチェックを入れると連続で同じ音を再生しなくなります。
⑥Modulator(ランダムな音量と音程)
https://youtu.be/DfODOG4ENSM
Modulatorノードは、ランダムな音量とピッチ(音の高さ)で再生する事ができます。
https://scrapbox.io/files/65ce23670e2842002370ecc6.jpg
Maxの最小値とMinの最大値を設定すると、その間でランダムの値で音を鳴らします。ボリュームまたはピッチを一定のレベルに保つには、Min と Max に同じ値を設定します。例えばこのModulatorノードは足音など毎回異なる音を再生させたい時に使用します。
⑦Mixer(同時再生)
Mixerノードは同時に音を鳴らすためのノードです。
https://scrapbox.io/files/65ce2381baaf8b0023b33bb4.jpg
https://youtu.be/gh660xzvEq4
音を同時に再生でき、上の動画では火の音と煙の音を同時に再生させています。シンプルなノードですね。
⑧Concatenator(連続再生)
https://youtu.be/Y1Z8vPeKk60
Concatenatorノードはサウンドの連続再生に使用します。このノードは連続再生処理を行います。設定項目のInputVolumeではそれぞれの音量を調整できます。Concatenateは英語で連鎖、連結という意味です。なお以前までは連続再生の間に時間が空くという仕様があったようですが、その点は修正され隙間なく連続再生されます。
⑨Doppler(ドップラー効果)
https://youtu.be/dNXrAl35OUM
Dopplerノードは、距離が近づくにつれてサウンドのピッチが上がり、遠ざかるとピッチが下がるドップラー効果を発生させます。例えばパトカーや救急車が近くにいる時と、遠くにいる時に音の聞こえ方が違います。それをドップラー効果といいます。
Dopplerintencityでドップラーの強さ、UseSmothingにチェックを入れるとピッチが変化する速度をSmoothing Interp Speedで決定できます。
😺では、これからブループリントから調整できるサウンドノードを紹介していきます。
⑩Wave Param(ブループリントから音を決定する)
ここまではWavePlayerノードでサウンドキュー内で鳴らす音を選択してきましたが、このWaveParamノードを使えばブループリントからサウンドキューで鳴らす音を設定する事ができます。
簡単な実装手順
WaveParamノードをパラメータを作ってブループリントからそのパラメータを指定すれば再生する音を設定する事ができます。実際に行ってみます。
まずNewSoundCueというサウンドキューを用意します。
https://scrapbox.io/files/65ce23f9539cdc00258325d1.jpg
そこにWaveParamノードを作成して、選択した状態でWaveParameterNameを「sound」にします。
https://scrapbox.io/files/65ce244ed7984200263c3c45.jpg
レベルブループリントで以下のノードを作成します。SpawnSound2DでNewSoundCueのサウンドキューを設定します。SetWaveParameterノードを繋ぎ、InNameに「sound」、InWaveにサウンドを適当にCollapse01を設定します。
https://scrapbox.io/files/65ce245fc296a900255d5cdd.jpg
ノード解説
まずSpawnSound2Dでサウンド(オーディオコンポーネント)を作成しました。その後、そのサウンドキューで鳴らす音をSetWaveParameterノードで「Collapse01」を設定しています。なので再生される音は「Collapse01」になります。
プレイしてみると本来であれば、サウンドキューにはWavePlayerノードで再生する音を設定していないので音は何も再生されないはずですがSetWaveParameterノードによってCollapse01が設定されているためCollapse01が再生されます。
😺WaveParamというサウンドノードはブループリントから鳴らす音を設定したい時に使用します。ただ基本的には使用方法がわかりやすいWavePlayerノードで再生する音を決めると良いでしょう。
⑪Branch(trueまたはfalseでの分岐)
Branchノードはtrueとfalseに音を設定してブループリントからどちらか一方を再生する事ができるようになるノードです。実際に作ってみましょう。
Branchノードを作成したらそれぞれのピンにWavePlayerを繋ぎます。trueまたはfalseを決定していない場合に未設定の音を鳴らします。
https://scrapbox.io/files/65ce250b964b910024ec8ad0.jpg
Brachノードを選択して「soundbrach」とパラメータを設定します。パラメータはブループリントから呼ぶためのものです。
https://scrapbox.io/files/65ce2521baaf8b0023b34e99.jpg
レベルブループリントに以下のノードを作成します。SpawnSound2Dでサウンドを生成して鳴らし、SetBooleanParameterで先ほどの「soundbrach」を入力します。InBoolでBolleanを設定でき、今回はチェックなしのfalseにします。
https://scrapbox.io/files/65ce2532f253600025ca846d.jpg
これでプレイしてみると、SetBooleanParameterでfalseの状態でサウンドキューが鳴るのでfalseのWavePlayer : Explosion01が鳴ります。
😺Branchは例えば二つの音の内どちらか一方鳴らす音をゲームプレイ中に決めたい時に使用します。またこれに関してもどちらでも良いのですが、この方法ではなく、サウンドキューを二つ用意してブループリントの方のBranchノードを使用する事で鳴らす音の処理を分岐させる事もできます。
⑫Switch(複数分岐)
SwitchノードはBranchノードと少し似たようなノードになります。ブループリントから設定された整数によって再生する音を選択します。実際に作ってみます。
Switchを作成してそれぞれにWavePlayerを接続して適当な音を割り当てます。
https://scrapbox.io/files/65ce256e964b910024ec8c16.jpg
Switchを選択した状態でIntParametaterNameを「soundswitch」にします。
https://scrapbox.io/files/65ce2584d7984200263c41cf.jpg
レベルブループリントで以下を作成します。SetIntegerParameterのInNameに「soundswitch」を入力してInIntに先ほどSwitchノードで0~2まで設定したのでその間の値(例:1)を入力します。
https://scrapbox.io/files/65ce2596845a350024399d1f.jpg
するとSwitchノードで設定した2のWavePlayer : Stater_Music01が再生されます。3や4など設定していない場合には「未設定」の入力ピンの音が再生されます。
Switchは例えばゲーム中に再生する音を分岐したい時に使用します。BranchよりもこっちのSwitchの方が複数音を設定できるので利便性が高いです。ただしこのSwtichノードに関してもサウンドキューを複数用意してブループリントの方のSwtichノードで分岐再生させる事もできるのでどっちの方法でも構いません。
これでサウンドキュー内で使用する主なサウンドノードについては以上です。