Unityで敵キャラクター出現時に効果音を鳴らしてみる

前回は敵キャラクター出現時にエフェクトを表示しましたが、

Unityのエフェクトを使い、敵キャラの出現をわかりやすくします。エフェクトにはパーティクルをプレハブにしたものを使用し、スクリプトから敵の位置にインスタンス化していきます。

今回はUnityで効果音を鳴らしてみようと思います。

例の如く(龍が如く・・・・)Asset Storeで効果音を探してみます。

オーディオ→効果音→その他効果音→Fantasy Sfx

をインポートしてみました。

Fantasy Sfx→Mp3→Spell_01を敵キャラ出現時に鳴らしてみます。

↑のような感じで敵キャラクターが登場した時に効果音が鳴ってわかりやすいですね。(^^)/

スポンサーリンク

効果音の鳴らし方

効果音を鳴らすには

  1. インスペクタ上にAudio Sourceのコンポーネントを追加し、そこにAudioClipを設定して鳴らす方法
  2. インスペクタ上にAudio Sourceのコンポーネントを追加し、スクリプト上からAudioClipを鳴らす方法
  3. スクリプト上でAudio Sourceのコンポーネントを追加し、スクリプト上からAudioClipを鳴らす方法

があります。
今回は敵キャラが登場時に鳴らすだけなので、1番上の方法を取ります。

効果音の追加と設定

敵キャラのプレハブにAdd ComponentからAudio→Audio Sourceをクリックします。

AudioSourceの設定を変更する

上のようにAucio Clipに鳴らしたい音声を指定し、Play On Awakeにチェックを入れます。

Play On Awakeはこのオブジェクトが登場した時に鳴らすという意味です。
その下のLoopのチェックは外します。登場時だけ鳴らしたい為、繰り返し再生されるのを防ぎます。

これで敵キャラ出現時に効果音を鳴らす事が出来ます。
Unityのプレイボタンを押して試してみましょう。

これで完成ですが・・・、あまりに早く終わってしまったので、後々の事も考えてスクリプト上から効果音を鳴らす方法もやっておきましょう。

スクリプトから効果音を鳴らす

スクリプトからAudio Sourceの追加をし効果音を鳴らすので、さきほど追加したAudio Sourceのコンポーネントを削除します。

AppearSEというスクリプトを作り敵キャラクターのプレハブに追加します。

鳴らす効果音はインスペクタで設定出来るようにし、Audio Sourceは設定されていないので、Startメソッド内でAddComponentを使って追加しています。

AudioSourceの機能が追加されたら、それを使って音声を鳴らします。
PlayOneShotで鳴らしたい音声クリップを指定すれば音声が流れます。

この場合Startメソッド内にあるので敵キャラ登場時(スクリプト開始時)に1回だけ音声の再生をするということになります。

先ほどの1のやり方と違って、AudioClipを複数用意すれば鳴らしたい音声を選んで鳴らす事が出来るようになります。

敵キャラクタープレハブのインスペクタは

スクリプトからAudioSourceを取り付ける

↑のようになります。

Audio Sourceは音声を鳴らす為に必要ですが、この音声を聞く為にはAudio Listenerという耳に当たるものがないと鳴っているのがわかりません。

音声を聞く為に必要なもの

音声を聴く為にはAudio Listenerが必要なんですが、追加した覚えはないけど?という方もいると思います。

が、実は最初から設定されていました。

それが設定されているのが、Main Cameraです。
Main CameraのAudio Listenerのチェックを外すと音声が聞こえなくなります。

これで敵キャラ出現時に効果音を鳴らす事が出来るようになりました。

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます