nav分隔線 nav分隔線

用Unity製作2D遊戲入門

icon_fb icon_twitter icon_google
用Unity製作2D遊戲入門

文、查理

 

 

Flappy Bird Style Game是一個簡單有趣的官方原廠範例,可以讓初學者用輕鬆快速的方式,了解UNITY如何製作2D遊戲。

 

利用簡單的4張圖片,組成一個遊戲的基本內容,分別是:

1. 角色圖片『Bird』

2. 障礙物圖片『Column』

3. 地板圖片『Grass』

4. 背景圖片『Sky』

 

 

👉推薦課程:遊戲美術設計師

 

 

遊戲製作步驟,大概分成6個部分:

 

1. 場景圖片安排,圖片碰撞感應範圍設定,圖片重力設定

2. 玩家角色,彈跳高度設定,彈跳動畫設定

3. 背景圖片持續橫向移動,移動方向,移動速度,無限循環設定

4. 障礙物出現方式,每間隔三秒出現一組新的障礙物,無限循環

5. 得分設定,美穿過一次障礙物,即可獲得一分,得分文字設定

6. 玩家死亡設定,死亡動畫,遊戲結束畫面,重新遊玩設定,離開遊戲設定

以上就是遊戲的基本架構,在這基礎上,再加上其他的變化,就可以做出各種不同的遊戲。

 

 

 

Unity 的圖片操作方式

基本上就跟illustrator差不多,一樣是用點選的方式,直接就可以移動圖片,旋轉圖片,縮放圖片,一樣可以設定圖層,方便圖片的背景、中景、前情、主角,前後位置的安排設定。

 

Unity的2D圖形碰撞感應範圍

有很多個選項,有圓形、矩型跟多邊形,通常玩家角色的造型都是不規則的,所以很適合用多邊形的感應範圍,多邊形感應範圍的設定方式就跟Photoshop的多邊形套索一樣,操作簡單,那圖片的規格該如何設定:一般的JPG圖片格式72dpi即可。

 

 

那遊戲的互動部分,需要寫程式碼嗎?

 

Unity大部分的程式指令,都是獨有的,所以對於不熟悉其他程式的人,也可以很容易上手,初學者一開始只要掌握基本的判斷是跟迴圈,即可輕鬆製作遊戲。

 

 

那unity本身的程式指令,會很困難嗎?

 

以玩家角色彈跳的指令來做示範,其實程式的內容,跟我們平常講話的內容差不多。

 

玩家角色彈跳程式:

GetComponent<Rigidbody2d>().AddForce(new Vector2(0, 200));

GetComponent<>()

取得(使用)這個物件的某個功能

Rigidbody2d:2D圖片的重力功能

AddForce:增加(朝某個方向移動的)力量

 

(0,200),2個數字依序是X Y

X軸代表的是左右移動,正值向右移動,負值向左移動

Y軸代表的是上下移動,正值向上移動,負值向下移動

 

程式指令中間都會有一個點.

這就很像你的、我的

某個功能「的」某個屬性

2D重力功能「的」增加力量

最後一定都會有個結束符號「;」

整行程式碼翻譯

GetComponent<Rigidbody2d>().AddForce(new Vector2(0, 200));

使用這個物件的2d重力功能的增加力量(向上移動200像素)

我們也必須要跟遊戲說這個動作要執行一次,還是要持續執行

Void Start(){ }:遊戲一開始,執行一次

Void Update(){ }:遊戲開始後,每一秒執行30次(預設值,也可以改成75次)

 

 

如果把剛剛的彈跳程式,放在update裡面

Void Update(){

 

GetComponent<Rigidbody2d>().AddForce(new Vector2(0, 200));

 

 }

遊戲開始後,會持續向上移動200像素,每一秒會移動6000像素(200像素×30次),如果希望按一下滑鼠左鍵就跳一下,那我們就要再加入一個判斷式:

if(條件){條件達成後要執行的內容}

if(明天是晴天){明天就去海邊走走}

意思就是,如果(if)明天是晴天,那明天就去海邊走走

 

如果想按一下滑鼠左鍵就跳一下,可以這樣寫:

if(按一下滑鼠左鍵){跳一下}

按一下滑鼠左鍵的寫法:

Input.GetMouseButtonDown(0)

Input:輸入裝置(滑鼠或鍵盤)

GetMouseButtonDown:按下滑鼠的按件

(0):滑鼠的左鍵,0代表的是左鍵,1代表的是右鍵,2代表的是中鍵

 

整句的意思

Input.GetMouseButtonDown(0)

輸入裝置的滑鼠左鍵按一下

if(Input.GetMouseButtonDown(0)){

 

GetComponent<Rigidbody2d>().AddForce(new Vector2(0, 200));

 

}

完整的說法:輸入裝置的滑鼠按一下(左鍵),使用2d重力的功能,這個物件增加向上200像素的力量

口語的說法:按一下,跳一下

其實就是把我們平常想到的任何動作,要非常詳細的跟電腦說明,他才能夠做出你想要的內容。

 

 

通常這樣的一個小遊戲,初學者大概只要花費六次課堂的時間,就可以有一個基本的掌握,當然如果想要朝遊戲業發展或是獨立遊戲製作工作室,那就是多練習不同的遊戲範例,掌握更多的功能使用方式,目前全世界大概有一半以上的遊戲開發者,使用Unity開發遊戲,他同時也擁有相當龐大的遊戲素材庫,包含圖片、音效、背景音樂、角色動畫、3D模型、功能程式碼。對於獨立工作者或初學者的遊戲開發,有非常大的幫助。

 

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策