2016年6月27日 星期一

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

設計概念

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

載點

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

狀態

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

事件

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

行為

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


燈光開關練習


可習得技能:

GUI => GUI button
UnityObject => Set property


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




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

沒有留言:

張貼留言