コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity 入門】【チュートリアル】ブロック崩しを作る 3. サウンドの追加と色の変更

目次

前回のチュートリアル

はじめに

f:id:baba_s:20180116192223g:plain

前回は、ブロックの配置とゲームオーバーの実装を行いました
今回は、サウンドの追加と色の変更を行っていきます

サウンドの追加

まず、BGM や SE を実装していきます

http://tutorial.unity3d.jp/archive/my-first-unity/project/sound.unitypackage

上記のリンクを開くと、「sound.unitypackage」というファイルをダウンロードできます
「sound.unitypackage」には、ゲームで使用する BGM や SE が格納されています

f:id:baba_s:20180116195853p:plain

「sound.unitypackage」をダウンロードしたら、
Unity メニューの「Assets>Import Package>Custom Package...」を選択して、
ダウンロードした「sound.unitypackage」を選択します

f:id:baba_s:20180116200012p:plain

「Import Unity Package」ウィンドウが表示されたら「Import」ボタンを押します

f:id:baba_s:20180116200057p:plain

これで、Unity プロジェクトに BGM や SE を追加できました

壁の SE の実装

Unity プロジェクトに BGM や SE を追加できたので、
次は、壁にボールがぶつかった時の SE を実装していきます

f:id:baba_s:20180116145500p:plain

Unity メニューの「Assets>Create>C# Script」を選択します

f:id:baba_s:20180116200442p:plain

作成したプログラムファイルに「HitPlaySound」という名前を付けます

f:id:baba_s:20180116200458p:plain

「HitPlaySound」をダブルクリックすると、
お使いの環境に合わせて Visual Studio や MonoDevelop などの、
プログラムを書くためのエディタが起動するので、
下記のプログラムをコピーして貼り付けます

using UnityEngine;

public class HitPlaySound : MonoBehaviour
{
    public AudioClip sound;

    private void OnCollisionEnter( Collision collision )
    {
        AudioSource.PlayClipAtPoint( sound, transform.position );
    }
}

今回はプログラムの解説は割愛させていただきます
プログラムを貼り付けたら、Ctrl + S を押すなどしてプログラムファイルを保存します

f:id:baba_s:20180116200834p:plain

Unity に戻り、「Cube」を選択します

f:id:baba_s:20180116200841p:plain

さらに、Shift を押しながら「Cube (3)」を選択します
これで、すべての壁を選択した状態になりました

f:id:baba_s:20180116203056p:plain

この状態のまま、「HitPlaySound」を「Add Component」ボタンの下にドラッグします

f:id:baba_s:20180116200901p:plain

すると、すべての壁に「HitPlaySound」を反映することができます

f:id:baba_s:20180116200910p:plain

そして、「Touch」という名前のサウンドファイルをドラッグして設定します

f:id:baba_s:20180116201017p:plain

上記のように「Sound」の欄に「Touch」と表示されていれば設定完了です

これで、エディタ上部の再生ボタンを押してゲームを再生して、
壁にボールがぶつかると、SE が再生されることが確認できます
確認ができたらエディタ上部の再生ボタンを押してゲームを停止します

ブロックの SE の実装

次は、ブロックにボールがぶつかった時の SE を実装していきます

f:id:baba_s:20180116201851p:plain

オブジェクトの一覧が表示されている Hierarchy ビューの検索欄に
「BlockController」と入力します
すると、「BlockController」が設定されたすべてのブロックが表示されます

f:id:baba_s:20180116201946p:plain

そして、「Block」を選択してから、

f:id:baba_s:20180116201957p:plain

Shift を押しながら一番下の「Block (5)」を選択すると、
すべてのブロックを選択した状態になります

f:id:baba_s:20180116202010p:plain

この状態のまま、「HitPlaySound」を「Add Component」ボタンの下にドラッグします

f:id:baba_s:20180116202028p:plain

すると、すべてのブロックに「HitPlaySound」を反映されるので、
さらに、「Damage」という名前のサウンドファイルをドラッグして設定します

これで、エディタ上部の再生ボタンを押してゲームを再生して、
ブロックにボールがぶつかると、SE が再生されることが確認できます
確認ができたらエディタ上部の再生ボタンを押してゲームを停止します

パドルの SE の実装

f:id:baba_s:20180116202334p:plain

「HitPlaySound」を「Paddle」にドラッグします

f:id:baba_s:20180116202342p:plain

そして、「Paddle」を選択した状態で、
「Touch」という名前のサウンドファイルをドラッグして設定します

これで、エディタ上部の再生ボタンを押してゲームを再生して、
パドルにボールがぶつかると、SE が再生されることが確認できます
確認ができたらエディタ上部の再生ボタンを押してゲームを停止します

ゲームオーバーの SE の実装

f:id:baba_s:20180116202743p:plain

「Cube (3)」を選択した状態で、
「Death」という名前のサウンドファイルをドラッグして設定します

これで、エディタ上部の再生ボタンを押してゲームを再生して、
下の壁にボールがぶつかると、SE が再生されることが確認できます
確認ができたらエディタ上部の再生ボタンを押してゲームを停止します

BGM の実装

ここまでで SE の実装が完了したので、次は BGM を実装していきます

f:id:baba_s:20180116203247p:plain

「Main Camera」を選択した状態で「Add Component」ボタンを押して、
入力欄に「AudioSource」と入力して、表示された「AudioSource」を選択します
「AudioSource」は、BGM を再生するための機能です

f:id:baba_s:20180116203545p:plain

次に、「BGM」という名前のサウンドファイルを
「AudioClip」の欄にドラッグして設定します

これで、エディタ上部の再生ボタンを押してゲームを再生すると、
BGM が再生されることが確認できます
確認ができたらエディタ上部の再生ボタンを押してゲームを停止します

f:id:baba_s:20180116203511p:plain

このままだと、BGM が1回再生されるとそのまま終わってしまうので
「Audio Source」の「Loop」にチェックを入れます
これで、BGM がループ再生されるようになります

また、BGM の音量が大きすぎる場合は、「Volume」のスライダを調整します

以上で、BGM と SE の実装が完了になります

ブロックの色の変更

最後に、ブロックの色を変更します

f:id:baba_s:20180116211832p:plain

Unity メニューの「Assets>Create>Material」を選択します

f:id:baba_s:20180116211843p:plain

すると、Material ファイルが作成されるので「BlockMaterial」と名前を付けます
Material(マテリアル)は、オブジェクトの色や陰影を管理するファイルです

f:id:baba_s:20180116211851p:plain

「BlockMaterial」を選択して上記の赤枠で囲まれたアイコンをクリックします

f:id:baba_s:20180116211902p:plain

「Color」ウィンドウが表示されたら、
入力欄に上から順に「255」「0」「0」「255」と入力して閉じます

f:id:baba_s:20180116201851p:plain

次に、オブジェクトの一覧が表示されている Hierarchy ビューの検索欄に
「BlockController」と入力します
すると、「BlockController」が設定されたすべてのブロックが表示されます

f:id:baba_s:20180116201946p:plain

そして、「Block」を選択してから、

f:id:baba_s:20180116201957p:plain

Shift を押しながら一番下の「Block (5)」を選択すると、
すべてのブロックを選択した状態になります

f:id:baba_s:20180116211910p:plain

その状態で、「BlockMaterial」を「Add Component」ボタンの下にドラッグします

f:id:baba_s:20180116211923p:plain

これで、ブロックの色を変更することができました