【Unity】効果音やBGMを鳴らす

環境 : Unity 5.6.1f1 Personal (64bit)

Unity で音を鳴らすには、音そのもの(AudioClip)、音を発するコンポーネント(AudioSource)、音を聴き取るコンポーネント(AudioListener) の3つが必要です。
特殊効果や操作は置いておいて、とりあえず音を鳴らす方法を書いていきます。

再生の流れ

  1. AudioSource と AudioListener のコンポーネントを取り付けた GameObject をシーンに配置。
  2. AudioClip を AudioSource にセットする。
  3. AudioSource がその音を Unity のシーン内で鳴らす。
  4. AudioListener がシーン内で鳴った音を聴き取り、機器へ出力する。(実際に音が鳴る)

AudioClip

Unity のエディタ上にドラッグ&ドロップしてプロジェクト内に取り込んだサウンドファイルは、インスペクタやスクリプト上では AudioClip というクラス名で扱います。
このクラスを AudioSource にセットすることで再生や停止させることができます。

.wav .mp3 .ogg などが使用可能。
Unityの対応ファイル形式

AudioSource

シーン内で音を鳴らすコンポーネント。
セットされた AudioClip を再生することで、このコンポーネントが取り付けられたゲームオブジェクトの位置で音を再生します。
3Dゲームでは下記の AudioListener と合わせて、音が鳴る位置と聴く位置が重要になりそうです。
2Dゲームならカメラと同じ位置で良いかもしれません。

AudioListener

シーン内で鳴った音を聴き取り、実際に機器から音を鳴らすコンポーネント。
これをシーン内に配置しておかないと音は聞こえません。人間の耳のようなものでしょうか。

AudioSource とは違ってインスペクタ上で設定する項目はありません。
2D、3Dゲーム問わず、基本的にはカメラに取り付けておけば良いかと思います。
(新規で作成したプロジェクトでは初めからカメラに取り付けられています)

とりあえず鳴らす

AudioSource に AudioClip をセットしておき、
必要なタイミングで AudioSource.Play() を呼び出せば再生できます。

This entry was posted in Unity on

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です