UE4 Modular Synthを触ってみる。
4.16のPreview1からちょっとずつ触っていたのですが、
ある程度理解できた(と思う)ので記事にまとめておきたいと思います。
マニアックな機能だとは思いますが、
かなり情報が少ないです。タスケテ...
誰か!日本語で!解説記事お願いします!
ではやっていきましょう。
準備
今回はUE4 4.16 Preview3を使用します。
適当なテンプレートからプロジェクトを作成しましょう。
私はThird Person Templateを使用しています。
プロジェクトが作成できたら、
左上のEdit→Pluginを開いてください。
Audioタブに「Synthesis」というプラグインがあるので、
これにチェックを入れ、エディタを再起動しましょう。
ブループリントを作成する
再起動が完了したら、コンテンツブラウザから
右クリック→Blueprint Classを選択します。
名前は適当にBP_SoundActorにしました。
ActorにComponentを追加する
BP_SoundActorをダブルクリックで開きます。
左上のAdd Componentから
「Modular Synth」を追加します。
階層は適当でいいと思います。
Blueprintに処理を書く
Componentを追加できたら、
このように処理を書きます。
CキーでNote Onを呼び出し、音を鳴らし始め
VキーでNote Offを呼び出し、音を鳴らすのを止めます。
Note Onは鍵盤などを「押した」という信号を送るものです。
Noteの中に入っているFloat型の数値は
Note Numberと言われるもので、それぞれに音を表しています。
上の画像のように60にすると4C、鍵盤の真ん中のドの音の
信号を送ります。
Velocityは音の大きさです。
数値が高ければ大きく、低ければ小さくなります。
Durationは音の再生時間です。
5にすると5秒間音を鳴らすという感じになります。
Note OffはNote Onと反対に音の信号を送るのを止めるものです。
Note Onを繋げてNote Numberを打ち込んでいけば
こんな感じに演奏もできます。
※音が小さいので、大きくして再生してください。
話を戻しまして、
Note On、Note Offにそれぞれパラメータを入れていきます。
・Note : 60
・Velocity : 120
・Duration : -1
これでCキーを押すとドの音が120の大きさで永続的(-1)に再生されます。
次にModular Synthのパラメータ変更処理を書いていきます。
Modular SynthにはたくさんのSet関数があり、
たくさんのパラメータがあります。
すべてModular SynthのSet関数です。
(まだ見落としがあるかも...)
これらすべての処理を書いていくのは大変なので、
今回はSet Synth Preset関数を使用します。
中に全てのパラメータが管理されており、
このノードを更新することで、パラメータを反映させることができます。
ではModular SynthからSet Synth Presetノードを出しましょう。
次にSynth Presetから線を引っ張り、
Promote to Variableで変数を作成します。
変数名は何でもいいです。
扱いやすくするために変数をPublicにしておきましょう。
この作成した処理をEvent Tickに繋げます。
これで処理は完成です。
実行してみる
Actorをレベルに配置し、実行してみましょう。
実行したら指定したキー(今回はCキー)を押してみましょう。
恐らく、なんとも言えない音がなると思います。
動画のようにPublicにした変数をいじることで、
一応動的にパラメータを変更することもできます。
触りとしてはこんな感じではないでしょうか?
手元にMIDIコントローラーがあれば色々試せそうですが、
私の手元には無いので、今回はここまで。
-- 追記 --
※キーボードイベントを使用する場合はPlayer Characterに設定するなどで、
イベントが取得できるようにしてください。