39.jpg  

 

Unity教學第三篇,這篇我們要講動畫和音效

建議先看過前兩篇

Unity教學 2D小遊戲製作 part 1

Unity教學 2D小遊戲製作 part 2

 

 

 

本篇分成2個小節:

1. 爆炸動畫製作

2. 音效和背景音樂

 

1. 爆炸動畫製作

先講爆炸的動畫

用小畫家開一個50 X 200像素的區域

每50像素畫一個爆炸的連環圖

1.JPG  

 

畫好之後,存成PNG檔

拖曳到Asset中

2.JPG  

 

點一下Explode,在Inspector的頁面裡

Sprite Mode選Mutiple

如果把很多圖片放在一張圖裡,就要選Multiple

然後按Sprite Editor

3.JPG  

 

Sprite Editor按下去後

會出現一個新的視窗

1. 按左上角的Slice,會出現一個小選單

2. Type選Grid(格狀),Pixel Size的X和Y都設50 (新版是Grid By Cell Size)

3. 按下面的Slice(裁切)

4.jpg  

 

然後我們就會看到圖片被切成4份了

1. 按Apply(使用)

2. 按X離開

5.JPG  

 

按Explode旁的小三角型,會跑出我們切割的四個圖片

用Ctrl + 滑鼠左鍵,選取這四個圖片(變成藍底色)

6.JPG  

 

一起拖曳到Hierarchy底下,會自動產生動畫

7.JPG  

 

然後就會出現一個視窗,問你這個動畫要存成什麼名字

輸入explode,按存檔

8.JPG  

 

會出現三個新的東西

1. Explode_0的物件

2. explode的動畫

3. Explode_0的動畫控制器

這三者的關係是,物件底下有動畫控制器,控制器底下有動畫

9.JPG  

 

點一下explode動畫

把explode動畫底下的Loop time打勾取消

這樣動畫才不會一直重複播放

34.JPG  

 

我們把Hierarchy底下的Explode_0物件改名成ExplodeObject

40.jpg  

 

然後在ExplodeObject物件底下

加入程式描述

 

自訂一個新的function,取名為AnimationEnd

注意不是放在update的大括號內喔

void AnimationEnd() 
{
Destroy (gameObject);
//消滅物件
}

這個function我們等一下會用到

14.JPG

 

Window → Animation

開啟Animation視窗

 

1. 點一下ExplodeObject選擇動畫

2. 點Add Event. 加入新的事件

3. 把Event的小箭頭拉到第五格,我們會看到他顯示No Function Selected

也就是還沒選擇Function的意思 (新版會出現在Inspectors那個視窗裡)

4. 點兩下Event的小箭頭,就會出現選單

選擇我們剛剛自訂的AnimationEnd()

 41.jpg  

 

新版的Event會出現在Inspectors那個視窗裡

41_1.jpg

 

選了之後,我們會看到他顯示AnimationEnd()

 

然後我們把ExplodeObject拖曳到Asset底下

 

我們不需要爆炸一開始在場景裡

把Hierarchy底下的ExplodeObject刪掉

 

打開之前的外星人程式描述 (Invader.cs)

在開頭加上

public GameObject explo; //宣告一個名為explo的物件

 

然後在碰撞事件底下加入

Instantiate(explo,transform.position,transform.rotation); //在外星人的位置產生爆炸

if (col.tag == "Ship") //如果碰撞的標籤是Ship
{
Instantiate(explo,col.gameObject.transform.position,col.gameObject.transform.rotation);

//在碰撞物件的位置產生爆炸,也就是在太空船的位置產生爆炸
}

 

 

寫好之後存檔,我們就會看到外星人的程式底下多了Explo的空格

把ExplodeObject拖曳到空格中

 

存檔後按Play

 

成功的話,就會看到爆炸的動畫了

39.jpg  

 

2. 音效和背景音樂

接著,要加入音效和音樂

我們去素材商店(Asset Store)找音效吧!

Window → Asset Store

 

Asset Store裡有很多超酷超炫的素材

音樂音效、2D圖片、3D人像、3D場景等

其中有一些是免費的,有空的話一定要逛一下!

按左上角的Log in,登入Unity的開發帳號

21.JPG  

 

搜尋 "Free 8bit Game Sound Effect Package"

然後點擊進去,這個是免費的音效

22_2.jpg

 

Download然後Import

23.jpg  

 

我們不用Import全部的檔案

我選了explosion0作為爆炸聲,shot3當作雷射聲

勾選這兩個就好,然後Import

當然你也可以全部Import,聽聽看不同的聲音

或是下載其他免費資源來用

 24_1.jpg

 

Import之後,Asset底下會出現一個新的資料夾

裡面有剛剛勾選的explosion0和shot3

26_2.jpg

 

把這兩個檔案拖曳到Asset的資料夾裡

27_2.jpg

 

 然後在LaserObject底下加入Audio元件

 

 選Audio Source(聲音來源)

 

把shot3音效拖曳到AudioClip的空格

29.JPG  

 

同樣的,我們在ExplodeObject底下加入Audio Source

然後把explosion0的音效拖曳到AudioClip的空格

30.JPG  

 

存檔後Play,應該就能聽到音效了

 

接著找音樂

1. 右邊選單選Music

2. PRICE按價格排列

3. 找一個8-bit Action Free 

也可以直接搜尋 " 8-bit Action Free "

31.JPG  

 

我選了Aggressive1當作背景音樂

把要用的音樂拖曳到Asset中

32.JPG  

 

1. Background底下新增Audio Source

2. 音樂拖曳到AudioClip的空格

3. Loop打勾,就會重複播放

4. 刪除不要的音樂,當然你也可以移到其他資料夾保留他們

33.JPG  

 

存檔後Play,享受你的遊戲吧!

 

下一篇,我們會講解介面和遊戲機制

前往下一篇

Unity教學 2D小遊戲製作 part 4

 

想要了解程式的觀念,請參考 初學者如何建立程式的觀念(Scratch教學)

 

arrow
arrow

    讀樂島主 發表在 痞客邦 留言(46) 人氣()