アクセルを踏むとエンジン音が高くなり、離すと落ち着いた音へ戻る。ゲームの音は、素材を再生するだけでなく、操作に合わせて変化すると動きが伝わりやすくなります。
MetaSounds は、音の再生や加工をノードで組み立てる仕組みです。この記事では1つのエンジン音を鳴らし続け、キーを押している間だけ音を高くします。車の移動処理は用意せず、「ゲーム側の値が、鳴っている音へ届く」ところを小さく試しましょう。

この記事でわかること
- Sound CueとMetaSoundsの使いどころを比べる
- 音を鳴らす合図・音声・設定値の線を読み分ける
- エンジン音をループし、Nキーで高さを変える
- 値の変化をなめらかにして、加速するような音にする
BlueprintでActorを作り、ノードをつなげられる方を想定しています。音素材をUEへ取り込むところから確認したい場合は、Sound WaveとSound Cueの記事を先にどうぞ。
Sound Cueとの違い:音をどこまで組み立てるか
Sound Cue は、用意した音素材を選ぶ、混ぜる、音量や高さを変える、といった鳴らし方を組むアセットです。「3種類の足音から1つ選ぶ」なら、少ないノードで作れます。
MetaSoundsでも同じように素材を鳴らせます。そのうえで、波形から音を作ったり、音声信号を加工したりするところまで、自分で組み立てられます。たとえば「エンジン音を高くしながら、風の音も混ぜる」といった複数の変化を、1つのグラフで扱えます。

| 作りたいもの | 選び方の目安 |
|---|---|
| 足音をランダムに選び、 少し高さを変える | Sound Cueでも作れる |
| 波形やノイズから音を作り、加工を組み合わせる | MetaSoundsを検討する |
| すでに問題なく鳴っているSound Cue | 必要な変更がなければ、そのまま使える |
再生中に値を変えられるのはMetaSoundsだけ、という違いではありません。 Sound Cueにも、名前付きのパラメータで音の高さなどを変える仕組みがあります。今回は、MetaSoundsで音を組む第一歩として、数値を1つ受け取る方法を覚えます。
最初はSourceを作る
今回は Third PersonのBlueprintテンプレート で試します。素材には、一定の高さで鳴っているエンジン音の .wav を1つ用意してください。ループ用につなぎ目を整えた数秒程度の音が向いています。手元になければ、同じように伸びる機械音でも高さの変化を試せます。
説明をそろえるため、素材は Mono(音声が1チャンネル) を使い、取り込んだSound Waveを SW_EngineLoop と名付けます。Stereoの素材で進める場合は、後述のWave Playerと出力形式もStereoにそろえてください。
コンテンツブラウザの空白を右クリックし、「Audio > MetaSound Source」を選んで MS_EngineDemo を作ります。MetaSoundの項目がない場合は「Edit > Plugins」でMetaSoundプラグインの有効状態を確認します。
似た名前の MetaSound Patch は、他のMetaSoundから使う部品です。たとえば共通の風の加工をまとめ、複数の音へ組み込むときに使います。Sourceは再生する音、Patchはその中で使う部品 と分ければ、最初に選ぶものが分かります。

Wave Playerで音をループする
MS_EngineDemo を開き、まずは高さを変えずに音を鳴らします。
- ツールバーの「MetaSound」を選び、詳細の「Output Format」を Mono にします。
- 「Interfaces」パネルで UE.Source.OneShot を外します。これは「1回鳴り終えたら終了する音」のための設定です。今回は止めるまで鳴らすため、使いません。
- グラフの空白を右クリックし、Wave Player (Mono) を追加します。
- 「Wave Asset」に
SW_EngineLoopを選び、「Loop」をON、「Pitch Shift」を0にします。 On Playの出力をWave PlayerのPlayへ、Wave PlayerのOut MonoをグラフのOut Monoへつなぎます。

Wave Player は、Sound Waveを実際に再生するノードです。On Play は、このMetaSoundの再生が始まったときの合図。その合図でWave Playerが動き、出てきた音が Out Mono を通って聞こえます。
ツールバーの再生ボタンを押し、音が繰り返し鳴ればこの段階は成功です。停止ボタンで止めて保存します。つなぎ目でプツッと鳴る場合は、素材自体のループのつなぎ目も確認してください。LoopをONにするだけで、どんな素材も滑らかにつながるわけではありません。
線を読む:合図・音声・データ
グラフの線は、何を運んでいるかで読むと分かりやすくなります。先ほどの最小例にも、次の3つの役割があります。
| 役割 | 運んでいるもの | 今回の例 |
|---|---|---|
| Trigger(トリガー) | 「今、再生を始めて」という合図 | On Play → Play |
| Audio(音声) | 耳へ届く音そのもの | Out Mono → Out Mono |
| データ | 素材や設定値 | Wave Asset、Pitch Shift |
トリガーは合図が出たときに働き、音声は再生中に流れ続けます。再生開始の合図をつなぐだけでは音は聞こえません。音声の出口もつなぐ 必要があります。

データにも型があり、Pitch Shift は Float(小数を扱える数値) です。素材を指定する Wave Asset とは別の種類なので、ピンの名前と型を見てつなぎます。型の変換ノードが使える組み合わせもありますが、ここでは数値は数値へ、音声は音声へつなげば十分です。
Inputを作り、音の高さを試す
次は、Pitch Shift を外から変えられるようにします。Input は、MetaSoundが外部から値を受け取る入口です。「音の高さをどれだけずらすか」という入口を1つ用意します。
- Wave Playerの
Pitch Shift入力ピンから空白へドラッグし、「Promote to Graph Input」を選びます。 - 作られたInputを選び、詳細の「General > Input」で名前を
PitchOffsetにします。 - 型がFloat、既定値が
0であることを確認し、「Is Constructor Pin」はOFFにします。
Constructor Pinは、再生前に値を決めておくための設定です。今回は鳴らしながら変えるため、OFFにします。また、外から受け取りたい値は「Variables」ではなく Inputs に置きます。

ピッチは音の高さ のことです。ここで扱う Pitch Shift の単位は