2016年6月29日 星期三

[Unity][PlayMaker] 練習二 : 寶箱開關

寶箱開關練習

這個練習基本上算是上一個練習的延伸變化,主要是讓大家開始試著去使用Asset Store中的免費套件,以及當加入了動畫播放時需要注意的事項.

可學習技能 :

Animation => Play Animation


接著我們可以透過下面影片來學習如何控制寶箱的動作


謝謝大家的收看,下次再會!


2016年6月27日 星期一

[Unity][PlayMaker] 練習一 : 燈光開關

設計概念

在使用PlayMaker設計狀態機前,對於新手來說需要先了解一下基本的設計概念及流程,分別是(1)載點  (2)狀態  (3)事件  (4)行為.

載點

載點是指狀態機所掛載的地方,狀態機必須掛載於GameObject中,要特別注意當操作行為中會有Active或是Destroy這種會讓GameObject停用或銷毀的情況下,載點是否適合掛載在某個GameObject中,因為一旦GameObject停用或銷毀時,它所掛載的狀態機也會一併停用或銷毀,就可能導致最後執行結果不如你所預期.

狀態

狀態是指當你在設計某個功能時,該功能中可被預期的所有狀態.簡單舉兩個例子,(1)當我們想做出一個電燈開關時,試著去想想看電燈開關這個功能裡面可能會有哪些狀態呢?答案是兩個,開跟關.(2)當你想設計一個瑪力歐時,我們可預期到他一定會有移動,加速,跳躍,蹲下等這些行為,也就是至少會需要四個狀態.

事件

狀態移動到下一個狀態所需的連結可以稱為事件.狀態本身是死的,必須透過觸發事件才能夠轉移到其他狀態.以電燈開關為例,電燈的開跟關兩個狀態代表的其實只有電燈是明或滅,光只有狀態並沒辦法讓你可以讓兩者之間做切換,所以我們必須加入打開電燈以及關閉電燈這兩個事件來讓開跟關兩個狀態之間可以切換.

行為

當前面三項都完成後,確定狀態能夠透過事件並如你預期的做切換時,最後我們才會去考慮在各個狀態上實際應該發生的事情,而這些事情我們稱做行為.以電燈開關來說,在開跟關這兩個狀態中必須發生的事情,就是去控制光源,當狀態是開,必須讓光源啟用或是產生出來,而當狀態是關的時候,則必須把光源銷毀或是停用.


燈光開關練習


可習得技能:

GUI => GUI button
UnityObject => Set property


接著我們可以透過下面影片來學習到底怎麼去實作一個簡單的燈光開關




今天的教學到這邊結束,希望大家會喜歡,謝謝!!

2016年6月22日 星期三

[Unity][PlayMaker] PlayMaker安裝與介紹

PlayMaker安裝與介紹

在安裝之前,我們先來介紹一下為什麼要使用PlayMaker好了.

PlayMaker是一款以有限狀態機的方式來實作及呈現遊戲的Unity外掛程式,透過有限狀態機,在開發遊戲邏輯時可以很明確且很簡單的加入你所預期發生的行為,因為不需要寫任何程式. 

狀態機


蛤?什麼是有限狀態機?這個可能很多人聽都沒聽過,在這邊簡單說明一下.

有限狀態機簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的模型.

狀態機的動作主要分四大類,分別是進入,退出,輸入及轉移.

我們試著從下圖來瞭解一下狀態機的動作.


1. 當開始執行時,會由初始狀態輸入N這個數值到狀態1.
2. 狀態1會判斷N大於1或是小於1,若大於1則移動到狀態2,小於1則直接到狀態3.
3. 狀態2會判斷N+1之後是否大於5,若大於5,則移動到狀態3,小於5則將N+1送回狀態1.
4. 狀態3會直接輸出N到狀態4,因為狀態4沒有任何往其他地方的箭頭,所以到這邊結束.


上面例子中,狀態跟狀態之間依據不同條件切換,就是狀態機的基本概念了,你可以清楚看到在系統中可能會發生的所有狀況,當在PlayMaker中實作時,還可以清楚看到目前處於哪個狀態中,等到下一篇開始正式教學時會有清楚的例子讓大家看.


[2016.06.26追記 >>

由於測試教學時發現原本的有限狀態機說明太過理論化,所以追加一個簡單的應用說明,希望能更淺顯易懂.


上圖中是一假設我們創立了一個人物,我們預期他應該要有站立,蹲下,行走以及跳躍等動作,於是圖中會有四個狀態分別對應到我們預期的動作,由於這些動作是我們所事先預期的,所以這個人物會擁有的狀態一開始就被我們限制,所以稱為有限狀態,

在圖中,我們設定五個不同按鍵分別代表著四個方向以及跳躍,我們開始試著說明這張圖.

1. 當遊戲開始時,角色預設的狀態是站立的.
2. 當玩家按下A或D時,這時候狀態會由站立切換到行走,這時候角色會移動.
3. 當角色行走時,若玩家按下了空白鍵,狀態會由行走切換至跳躍,跳躍完會自動回到站立狀態,若此時A或D並未放開,狀態會立即從站立切換到行走.
4. 在站立狀態中若是按下S,則狀態會從站立切換到蹲下,若是S鍵沒放開的情況下,將會一直持續在蹲下狀態,也就是角色無法做其他任何事情(因為狀態無法切換).

<<2016.06.26追記]



PlayMaker安裝

先前文章中已經提過如何安裝Unity,接著我們要來安裝PlayMaker.

PlayMaker的取得方式有兩種,一種是透過Unity上的Assets Store,另一種則是直接在PlayMaker官網上取得. 順帶說明一下,這外掛是要錢的.

官網取得:

http://www.hutonggames.com/

到官網頁面上會看到下圖,點選2










緊接著會看到下方畫面,點選玩playMaker



最後就會看到購物清單畫面,選擇自己需要的方案,接著去結帳後就可以下載PlayMaker assets package.




















取得Assets package後,在Unity專案中,找到Project區塊,在Assets區點擊右鍵,選擇Import Package > Custom Package.


然後就可以選擇要匯入的Assets Package. 選擇PlayMaker.unitypackage,然後open.


全選後,點選Import.


畫面上方選單會出現PlayMaker的選項,選擇Install後會看到下方一連串畫面.






安裝完畢後,點選PlayMaker > PlayMaker Editor.


看到下方的編輯器畫面就算安裝完畢嚕.


Unity Asset Store取得 :

在Unity上方選單中點選Windows > Asset Store,將會開啟Store頁面.

輸入PlayMaker,按下搜尋(放大鏡).


下圖是搜尋結果,我們需要的是第一個,點擊後可以進入購買頁面.


因為我的帳號已經購買過了,所以會直接看到Import按鈕,之後的操作跟由官方取得後安裝程序是一樣的,就不多敘述了.



今天的介紹到這邊,接下來的教學,個人期望是由影片的方式來呈現,希望可以幫到真心想學習卻苦無門路的人.


2016年6月11日 星期六

[Unity] 介面基礎介紹

介面基礎介紹

概要


Unity專案建立好後,初始畫面如下,主要分為Hierarchy(物件階層),Scene(場景),Game(遊戲畫面),Project(專案資產區),Console(操控台)及Inspector(物件檢視器)等區塊.


Scene(場景區)


首先介紹Scene視窗,Scene顧名思義就是架設遊戲內容的地方,可以把它想像成拍片現場.每個Scene都是由許多的GameObject(遊戲物件)所組成,而GameObject則是由許多的Component(元件)所組成. 簡單的說,Scene就是用來裝GameObject的容器,GameObject是用來裝Component的容器.

在Scene底下有些小工具,初學者最需要知道的大概就是2D/3D的切換,點擊圖中2D字樣,就可以切換成3D模式,當然不管在哪個模式中都是可以使用2D/3D物件的,其他功能等以後的教學有使用到時我們再另外做介紹.


Game(遊戲畫面)

Game視窗就是用來呈現實際遊戲進行時的畫面,通常在開發時會將Scene跟Game兩個視窗並排呈現,在開發期間會比較方便.

底下依然有幾個功能可以使用,Free Aspect(自由視角)這裏可以切換Game視角的比例大小;Maximize on Play(執行最大化)顧名思義就是當程式執行時,會以全螢幕方式呈現Game; Stat(狀態),點擊時可以看到Game的資源使用概況,不過初學者就先跳過吧,才不會一開始就覺得太過複雜而感到挫折QQ.




Hierarchy(物件階層)

這一區主要是用來管理物件之間的關係,物件階層是指物件跟物件之間有從屬關係,舉一個簡單的例子來說,車子是由許多的零組件湊起來的,這些零組件包含引擎,輪胎,車身等等,在這裏,車子就是主物件,而那些零組件則是他的子物件.




Project Assets(專案資產區) 


舉凡圖片,音檔,程式以及場景等在Unity中都是以Asset(資產)來總稱,就連你開發完的專案都是以Asset package(資產包)的方式匯出,這區就是用來管理資產的匯入/匯出及其他管理功能


Console(操控台)

有過程式開發經驗的人應該不用我多解釋,不過對於新手來說,只要記得這邊就是看Log(日誌)的地方就可以了,日誌?就是程式運行中系統會拋出來的訊息或是人為在程式中設定呈現出來的訊息.






Inspector(物件檢視區)

物件檢視區,顧名思義就是檢視及設定物件內的Component(元件)參數,這些元件如Transform(可變),Render(成像),Collider(對撞機)等等.圖中因為在系統中並沒有特地點擊任何物件,所以看起來一片空白,各位可以試著點擊物件階層中的任意物件,就可以看到裡面的元件及參數了.


這次的介紹就到此,接下來的教學會以PlayMaker這個插件為主,希望能讓不懂程式的人也可以輕鬆上手Unity,謝謝!!

2016年6月9日 星期四

[Unity] 安裝環境

Unity安裝環境

Unity下載

下載連結 : http://unity3d.com/cn/get-unity

Unity提供了兩種版本可供下載使用,分別是Personal (個人版) 及 Professional (專業版).

兩個版本功能差異請參考網頁上說明,當然最明顯的差異就是一個免費一個付費.



在下載時,網頁會自行判斷你使用的電腦該下載Mac或Windows的版本,在這邊僅說明Mac版安裝程序.

點選Unity Download Assistant,會開始進行安裝.







在這邊,預設是只有前五項,不會有Build Support,所以只要先安裝前五項就可以了.






安裝完成後,需要先建立一組Unity帳號,申請完畢後登入.


接著就可以試著建立專案了.


先試著建立一個2D專案吧,輸入專案名稱以及專案位置,選擇2D,點選Asset packages.


在Asset packages中,可以預先為專案載入你覺得需要用到的Asset (資產).


接著按Create project,稍等一下應該就會看到下方的畫面了.


這次的介紹就到這邊,下一篇將會介紹Unity畫面中各區塊的主要功能,謝謝!!