読者です 読者をやめる 読者になる 読者になる

SAT04 CREATIVE SPACE

メディア芸術作品、音楽制作、ゲーム開発(UE4)、アート、エンタメなどの創作に関する話題を扱うブログです

【UE4】Push Sound Mix ModifierとPop Sound Mix Modifierを使う

f:id:nowshika:20170116225450j:plain
Uunreal Engine 4のSoundMixは、Push Sound Mix Modifier ノードと Pop Sound Mix Modifierを使うことでスタック(重ねがけ)させる事ができます。

SoundMixの用途としては、色々考えられます。例えばメニュー画面用やポーズ画面中のSoundMixを作ったり、戦闘中にリアルタイム・イベントが発生した時に、キャラ同士の会話を聞き取りやすくするようBGMや戦闘系効果音を下げるといった手動ダッキング、プレイヤーの体力が減った時に周りの音がこもるなど様々です。

PushとPop

 PushはSound Mixの適用です。Popは、適用されたSound Mixを取り除きます。
docs.unrealengine.com

例えば、「Sound Mix A」のPitch設定を1.5にし、「Sound Mix B」はPitch 1.2にしたとします。

「Sound Mix A」をPushした段階で、まずピッチが1.5あがります。

次にその状態から更に「Sound Mix B」をPushした場合、さらにピッチが上がります。

その状態から、「Sound Mix A」をPopした場合、ピッチが下がって「Sound Mix B」のみ適用した状態になります。

Blueprintsと設定例

f:id:nowshika:20170116225513p:plain
Sound Mix「TestMix」を作って、SoundClass「Master」のピッチ設定を「1.5」に。このSoundMixがPushされると、Masterのピッチが1.5上がる。


f:id:nowshika:20170116225625p:plain
同様に、Sound Mix「TestMix2」を作成。ピッチ設定を「1.2」に。


f:id:nowshika:20170116225556p:plain
今回は、手っ取り早くレベルブループリントを使用。キーボードの「1」キーを押すと「TestMix」が有効になって、「1」キーを離すと無効になり、ピッチが戻る。

同様に「2」を押すと「TestMix2」が有効になる。「1」キーと「2」キーを両方押すと、「TestMix」と「TestMix2」の設定が重なって、よりピッチが高くなる。※ただしEQの設定は重ならない。SoundMix内のEQ Priorityの設定によって重みを付けて、どちらのEQ設定を有効にするかの設定が可能。

SoundMixを適用した時の時間差

SoundMixをPush/Popした時に、設定された値に遷移する時間を指定することができます。

SoundMixの設定にある「Fade in Time」と「Fade Out Time」がその時間設定になります。これは、上記の例だと「TestMix」を適用した状態に、更に「TestMix2」をPushした場合でも同様で、「TestMix2」で設定した「Fade in Time」の時間をかけて音が変化します。

「Fade in Time」や「Fade Out Time」を0にした場合、瞬間的に音が変化します(階段状の値の変化)。正の数を入力する事で、滑らかなに音の変化させる事ができます。

注意点

ここで少し注意なのですが、「Sound Mix A(1.5)」「Sound Mix B(1.2)」を同時に適用した状態は、単純にピッチを1.7上げた状態とは異なるという点です。

例えば「Sound Mix C(1.7)」を用意したとします。

この場合は、「Sound Mix C(1.7)」単体でピッチを1.7上げた時の周波数と、、「Sound Mix A(1.5)」「Sound Mix B(1.2)」を同時に適用した時の周波数には差が生じます。

ちょっとまだ詳しく調べてないのですが、楽器を作るのでなければそこまでのピッチの精度は必要ないので問題になることはほぼ無いと思います。またボリューム(まだ試してないけど)に関しても、殆ど感知できないレベルの差異だと思われます。