2016年7月21日 星期四

[Unity][PlayMaker] 練習九 : 資料型態轉換

資料型態


這邊我們先簡單介紹一下先前以及這次會用到的資料型態 :

int (整數) :就是沒有小數點的數字啦~int的範圍可以在-2147,483,648 ~ 2147,483,647之間

float (浮點數) :就是最多可以到小數點第六位的數字,範圍在1E-37 ~ 1E37之間

vector3 (3維向量) :就是有XYZ三個軸的向量,無限制範圍 ((吧?

vector2 (2維向量) :就是只有XY兩個軸的向量,應該也是無限制範圍((吧?

(向量 :具有方向及大小的量,你試著畫出X = 1, Y = 2的座標,然後從(0,0)連過去(1,2),連出來的那條線就是向量了,具方向又有長度)

String (字串) :就是文字.

boolean (布林值) :只有包含兩個狀態的值,例如true/false,yes/no或是on/off.


資料轉換練習

這次的練習我們會用到整數與字串的轉換,再將字串顯示在畫面上用來做計數器,請大家試著照著影片練習一下吧~




試著應用到其他不同地方吧~下次再會XD

[Unity][PlayMaker] 練習八 : 物體碰撞

碰撞與觸發

先前我們提到過觸發,是指當物件進入某個有形或無形的範圍時的進,出及停留可以自動發動某些我們期望的行為.

那麼碰撞呢?碰撞是指兩個無法互相穿透的物件互相接觸到時,就叫碰撞. 碰撞時依然可以觸發某些我們期望的行為,而除了這些行為以外,還會視這兩個物件的剛體設定產生一些物理影響,比方說A物件比B物件重,當A物件移動去推擠B物件時,B物件就會被A物件推著走.


物體碰撞練習


接著請試著照影片練習一下簡單的的碰撞行為吧~





記得要練習才是王道~不要看過就算了QQ

[Unity][PlayMaker] 練習七 : 預製物件

預製物件

預製物件,顧名思義就是事先準備好在場景中所需要使用到的物件,包括物件的相關動作邏輯等等,然後將做好的物件轉換成預製物件,如此一來就可以在任意場景中量產該物件. 

舉例來說,在一款射擊遊戲中,敵方角色不斷出現,這時候的敵方角色並不是設計者先準備好一堆物件在特定位置上隱藏著,等時間到才解除隱藏,而是先做好敵方角色的預製物件,等到場景滿足特定條件時才會生成並出現在畫面上.

那麼,這兩種做法的差異性在哪裡呢?答案是系統效能. 事先產生好放在特定位置等待,這種做法在遊戲一開始系統就會被這些還不需要使用到的物件佔用掉許多資源,反而造成遊戲效能變差. 事先做好預製物件的話,在場景需要這些物件時才會被生成,如此一來資源就可以有效地被利用.

蛤?還是看不懂嗎?你家倉庫本來只能放一個月的所有日常用品的備品,結果某天你買了一年份的衛生紙塞滿了倉庫,結果導致你沒地方放其他東西的備品,大概是這種概念.


預製物件練習

接下來就可以開始照著影片練習如何預製物件,很簡單也很方便der!!



謝謝大家收看,記得多練習!!

2016年7月20日 星期三

[Unity][PlayMaker] 練習六 : 物件移動-自動

自動移動

所謂的自動移動,就是指物件有自己固定或隨機的自發行為,不需要透過人為去操作,最簡單的一種就是指定目標移動.

自動移動的運用幾乎在所有遊戲都可以看得到,像是NPC的移動或是攝影機切換視角都會用到.


自動移動練習


這次的練習很簡單,我們會建立一個物件自動在兩個定點間規律移動,接著請大家試著照著影片實作看看吧!!




謝謝大家~

2016年7月13日 星期三

[Unity][PlayMaker] 練習五 : 全域事件與物件隱藏

物件消失

在畫面上使物件消失(指看不到),大致上有三種方式 : 描繪(Render)失效,物件失效以及摧毀(Destroy)物件.

描繪失效

物件在畫面上可以被看見,主要是依賴描繪元件 (Render component),描繪元件中有許多設定,這個以後再慢慢介紹,當描繪元件失效時,物件本身無法以任何可視形式出現在畫面中,但是在這種情況下,物件本身還是存在於場景中,也就是它的其他元件功能還是健在的.
描繪失效將在這次的練習中介紹給大家使用.

物件失效

物件失效,會使物件中所有元件一併失效,當然也包括狀態機及成像. 在這種狀況下,物件是可以透過其他物件重新啟用,但是無法靠自己.,然而物件的所有參數也都不會因此被改變.物件失效我們在練習一的電燈開關裡面就有應用到了.

摧毀物件

摧毀物件,顧名思義就是毀屍滅跡了,在場景中被摧毀的物件就永遠消失了,所以它的任何功能跟設定也就跟著消失了.


全域事件觸發隱藏物件


在這次的練習中,我們將會練習之前提到過的全域事件來透過觸發器控制物件的描繪失效,請大家照著影片練習唷!



下一回會跟大家介紹如何讓物件自動移動,謝謝大家!

2016年7月9日 星期六

[Unity][PlayMaker] 練習四 : 觸發器

觸發器

今天要跟大家介紹的是觸發器的基本概念,什麼是觸發器呢?

簡單的說,就是用來偵測物件之間彼此有沒接觸到的一個機制,這機制又分三種狀況.

進入期

當A物件剛碰觸到B物件,但是還沒完全被B物件涵蓋時,稱為進入期.

滯留期

當A物件完全被B物件所涵蓋時,稱為滯留期.

離開期

當A物件剛離開B物件,但是還沒有完全脫離B物件時,稱為離開期.


觸發器練習

這次的練習,我們主要會針對上述的三種狀況做練習,請照著下面影片練習看看吧!



下一回,將會為大家介紹讓物件消失的幾種方式以及全域事件的使用,謝謝!!

2016年7月1日 星期五

[Unity][PlayMaker] 練習三 : 物件移動-手動

物件移動-手動

這次要教大家的是如何透過鍵盤去控制物件的移動.

在這次練習開始之前,要先跟大家介紹區域變數,全域變數,區域事件以及全域事件.

什麼是變數?

變數可以指在電腦記憶體裏存在值的被命名的存儲空間。

簡單來說,就是有個東西用來存放特定的值. 舉例來說,有個叫做Name的變數,我在裡面放了Tom,那這個變數就等於Tom,可以讀作 Name = Tom. 在PlayMaker裡最常會用到的就是座標跟位移 (就是指物件每次要移動的單位).

在這次練習中,我們會取得一個向量(就是有方向性的值),然後將它存放在一個向量變數中.

區域變數

只能在某個物件內使用的變數就叫做區域變數,比方說你在攝影機裡設定的區域變數,就不能拿到攝影機以外的物件使用或修改.

全域變數

所有在同一個Scene(場景)上出現的物件都可以通用的變數就叫做全域變數. 比方說你在攝影機裡設定了一個全域變數,這個變數是可以被其他物件(像是光源)直接拿來使用或修改.

區域事件

事件在之前的練習中出現過了,其代表的就是某個過渡的觸發點,觸發後就會依據過渡目標而進入下一個狀態,而只能在某個物件內使用的事件就叫做區域事件,規則與區域變數一樣,該物件以外的任何物件都無法觸發.

全域事件

所有在同一個Scene(場景)上出現的物件都可以通用的事件就叫做全域事件. 規則與全域變數一樣,該場景上所有物件都是可以觸發它的.

物件移動練習

請參考下面影片練習


這次的練習完之後,是不是越來越有Fu了?下一次的練習會開始教大家觸發器的使用,謝謝!