Unity教學 2D小遊戲製作 part 3
Unity教學第三篇,這篇我們要講動畫和音效
建議先看過前兩篇
本篇分成2個小節:
1. 爆炸動畫製作
2. 音效和背景音樂
1. 爆炸動畫製作
先講爆炸的動畫
用小畫家開一個50 X 200像素的區域
每50像素畫一個爆炸的連環圖
畫好之後,存成PNG檔
拖曳到Asset中
Sprite Mode選Mutiple
如果把很多圖片放在一張圖裡,就要選Multiple
然後按Sprite Editor
Sprite Editor按下去後
會出現一個新的視窗
1. 按左上角的Slice,會出現一個小選單
2. Type選Grid(格狀),Pixel Size的X和Y都設50 (新版是Grid By Cell Size)
3. 按下面的Slice(裁切)
然後我們就會看到圖片被切成4份了
1. 按Apply(使用)
2. 按X離開
按Explode旁的小三角型,會跑出我們切割的四個圖片
用Ctrl + 滑鼠左鍵,選取這四個圖片(變成藍底色)
一起拖曳到Hierarchy底下,會自動產生動畫
然後就會出現一個視窗,問你這個動畫要存成什麼名字
輸入explode,按存檔
會出現三個新的東西
1. Explode_0的物件
2. explode的動畫
3. Explode_0的動畫控制器
這三者的關係是,物件底下有動畫控制器,控制器底下有動畫
點一下explode動畫
把explode動畫底下的Loop time打勾取消
這樣動畫纔不會一直重複播放
我們把Hierarchy底下的Explode_0物件改名成ExplodeObject
然後在ExplodeObject物件底下
加入程式描述
自訂一個新的function,取名為AnimationEnd
注意不是放在update的大括號內喔
void AnimationEnd()
{
Destroy (gameObject); //消滅物件
}
這個function我們等一下會用到
Window → Animation
開啟Animation視窗
1. 點一下ExplodeObject選擇動畫
2. 點Add Event. 加入新的事件
3. 把Event的小箭頭拉到第五格,我們會看到他顯示No Function Selected
也就是還沒選擇Function的意思 (新版會出現在Inspectors那個視窗裡)
4. 點兩下Event的小箭頭,就會出現選單
選擇我們剛剛自訂的AnimationEnd()
選了之後,我們會看到他顯示AnimationEnd()
然後我們把ExplodeObject拖曳到Asset底下
我們不需要爆炸一開始在場景裡
把Hierarchy底下的ExplodeObject刪掉
打開之前的外星人程式
在開頭加上
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
成功的話,就會看到爆炸的動畫了
2. 音效和背景音樂
接著,要加入音效和音樂
我們去素材商店(Asset Store)找音效吧!
Window → Asset Store
Asset Store裡有很多超酷超炫的素材
音樂音效、2D圖片、3D人像、3D場景等
其中有一些是免費的,有空的話一定要逛一下!
按左上角的Log in,登入Unity的開發帳號
然後按右邊選單 (新版商店的右上角可以選擇回到舊版商店Shop On Old Store)
Audio → Sound FX(音效)
點畫面中間的PRICE,依價格排序
Free(免費)的會排在前面
找一個8 BIT FREE SFX,然後按Download下載
當然你也可以找其它的音效來用
然後按Import帶入
Import之後,Asset底下會出現一個新的資料夾
把我們要的音效拖曳到Asset
我選了explosion0作為爆炸聲,shot3當作雷射聲
其它不用的就刪掉了,避免最後輸出時,存在太多不必要的檔案
然後在LaserObject底下加入Audio元件
選Audio Source(聲音來源)
然後我們把shot3音效拖曳到AudioClip的空格
同樣的,我們在ExplodeObject底下加入Audio Source
然後把explosion0的音效拖曳到AudioClip的空格
存檔後Play,應該就能聽到音效了
接著找音樂
1. 右邊選單選Music
2. PRICE按價格排列
3. 找一個8-bit Action Free
把要的音樂拖曳到Asset中
1. Background底下新增Audio Source
2. 音樂拖曳到AudioClip的空格
3. Loop打勾,就會重複播放
4. 刪除不要的音樂,當然你也可以移到其他資料夾保留他們
存檔後Play,享受你的遊戲吧!
下一篇,我們會講解介面和遊戲機制
前往下一篇