- 効果音を鳴らさないとゲームとして寂しいなぁ
- ジャンプしたときに効果音を鳴らしたいなぁ
という悩みを解決します。
●Unityで効果音を鳴らす方法
- 効果音をつけたいオブジェクトに【AudioSource】コンポーネントをつける
- 【AudioSource】コンポーネントに効果音をセット
- 効果音を鳴らしたいときに、スクリプトからPlayメソッドを呼び出す
非常に簡単なので、みながら実行してみてください。効果音は【まとめ】ゲーム開発で使えるフリー素材<音楽・効果音編>でゲットできます。
効果音を鳴らす前に
左クリックしたら、効果音を鳴らす
ジャンプしたら、効果音を鳴らす
のように「〇〇したら、効果音を鳴らす」という状態にもっていきます。今回は左クリックしたら、効果音を鳴らすというスクリプトにしています。
Unityで効果音を鳴らす方法
●効果音を鳴らす流れ
- 効果音をつけたいオブジェクトに【AudioSource】コンポーネントをつける
- 【AudioSource】コンポーネントに効果音をセット
- 効果音を鳴らしたいときにスクリプトからPlayメソッドを呼び出す
効果音をつけたいオブジェクトに【AudioSource】コンポーネントをつける
●【AudioSource】コンポーネントをつける
【オブジェクト選択】→【Inspector】→【AudioSourceつける】→【Play On Awakeのチェックを外す】
なんでもいいのですが、Cubeに【AudioSource】をつけています。
【Play On Awakeのチェックを外す】これをすることによって、ゲーム開始時に効果音をがなってしまうことがなくなります。
【AudioSource】コンポーネントに効果音をセット
●効果音セットする
【Projectウィンドウに音源を格納】→【AudioClipに音源をドラッグ&ドロップ】
今回の効果音は効果音ラボの剣で斬る1を使いました。他の音源があったら、それを使ってください。
効果音を鳴らしたいときにスクリプトからPlayメソッドを呼び出す
●スクリプト追加(すでにある場合は不要)
【オブジェクト選択】→【Inspector】→【AddComponent】→【New Script】→【Test(名前は何でも良い)】
効果音を鳴らしたいオブジェクトにスクリプトがアタッチされていれえば、そのスクリプト内に書いてください。
スクリプトはダブルクリックすることで開けます。
スクリプトを書く
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
// 左クリックしたら、効果音を鳴らす
if (Input.GetMouseButtonDown(0))
{
GetComponent<AudioSource>().Play(); // 効果音を鳴らす
}
}
}
if (Input.GetMouseButtonDown(0)){A} | 左クリックしたとき、Aの処理を行う |
GetComponent<AudioSource>().Play(); | AudioSourceコンポーネントのPlayメソッドを呼び出す |
「GetComponent<AudioSource>().Play();」で効果音を鳴らしています。
ゲームを実行してみて、左クリックを押してみてください
左クリックをするたびに、効果音がなるはずです。
- ジャンプしたときに、効果音を鳴らす
- 移動しているときに、効果音を鳴らす
- ぶつかったときに、効果音を鳴らす
様々なことに応用してみてください(゚∀゚)
まとめ
●Unityで効果音を鳴らす方法
- 効果音をつけたいオブジェクトに【AudioSource】コンポーネントをつける
- 【AudioSource】コンポーネントに効果音をセット
- 効果音を鳴らしたいときにスクリプトからPlayメソッドを呼び出す
効果音を鳴らすことによって、ゲームは楽しくなりますよね。
もしUnityでのサンプルゲームをお探しなら、【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろうでゲームを作ってみてくださいね。
以上さぎのみや(@saginomiya8)でした。
コメント