Unity

Unity

官方網站:點擊進入
官方粉絲團:點擊進入

《Unity》 2D小遊戲製作教學(三)

【unity】 【2D】 【教學】
作者:讀樂島主 時間:2015-10-05

原文連結

《Unity》 2D小遊戲製作教學(三)  

 

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

建議先看過前兩篇

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

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

 

本篇分成2個小節:

1. 爆炸動畫製作

2. 音效和背景音樂

 

1. 爆炸動畫製作

先講爆炸的動畫

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

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

《Unity》 2D小遊戲製作教學(三)  

 

畫好之後,存成PNG檔

拖曳到Asset中

《Unity》 2D小遊戲製作教學(三)  

 

Sprite Mode選Mutiple

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

然後按Sprite Editor

《Unity》 2D小遊戲製作教學(三)  

 

Sprite Editor按下去後

會出現一個新的視窗

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

2. Type選Grid(格狀),Pixel Size的X和Y都設50

3. 按下面的Slice(裁切)

《Unity》 2D小遊戲製作教學(三)  

 

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

1. 按Apply(使用)

2. 按X離開

《Unity》 2D小遊戲製作教學(三)  

 

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

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

《Unity》 2D小遊戲製作教學(三)  

 

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

《Unity》 2D小遊戲製作教學(三)  

 

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

輸入explode,按存檔

《Unity》 2D小遊戲製作教學(三)  

會出現三個新的東西

1. Explode_0的物件

2. explode的動畫

3. Explode_0的動畫控制器

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

《Unity》 2D小遊戲製作教學(三)  

 

點一下explode動畫

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

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

《Unity》 2D小遊戲製作教學(三)  

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

《Unity》 2D小遊戲製作教學(三)  

 

然後在ExplodeObject物件底下

加入程式描述

《Unity》 2D小遊戲製作教學(三)

 

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

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

void AnimationEnd() 
{

Destroy (gameObject); //消滅物件
}

這個function我們等一下會用到

《Unity》 2D小遊戲製作教學(三)

 

Window → Animation

開啟Animation視窗

《Unity》 2D小遊戲製作教學(三)

 

1. 點一下ExplodeObject選擇動畫

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

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

也就是還沒選擇Function的意思

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

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

 《Unity》 2D小遊戲製作教學(三)  

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

《Unity》 2D小遊戲製作教學(三)

 

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

《Unity》 2D小遊戲製作教學(三)

 

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

把Hierarchy底下的ExplodeObject刪掉

《Unity》 2D小遊戲製作教學(三)

 

打開之前的外星人程式

在開頭加上

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);

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

 

《Unity》 2D小遊戲製作教學(三)

 

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

把ExplodeObject拖曳到空格中

《Unity》 2D小遊戲製作教學(三)

 

存檔後按Play

《Unity》 2D小遊戲製作教學(三)

 

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

《Unity》 2D小遊戲製作教學(三)  

 

2. 音效和背景音樂

接著,要加入音效和音樂

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

Window → Asset Store

《Unity》 2D小遊戲製作教學(三)

 

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

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

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

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

《Unity》 2D小遊戲製作教學(三)  

 

然後按右邊選單

Audio → Sound FX(音效)

《Unity》 2D小遊戲製作教學(三)

 

點畫面中間的PRICE,依價格排序

Free(免費)的會排在前面

《Unity》 2D小遊戲製作教學(三)  

 

找一個8 BIT FREE SFX,然後按Download下載

當然你也可以找其它的音效來用

《Unity》 2D小遊戲製作教學(三)  

 

然後按Import帶入

《Unity》 2D小遊戲製作教學(三)

 

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

把我們要的音效拖曳到Asset

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

《Unity》 2D小遊戲製作教學(三)  

 

其它不用的就刪掉了,避免最後輸出時,存在太多不必要的檔案

《Unity》 2D小遊戲製作教學(三)

 

 然後在LaserObject底下加入Audio元件

《Unity》 2D小遊戲製作教學(三)

 

 選Audio Source(聲音來源)

《Unity》 2D小遊戲製作教學(三)

 

然後我們把shot3音效拖曳到AudioClip的空格

《Unity》 2D小遊戲製作教學(三)  

 

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

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

《Unity》 2D小遊戲製作教學(三)  

 

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

《Unity》 2D小遊戲製作教學(三)

 

接著找音樂

1. 右邊選單選Music

2. PRICE按價格排列

3. 找一個8-bit Action Free

《Unity》 2D小遊戲製作教學(三)  

 把要的音樂拖曳到Asset中

《Unity》 2D小遊戲製作教學(三)  

 

1. Background底下新增Audio Source

2. 音樂拖曳到AudioClip的空格

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

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

《Unity》 2D小遊戲製作教學(三)  

 

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

《Unity》 2D小遊戲製作教學(三)

 

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


x