見出し画像

SEを鳴らそう!クオリティアップには欠かせない...!【ゲーム制作記10】

はじめに

今回は、SEを追加する方法を復習していきます。
ボタンを押したときにSEが鳴るようにしたい!と思って挑戦してみたのですが、いざ鳴らしてみると…

「…えぇっ、シャンシャン言ってる!?一気にそれっぽくなってるんだけど!?連打しよー、たのしーー!!」

テンション爆上がり。
今まで操作してもただ画面が変わるだけだったのに、音が鳴るだけで「あ、今自分でこの画面/ゲームを操作できている」という実感が強くなって感動したんです。

SEがクオリティアップに欠かせない、というのは自論なので、「SEでそんなに変わる!?」と思っても白目で見守るくらいにしていただけるとありがたいです…笑

動作環境は

  • Windows11

  • Unity 2021.3.0f1

です。
よろしくお願いします!


やり方

①ボタンが押されたら1発だけ音を鳴らす方法

1.空のゲームオブジェクトを作成
2.「Audio Source」コンポーネントをアタッチ

空のゲームオブジェクトの設定

3.音を鳴らしたいボタン側に「Event Trigger」コンポーネントをアタッチ
4.「Pointer Down」(ボタンが押されたら音を鳴らすもの)をつける
5.左下の枠にはAudioSourceをつけたオブジェクトをアタッチ
6.鳴らしたいSEを、右下の枠にアタッチ
7.右上のプルダウンでは「AudioSource.PlayOneShot」(SEを1発だけ鳴らすもの)を選択

ボタンにつけたEventTriggerコンポーネントの設定

こちらで完了です!

②スクリプトからSEを鳴らす方法

下準備は、①のやり方と同じです!
空のオブジェクトを作成し、「Audio Sourse」コンポーネントをアタッチしておきます。

それができたら、スクリプトを書いていきます!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour {

public AudioClip sound1;
AudioSource audioSource;

 void Start () {
   //Componentを取得
   audioSource = GetComponent<AudioSource>();
 }

 void Update () {
  if (Input.GetKey (KeyCode.LeftArrow)) {
   //音(sound1)を鳴らす
    audioSource.PlayOneShot(sound1);
   }
 }
}

上のスクリプトだと、左矢印キーを押したらSEが1発鳴ります。

使用前にInspectorに「sound1」という枠ができますので、そこに鳴らしたいSEの音源をアタッチしておいてください!

最後に

最後まで見ていただき、ありがとうございました!
また次回の記事でお会いしましょう!

この記事が気に入ったらサポートをしてみませんか?