為了方便之後關卡場景設計, 玩家需要與場景互動(例如, 開門, 開燈等等), 或者是一些隨時觸發的事件.
所以為了這是事件觸發去設計一些簡單 Input/Output (I/O) 和模組化這些特定事件從而令到關卡設計變得簡易和靈活性.
剛開始就簡單做了這些組件, 主要都是使用 UnityEvent 加一些自訂邏輯模組去完成.
- Trigger Box
- Intractable Object
- Condition Box
- Item Requirement
- Object Movement
TriggerBox 負責處理當什麼東西 進入, 留下, 離開 時觸發. 還可以給予觸法一次性或 toggle 類型.
![](http://chiuworks.dev/wp-content/uploads/2019/07/image-1.png)
![](http://chiuworks.dev/wp-content/uploads/2019/07/triggerbox.gif)
Intractable Object 用來讓玩家互動的物件配合 Trigger Box toggle 型式來作開關
![](http://chiuworks.dev/wp-content/uploads/2019/07/intractableObject.gif)
Condition Box 用來判斷是否滿足判斷需求, 去觸發不同事件
Item Requirement 是用來檢查玩家有需要什麼物品來回調Condition Box, 還可以設定物品是否消耗品.
![](http://chiuworks.dev/wp-content/uploads/2019/07/image-2.png)
![](http://chiuworks.dev/wp-content/uploads/2019/07/itemRequirement.gif)
Object Movement 用來移動物體或轉動等等.
利用 Condition Box + Intractable Object + Item Requirement 來實現用物品來打開機關觸發.
![](http://chiuworks.dev/wp-content/uploads/2019/07/objectMovement.gif)
以上是暫時用來設計關卡原型的試範, 我想之後會再優化一下系統重用性和方便使用方面.