音を鳴らすところまでは、意外と簡単にできます。つまずくのはその次で、 同じ足音が延々と繰り返されて、途端に安っぽく聞こえる 段階です。走るたびにまったく同じ「コツ、コツ、コツ」が鳴ると、耳はすぐに「これは同じファイルの再生だ」と気づいてしまいます。
解決策は、Blueprintで乱数を書くことではありません。UEには 鳴らし方そのものを設計するアセット があり、そこで完結させるのが定石です。この記事では、 Sound Wave(音そのもの) と Sound Cue(鳴らし方の設計図) の役割分担と、単調にならない足音の作り方を解説します。
この記事でわかること
- Sound Wave=音そのもの、Sound Cue=鳴らし方の設計図
- 単調さを消す2ノード—— Random と Modulator
- Blueprint側の再生ノードは、どちらも同じ
- リバーブやディレイは Sound Cueの中では掛けない
- 実践:足音Cueを作って、ランダムに鳴らす
Sound Waveは「音そのもの」
.wav ファイルをコンテンツブラウザにドラッグすると作られるのが Sound Wave です。これは 録音された音のデータそのもの で、それ以上でもそれ以下でもありません。

- できること: そのまま再生する。インポート設定(圧縮品質、ループ設定など)を変える
- できないこと: 音を選ぶ、ランダムに変化させる、複数を混ぜる
再生はBlueprintの2ノードで足ります。
| ノード | 何をするか | 使いどころ |
|---|---|---|
| Play Sound 2D | 位置に関係なく、そのまま鳴らす | UI音、BGM |
| Play Sound at Location | 指定した座標で鳴らす(距離で減衰する) | 足音、爆発、環境音 |
毎回まったく同じ音でよいなら、Sound Waveのまま使って構いません。 ボタンのクリック音やセリフのボイスは、むしろ変化しないほうが自然です。
問題は、繰り返し鳴る効果音です。足音・銃声・打撃音——ここで同じファイルを鳴らし続けると、途端に作り物っぽくなります。
Sound Cueは「鳴らし方の設計図」
Sound Cue は、Sound Waveを素材として受け取り、 どう鳴らすかを組み立てるアセット です。ノードをつなぐ形で作るので、見た目はBlueprintに近いものです。

そして重要なのが、 Blueprint側から見ると、Sound WaveもSound Cueも同じように扱える ことです。
Play Sound at Location(Sound: SC_Footstep, Location: 足元の座標)
Sound ピンには どちらも挿せます 。つまり、あとから「やっぱりランダム化したい」と思ったとき、 Blueprintを書き換えずにアセットだけ差し替えられます 。
これが設計上の大きな利点です。 鳴らし方の複雑さを、Blueprintの外に追い出せる ため、プログラム側は「この音を鳴らして」と言うだけで済みます。
単調さを消す2つのノード
Sound Cueには多くのノードがありますが、 最初に覚えるべきは2つだけ です。この2つで、単調さのほとんどは解決します。

Random: つないだ複数の入力から 毎回1つを選んで 鳴らします。足音を3〜5種類用意してつなぐだけで、「同じ音の繰り返し」ではなくなります。
Modulator: 通した音の ピッチと音量を、指定した範囲でランダムに揺らします 。同じ素材でも、わずかに高かったり低かったりするだけで、耳の印象は大きく変わります。
この2つは 重ねて使う のが基本形です。素材が3種類でも、それぞれにピッチの揺らぎが加われば、事実上「毎回違う音」になります。
その他のノードは、必要になってから覚えれば十分です。
| ノード | 何をするか |
|---|---|
| Mixer | 複数の音を 同時に 鳴らす(爆発音+破片の音) |
| Concatenator | 複数の音を 順番に つなげる |
| Attenuation | 距離による減衰の設定を上書きする |
| Looping | 繰り返し再生する(環境音、BGM) |
エフェクトはCueの外で掛ける
ここは誤解しやすいところです。 Sound Cueの中に、リバーブやディレイを掛けるノードはありません。

Sound Cueが担当するのは 「どの音を、どんなピッチ・音量で鳴らすか」 まで。 音を加工するエフェクト は、別の仕組みで掛けます。
| 仕組み | 何に掛かるか | 使いどころ |
|---|---|---|
| Audio Volume | その空間にいる間 | 洞窟や室内のリバーブ |
| Submix Effect | そのSubmixに流れる音 全体 | BGM全体にコンプレッサー |
| Source Effect | 個々の音源 | 特定の音だけ歪ませる |
| Sound Class | カテゴリ単位 | SEだけ音量を下げる |
とくに Audio Volume は覚えておくと便利です。洞窟にボリュームを置いてリバーブを設定しておけば、 そこに入ったときだけ響きます 。音側には何も手を加える必要がありません。
なぜ分けるのか。 「洞窟で響く」のは音の性質ではなく 場所の性質 だからです。足音Cueに洞窟のリバーブを焼き込んでしまうと、屋外でも響いてしまいます。 音は音、空間は空間 と分けておくのが自然です。
距離による減衰(Attenuation)やSubmixでBGMだけ音量を下げる仕組みは UE5の3Dサウンドとミキシング で詳しく扱っています。
実践:単調にならない足音を作る
アクションゲームの走行音、ホラーゲームの忍び足、RPGのフィールド移動——足音はプレイヤーが 最も長時間聞き続ける音 です。ここが単調だと、ゲーム全体が安っぽく感じられます。
再現用の準備: 足音の素材を 3〜5個 用意します。フリー素材でも、同じ音を少し切り出し位置を変えたものでも構いません。
| 種類 | 名前 | 内容 |
|---|---|---|
| Sound Wave | SW_Footstep_01 〜 03 | 足音の素材(インポートしたもの) |
| Sound Cue | SC_Footstep | これから作ります |
| Animation Sequence | 歩き・走りのアニメーション | 通知を打ち込む先 |
ステップ1:Sound Cueを作る。 コンテンツブラウザで右クリック → Sounds → Sound Cue 。SC_Footstep と名付けて開きます。
ステップ2:Randomでバリエーションを持たせる。 パレットから Random ノードをドラッグして置きます。
コンテンツブラウザで SW_Footstep_01 〜 03 を選択し、そのままSound Cueエディタへドラッグすると、Sound Waveノードが3つ並びます。それぞれの出力を Randomノードの入力へ つなぎます。
Randomノードの入力ピンは、繋ぐと自動で増えます。足りなければ、ノードを右クリックして
Add Inputでも追加できます。
ステップ3:Modulatorで揺らぎを加える。 Modulator ノードを置き、Randomの出力をつなぎます。そして詳細パネルで揺らぎの範囲を指定します。
| 項目 | 値 | 意味 |
|---|---|---|
| Pitch Min | 0.92 | いちばん低いとき |
| Pitch Max | 1.08 | いちばん高いとき |
| Volume Min | 0.85 | いちばん小さいとき |
| Volume Max | 1.0 | いちばん大きいとき |
ピッチは ±10%程度に留める のがコツです。広げすぎると「別の生き物の足音」になってしまいます。
最後に、Modulatorの出力を Output ノード につなぎます。

ステップ4:その場で確認する。 Sound Cueエディタのツールバーの Play Cue を、 何度も連続で押してください 。毎回わずかに違う音が鳴れば成功です。1回聞いただけでは分かりません。 繰り返して初めて効果が出る のが、この作りの特徴です。
ステップ5:アニメーションから鳴らす。 足音は、Blueprintで時間を測って鳴らすものではありません。 足が地面に着く瞬間 に鳴らすのが自然です。
歩きのAnimation Sequenceを開き、足が着地するフレームで Notify(通知)を打ちます 。タイムライン下部の Notifies トラックを右クリック → Add Notify → Play Sound を選び、その通知の詳細パネルで Sound に SC_Footstep を指定します。Notifyそのものの仕組み(種類・カスタム通知の作り方)は Animation Montage入門:Notifyで当たり判定を出す で詳しく扱っています。
同じことを、もう片方の足が着くフレームにも行います。走りのアニメーションにも同様に打ち込みます。
Playして歩き回ってください。 足の着地に合わせて足音が鳴り、しかも毎回わずかに違って聞こえれば成功です 。
うまくいかないときの切り分けです。
- 音が鳴らない → Notifyの
Soundが空か、アニメーションが実際に再生されていません - 足の動きとずれる → Notifyを打ったフレームを調整します
- 変化を感じない → Modulatorの範囲が狭すぎるか、素材が似すぎています。まずピッチを ±15% まで広げて確かめてから戻します
- 走ると音が重なる → 走りのアニメーションにも通知を打ち、歩き用の通知が二重に鳴っていないか確認します
ポイントは2つです。
- ランダム化はアセット側に閉じ込める: Blueprintで乱数を書くと、音を調整するたびにプログラムを触ることになります。Cueの中で完結させれば、 音の調整は音のファイルだけで済みます
- 鳴らすタイミングはアニメーションに持たせる: 足音を
Event TickやDelayで鳴らすと、走行速度が変わったときに必ずずれます。 足が着いた瞬間 という事実に紐づけるのが確実です(→ Animation Blueprint入門)
地面の材質ごとに音を変えたくなったら、Play Sound 通知ではなく カスタム通知 を作り、Blueprint側で足元をトレースして材質を判定してか らCueを選ぶ形に発展させます。
おまけ:先に知っておくと良いこと
新規に作るなら、MetaSoundも検討してください。 UE5には Sound Cue の後継にあたる MetaSound があり、Epicの開発の中心はそちらに移っています。できることは Sound Cue の上位互換に近く、実行時にパラメータを渡して音を変化させるといった動的な処理も得意です。
とはいえ、Sound Cue が使えなくなったわけではありませんし、 考え方(素材を選ぶ/変調する/出力する)は共通 です。まず Sound Cue で仕組みを掴んでから MetaSound へ進むと、理解が早くなります。Sound Cueとの違いと、実行中に外からパラメータを渡して音を変える方法は UE5のMetaSounds入門 で解説しています。
音量は Volume Multiplier で無闇に上げない。 再生ノードの Volume Multiplier を1.0より大きくすると、音が割れる原因になります。音が小さいと感じたら、まず 素材そのものの音量 か Sound Class での調整を検討してください。
同時に鳴る音の数には上限があります。 大量の敵が一斉に足音を鳴らすような場面では、上限を超えた音は再生されません。Sound Concurrency という設定で「同じ種類の音は最大◯個まで」を決められるので、雑多な効果音には設定しておくと安定します。
ループする環境音は、Sound Waveのインポート設定を確認。 川のせせらぎのような音は、Sound Wave側の Looping を有効にするか、Sound Cueの Looping ノードを使います。ここを設定せずにBlueprintで繰り返すと、継ぎ目でプツッと切れます。
まとめ
役割分担は、この3層で覚えると迷いません。
| 層 | 担当 | 例 |
|---|---|---|
| Sound Wave | 音そのもの | 録音された足音の .wav |
| Sound Cue | 鳴らし方(選ぶ・揺らす・混ぜる) | Random + Modulator |
| Submix / Audio Volume | 空間や全体への加工 | 洞窟のリバーブ |
そして実務上の指針が1つ。 繰り返し鳴る音は、必ずCueにする ことです。足音・銃声・打撃音は、Random と Modulator を通すだけで質感が変わります。手間は数分、効果は大きい部類の作業です。
あなたのゲームで、いちばん長く聞こえている音は何でしょうか?