Input System基本概念
Input System 讓使用者可以透過設備(device),觸控(touch)或手勢(gestures)控制你的App。
若有跨平台開發的需求,或希望提供使用者可自行設定輸入的選項,可考慮使用 Input System。
目前Input System是Unity較新的輸入系統,需要透過Project Manager去安裝。
概念 | 描述 |
---|---|
User | 就是使用你App的使用者,透過輸入裝置或觸控裝置提供輸入 |
Input Device | 在輸入的環境(context of input)中,指的是實體裝置 ,例如:鍵盤(keyboard),遊戲手把(gamepad),滑鼠(mouse)或是觸控螢幕等(touchscreen) |
Control | 指的是輸入裝置的個別部件 ,各自會將自己的值發送到Unity中。例如:遊戲手把(gamepad)的control包含了多個按鈕(buttons),搖桿(sticks),板機(triggers)等;滑鼠的control包含了在底部的兩個X與Y感應器(sensors)與在上面的各種按鈕與滑鼠滾輪等。 |
Action | Action 是一個高層次的概念,用來描述在你的App中使用者可能想做的輸入動作,例如:在遊戲中跳躍(Jump) ,在畫面上選擇(Select) ,也就是說是使用者可以在你App中做出的輸入動作。Action 一般會有一個概念名稱,你可以依據你專案使用合適的Action名稱,通常是一個動詞(verbs) ,例如Run ,Jump ,Crouch , Use ,Start ,Quit |
Action Map | Action Maps 讓你可以將Action 組織起來,你可以同時啟用或停用在一個Action Map中的action,對組織相關的Action非常有用,例如你可能會想要一個Action Map在裡面Action都與控制玩家相關,而另外一個都與UI互動相關。 |
Binding | 一種將Action與特定控制裝置(specific device control)之間綁定的概念。例如:Move 可能會與鍵盤上的WSAD與方向鍵(arrow keys)綁定,或者是遊戲手把(joypad)上的左側搖桿(left stick)綁定,以及VR控制器上的主要2D軸綁定。可以多個綁定,表示你的App可以接受框平台的輸入 |
Your Action Code | 根據Action設定去操作的腳本(script)。在程式碼中,你可以透過Action的參考(reference)來讀取目前action的值或是狀態(此也稱為polling ),也可以設定callback來為這些action添加自己的方法 |
ActionAsset | 是一個儲存了Action Maps與Bindings設定的asset type,你可以在專案中指定一個Action Asset為專案範圍的動作(project-wide actions) 讓你可以透過這樣可以通過使用InputSystem.actions在程式碼中輕鬆參考這些動作 |
下一篇:安裝Input System
Reference: https://docs.unity3d.com/Packages/com.unity.inputsystem@1.8/manual/index.html
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.8/manual/Concepts.html