LoginSignup
2
0

More than 1 year has passed since last update.

音楽に目覚めたので、楽しくオリジナル曲が作れるゲームを作ってみた

Posted at

音楽に目覚める

以前から音楽に興味はがあり、ピアノなども触ってはみたのですが長続きせず、途中で挫折することを繰り返している北城です。

皆さんもそのような経験ありますよね??

そんな中であったLogic Pro

もうね、音楽の知識とか必要なくすごい簡単に曲が作れちゃうんですよ。

楽しくなってしまって、曲作りについて学ぼうと『作りながら覚える 3日で作曲入門』。

この本の通りにやると簡単に1曲作れます。

多くの人に音楽作りを体験して欲しくて、ゲームを作成しました。
 
お時間のある方は、ぜひやってみてください。
今回は、ゲームを作成する方法の肝についてまとめました。

音楽に必要な3大要素

音楽が、リズム・ハーモニー・メロディーの3大要素によって構成されているそうです。
それぞれが3つあれば、3の3乗通り、つまり、27通りの音楽が作成されます。

上記のゲームは、この27通りから自分の好きな曲を自ら作り、楽しめるゲームになっております。

音を出すための設定

unityで音を出すためには、
1)音を出すスピーカーにあたるAudio Source
2)音の元となるAudio Clip
を設置する必要があります。
Image from Gyazo

Clipを設定するためのcodeは以下です。

DrumSoundManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class DrumSoundManager : MonoBehaviour
{
    public static DrumSoundManager instance;

    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(this.gameObject);
        }
        else
        {
            Destroy(this.gameObject);
        }
    }

    public AudioSource drumAudioSource; // BGMのスピーカー
    public AudioClip[] drumAudioClips;  // BGMの素材(
    public Slider dslider; //音量調節用のスライダー

    private void Update()
    {
        drumAudioSource.volume = dslider.GetComponent<Slider>().normalizedValue;
    }

    public void PlayDrum(string clipName)
    {
        drumAudioSource.Stop();
        switch (clipName) 
        {
            default:
            case "Beach":
                drumAudioSource.clip = drumAudioClips[0];
                break;
            case "Cafe":
                drumAudioSource.clip = drumAudioClips[1];
                break;
            case "Night":
                drumAudioSource.clip = drumAudioClips[2];
                break;
        }
        drumAudioSource.Play();
    }

    public void DrumStop()
    {
        drumAudioSource.Stop();
    }
}

続いて、以下のように設定を行います。
Image from Gyazo

① ヒエラルキー上にDrumSoundManagerという空のオブジェクトを作成し、このオブジェクトにAudio Sourceコンポーネントをアタッチします。

② DrumSoundManagerという空のオブジェクトにDrumSoundManager.CSもアタッチします。

③ Audio SourceコンポーネントをDrumSoundManager(Script)のDrum Audio Sourceにアタッチします。

④ Audio Clipsに音源となるMP3データを貼り付けます。

上記の工程をハーモニーとメロディーにも行います。

あとは、ボタンに音楽を開始する関数を貼り付ければ、完成です。

完成したゲームを再掲します。

ぜひ一度遊んでみてください!!!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0