UNITY EventSystem(一){事件系統基礎認識}

在遊戲中事件系統是非常重要的,因為遊戲正是由一堆事件堆積而成,因此UNITY為了便利開發者,內建了一套事件系統來執行一些常見的行為,包含了滑鼠或者鍵盤的操作之類的,當然有撰寫程式能力的人更可以擴充它的行為動作,本篇就先來介紹EventSystem的基本功能吧。

event

Event System

事件系統是一種基於輸入將事件發送到應用程序對象的方式,無論是鍵盤,鼠標,觸摸還是自定義輸入。事件系統的構成必須由幾個元件相互配合使用,首先就是EventSystem的Component,在任一物件下加入皆可,可以用空物件或著直接加在攝影機上。
ev-20180418001
Event System主要的功能:

  • 監視物件的選取
  • 監視輸入模組的使用
  • 監視射線的交互
  • 依照需求更新所有的輸入模組

Input Modules

輸入模組則是主要的行為邏輯判斷組件,通常也會把它跟事件系統放在同一物件上,有標準的Standalone和Touch兩種,但一次只有一個輸入模塊可以在事件系統中處於活動狀態。ev-20180418002

Input Modules主要功能:

  • 處理輸入
  • 管理事件狀態
  • 將事件發送到場景對象

Raycasters

射線可以用來判斷與交互的物體是否接觸,又分2D和3D的版本。一般都會加在主攝影機上,從使用者的視角來發射這條射線。
ev-20180418003

Raycasters默認3個對象:

  • Graphic Raycaster – 用於UI元素
  • Physics 2D Raycaster – 用於2D物理元素
  • Physics Raycaster – 用於3D物理元素

 

認識這些基本組件後,下篇來針對觸發的事件類型做解說。

Leave a Reply