Unity入門:音声の使用方法(BGM,単発再生)

Unityの音声の使用方法です。

 

音声はゲームの面白さ、臨場感を左右するといっても過言ではない重要な要素です。

今日はその音声の使い方を説明したいと思います。

 

Unityでは音声を発する側、音声を聞く側という概念で

オブジェクトを分けています。

 

ですので音声をただ鳴らしただけでは音声は再生されず、

聞く側を用意しなければなりません。

 

音声を発する側はAudioSourceコンポーネントをつけ、

聞く側はAudio Listenerrコンポーネントをつけるという具合です。

また 音声自身はAudioClipといいます。

 

では基本的なことは上で述べたので、さっそく具体的な使用例を見ていきましょう。

まずは基本的なBGMを再生する方法です。

 

BGMの再生

1:まず音声を用意します。

音声についてはwav,ogg形式のものが好ましいです。mp3でも再生されますが、デメリットが多いのでお勧めしません。

wavとoggの使い分けはoggは圧縮されているため再生までに時間がかかる、一方wavは圧縮されていないため容量が大きいことがあります。

ですのでBGMのように長く使うものはogg,銃声などすぐに再生し容量が少ないものはwavをお勧めします。

 

2:音声を発する

上で述べたように音声を発するには、AudioSourceコンポーネントをつけなければなりません。

ですので発するObjectにコンポーネント->Audio->Audio Sourceを選択し、アタッチします。

 

AudioSource

 

上の画像のようにアタッチしたAudio Sourceの欄を見ると一番上にaudioclipを登録するところがあるので、

用意した音声をそこに登録します。以上で音声を発する側の設定は終わりです。

 

3:音声を聞く側を設定する

こちらは音声を聞かせたいobject(例えばゲームの主人公や、カメラ)にAudio Listenerを追加します。

コンポーネント->Audio->Audio Listenerを選択すればアタッチできます。

 

UnityではデフォルトでメインカメラにAudio Listenerがついています。

ですのでカメラで音声を拾う場合はこの手順は割愛していただいて結構です。

上の手順が終わったら再生してみましょう。しっかりBGMが再生されていたら成功です。

 

もし音が大きすぎる、小さい、または聞こえない場合は音声ファイル自体を選択し、

3Dsoundにチェックが入っていないか確認してみてください。

 

3DSoundとは音を均一でなく、距離によって大きさを変えるものです。

BGMなどはどの場所でも均一に聞こえるものなので、外してください。

うまく適切な大きさで聞こえれば成功です。

 

銃声などの単発での音声の再生

 

次に単発で音声を再生する方法です。

 

こちらは大体の場合コードでよびだすことが多いので、

ソースコードを見ていきたいと思います。

 

public AudioClip  fire;
public AudioClip  reload;

Update(){

    if(fireを再生する条件){
              audio.PlayOneShot( fire,1f );
    }
    if(reloadを再生する条件){

             audio.PlayOneShot( reload,1f );
    }

}

 

 

音声の単発での再生はaudio.PlayOneShot(AudioClip filename,float volume)を使います。

使用する音声ファイルはEditor上で、該当箇所にドラッグアンドドロップてください。

後ろの引数は再生する音量を0~1で指定します。普通の音量ならば1fを指定します。

 

条件で挟んであげれば満たしたときに再生されるので、銃を発砲した時に再生することが可能です。

 

少し長くなりましたが、実装はとても簡単です。

音声を効果的に使ってゲームをより面白くしていきたいですね。

 

以上でUnityでの音声の使用方法の解説を終わります。

コメントを残す

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