iTween 是一套免費的 Unity 外掛程式,主要的功能是製作補間動畫,安裝 PlayMaker 時也會一併安裝 iTween 外掛程式。這次我們使用 PlayMaker 與 iTween 製作遊戲的互動功能,使用方塊製作一個包含電梯與樓層的場景。我們先從簡單的部份開始,電梯的平台在遊戲開始特定時間後開始向上移動,玩家必須在開始移動前到達並站上電梯的平台。 Playmaker and iTween ( https://www.youtube.com/watch?v=FWLfsHB_SQQ )
製作遊戲場景與遊戲角色 建立一個測試用的場景,並且匯入標準資源的 Characters 角色資源包。
將第三人稱角色放在場景中的適當位置,然後再新增一個 Plane 平面物件製作玩家行走的地面。
執行 [ GameObject > Create Other > Cube ] 建立一個方塊,調整尺寸製作成玩家使用的電梯,並重新命名為「Elevator」。
增加2個空物件,命名為「1F」與「2F」,放在電梯在一樓與二樓的停止位置。
選取「Elevator」方塊物件,執行 [ PlayMaker > PlayMaker Editor ] 開啟 PlayMaker 編輯器,按滑鼠右鍵 Add FSM 為此物件添加狀態機。 選取初始狀態的 State 1 方塊,重新命名為「Moving」代表電梯的移動狀態。按下編輯器右下方的 Action Browser 開啟操作瀏覽器,找到 iTween Move To 並加到 Moving 狀態。
iTween Move To 的功能是讓物件移動到指定的位置。 設定物件移動的起點與終點,可以設定座標位置,或是選擇指定的參考物件,而使用參考物件的方式比較容易控制。
目前的電梯只會上下移動,若想改為玩家走近電梯時自動移動到指定位置,需要加上偵測玩家是否走近電梯的感應區。 新增一個方塊並調整到適當的位置與大小,勾選「Is Trigger」觸發器,重新命名為「1F Elevator Controller」。
選取此物件並在 PlayMaker 加上狀態機,然後在 State1 狀態新增 Trigger Event 觸發器事件。
增加 TriggerEnter 與 TriggerExit 事件,分別代表玩家進入與離開電梯的觸發器。
將「State 1」狀態重新命名為「idle」,然後再增加一個「goto1F」狀態。
加入狀態之間的轉變,記得設定 Send Event 傳送事件。
為 goto1F 狀態加上 I Tween Move To 動作,注意這次控制的遊戲物件並非此觸發器,必須指定為 Elevator 電梯。
指定玩家走近時電梯移動的停止位置 (1F),設定移動需要的時間 Time=3 ,並取消 Orient To Path 轉動方向。
若玩家離開觸發器範圍,將會轉變到 idle 閒置狀態。
注意 Action 的套用順序,否則可能導致遊戲物件無法移動,若遇到這種情形,可試著改變 Action 的順序!
製作攝影機震動,即可模擬受攻擊時遊戲畫面晃動的效果。 ~ CG 數位學習網版權所有 ~ |