今日はUnityゲーム制作講座、第十五弾です!
今日はいよいよ最終回かぁ~
そう思ってたんだけど、よく考えたらBGMのことをすっかり忘れてたので、今回はBGMとSEの付け方について解説するよ!
Unityで簡単にBGMやSEをつける方法
BGM、SEをつける前に、適当なフォルダを作成し、音源をまとめて保管できるようにしておきましょう。
フォルダを作成したら、エクスプローラーからドラッグ・アンド・ドロップで、音源を貼り付け、Unityで使えるようにしておきます。
また対応しているファイル形式はこちらを参照してください。
BGM
BGMをつける際には、まず空のGameObjectを作成し、AddComponentでAudioSourceを追加し、AudioClip欄に使用したいBGMをドラッグ・アンド・ドロップで貼り付けます。
起動時に再生を開始したい場合はPlayOnAwake、ループさせたい場合はLoopにチェックを入れます。あとはVolumeで音量を適切な大きさに調整して上げればOK。
SE
発射音の場合
弾の発射音も、BGMとほぼ同じ手順でつけることができます。
弾のPrefabに、AddComponentでAudioSourceを追加し、AudioClip欄に使用したいBGMをドラッグ・アンド・ドロップで貼り付けます。
発射音は繰り返す必要がないので、Loopのチェックは外しておきます。あとはVolumeで音量を適切な大きさに調整して上げればOK。
足音の場合
足音は、BGMや発射音とは違い、鳴らすタイミングがObjectの生成時ではなく、キー操作のときなので、操作されたときに音を鳴らすようにコードを追加する必要があります。
Scriptsフォルダに作成してあるPlayerControllerを開き、中身を以下の内容に書き換え保存します。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { private float speed = 0.05f; // 歩行速度 private float rotateSpeed = 0.5f; // 回転速度 private Animator animator; private AudioSource audioSource; private float horizontalInput, verticalInput; [SerializeField] GameObject bulletPrefab; [SerializeField] AudioClip moveSE; void Start() { animator = GetComponent<Animator>(); audioSource = GetComponent<AudioSource>(); } void Update() { horizontalInput = Input.GetAxisRaw("Horizontal"); verticalInput = Input.GetAxisRaw("Vertical"); if (verticalInput != 0) { transform.position += transform.forward * speed * verticalInput; animator.SetBool("Run", true); if (!audioSource.isPlaying) { audioSource.PlayOneShot(moveSE); } } else { animator.SetBool("Run", false); } transform.Rotate(new Vector3(0, rotateSpeed * horizontalInput, 0)); if (Input.GetKeyDown(KeyCode.Space)) { Vector3 pos = transform.position; Quaternion rot = transform.rotation; pos.y += 8; Instantiate(bulletPrefab, pos, rot); } } }
保存するとキャラクターのObjectのInspector上にある、PlayerControllerに
MoveSEという項目が出ているはずなので、ここに足音用の音源をドラッグ・アンド・ドロップで貼り付けます。
動作確認を行う
これでBGMとSEが再生されるようになるはずなので、想定通りの動作になっているかを確認しましょう。
イメージどおりに動いてくれていれば完了です。
細かい解説は動画の方で行っていますので、合わせて見てもらえたらなと思います。
音がつくとすごいゲームっぽい!こんなの忘れちゃダメだよ!
いやぁ、アプリゲーとかいつも無音でやってるからついね……