Explorer’s Notebook
Explorer’s Notebook

Explorer’s Notebook

ゲームにおいて「音」は、視覚情報と並んでとても大事な要素です。

  • ゲームの雰囲気を作るBGM

  • プレイヤーに反応を伝える効果音(SE)

  • 緊張感や楽しさを演出する音のタイミング

この記事では、UnityでのBGM・SEの使い方と、効果的なタイミングの演出方法を、初心者向けにわかりやすく解説していきます。

目次

  1. ゲームにおける「音」の役割

  2. BGMとSEの違いとは?

  3. Unityで音を鳴らす基本:AudioSourceとAudioClip

  4. BGMの実装方法(フェードイン・ループ再生)

  5. SE(効果音)の実装方法(ボタン・攻撃・アイテム)

  6. 音のタイミングで変わるプレイ体験

  7. よくあるミスと対処法

  8. 応用テクニック(ミキサー、音量調整、同時再生)

  9. まとめ:音はゲームの心臓部!

1. ゲームにおける「音」の役割

音がないゲームを想像してみてください。

  • 敵に攻撃されても音がない

  • メニューを押しても無反応

  • ゴールしても静かなまま

…なんだか味気なくて不安になるはずです。

音には以下のような役割があります:

  • 【情報提示】…ヒット音で「当たった」と伝える

  • 【感情演出】…BGMで緊張や安心を演出

  • 【没入感UP】…環境音で世界に引き込む

2. BGMとSEの違いとは?

🎵 BGM(Background Music)
  • ゲーム全体の雰囲気を演出

  • ステージやシーンに応じて変化

  • 基本的に「ループ」再生される

例:フィールドのBGM、ボス戦のBGM、ショップの音楽

🔊 SE(Sound Effect:効果音)
  • プレイヤーの操作やイベントに反応して再生

  • 短く、即時的な音が多い

  • 同時に複数鳴ることも多い

例:ジャンプ音、攻撃音、メニュー選択音、アイテム取得音

3. Unityで音を鳴らす基本:AudioSourceとAudioClip

Unityで音を扱うためには、主に2つのコンポーネントが必要です:

コンポーネント 説明 AudioClip 音声ファイル(WAV/MP3/OGG)を読み込む AudioSource 音を再生する機能を持ったコンポーネント 🎵 AudioClipの準備
  1. .wav や .mp3 ファイルを Assets/Audio フォルダにドラッグ&ドロップ

  2. インスペクターで「Load In Background」や「Loop」など設定可能

🔊 AudioSourceの追加
  • オブジェクトを選択し、AudioSource を Add Component から追加

  • AudioClip を指定しておけば Play On Awake ですぐ再生される

4. BGMの実装方法

BGMは基本的に以下の流れです:

public class BGMManager : MonoBehaviour{    public AudioSource bgmSource;    public AudioClip titleBGM;    public AudioClip battleBGM;

    void Start()    {        PlayBGM(titleBGM);    }

    public void PlayBGM(AudioClip clip)    {        if (bgmSource.clip == clip) return;

        bgmSource.clip = clip;        bgmSource.loop = true;        bgmSource.Play();    }}

🔄 フェードイン・フェードアウトの実装

IEnumerator FadeIn(AudioSource source, float time){    source.volume = 0;    source.Play();    while (source.volume < 1f)    {        source.volume += Time.deltaTime / time;        yield return null;    }}

BGMは「シーン開始時にフェードイン」「ボス戦前にフェードアウト」など、緩やかに変化させると心地よい演出になります。

5. SE(効果音)の実装方法

方法①:AudioSource.PlayOneShot(使いやすい!)

public class SoundManager : MonoBehaviour{    public AudioSource seSource;    public AudioClip jumpSE;

    public void PlayJumpSE()    {        seSource.PlayOneShot(jumpSE);    }}

この方法なら、複数のSEを重ねて再生してもOK!(ジャンプ → 攻撃 → 被弾)

方法②:UIのボタンに直接SEを設定
  1. AudioManagerを作り、SEを鳴らす関数を用意

  2. ボタンの「OnClick()」にその関数を追加

  3. AudioClipを指定すれば完了

初心者でも簡単に「ボタン押下時にピッという音を出す」UIが作れます。

6. 音のタイミングで変わるプレイ体験

音のタイミングは超重要! タイミング 例 攻撃直後 剣が振られた瞬間に「シャキン!」 敵撃破 倒れた瞬間に「バシューン!」 アイテム取得 触れた瞬間に「ポン!」

少しでも遅いと「もっさり」した操作感に…!

✅ ポイント
  • 操作に対するフィードバック音は即時!

  • 重要イベントにはBGM切替やSE追加で盛り上げる!

  • SEの音量はBGMより少し大きめが◎

7. よくあるミスと対処法

ミス 対処法 音が鳴らない AudioSourceのMuteやVolumeが0になってないか確認 同じSEが重ならない PlayOneShotを使う、AudioSourceを複数用意 BGMがループしない AudioSource.loop = true にする 音が大きすぎる AudioSource.volume を調整

8. 応用テクニック(音量調整・AudioMixer)

🎚 AudioMixerの導入(おすすめ!)

複数の音をグループ管理できる便利機能!

使い方:
  1. Assets > Create > Audio Mixer

  2. Master の下に BGM や SE グループを作成

  3. AudioSource の Output にMixerを指定

  4. スライダーで音量調整可能!ボリュームオプションも作れる!

🔁 同時再生とSEチャンネル
  • ジャンプ・攻撃・被弾などが同時に起こるゲームでは、複数のAudioSourceを用意しよう。

  • もしくはAudioSourceを動的に生成→削除するパターンも◎

9. まとめ:音はゲームの「感情」を作る大事な要素!

🎵音は、ゲームに命を吹き込む「空気」のような存在です。

  • BGMで雰囲気を伝え、

  • SEで操作感を演出し、

  • 音のタイミングで没入感を倍増させる!

最初は簡単なBGMやジャンプ音からでも大丈夫です。ゲームがどんどん「生きている」ように感じられるようになりますよ!

補足:おすすめ無料音素材サイト

  • 効果音ラボ:https://soundeffect-lab.info/

  • DOVA-SYNDROME:https://dova-s.jp/

  • 魔王魂:https://maou.audio/

📎📎📎📎📎📎📎📎📎📎