要讓一個遊戲可以玩免不了有著各種輸入, 輸入的數量一多, 難免造成管理上的不便. Unity3D 對於管理輸入有一套完整方法, 大大增加遊戲開發的便利性.
Input Manager 位於選單 Edit > Project Settings > Input . 由此可以發現 Unity3D 對於每個遊戲專案都能擁有不同的 Input 設定, 端視需要而定. ↓
稍後 Input Manager 將於 Inspector 區塊顯示. ↓
Size 是輸入種類的數量, 以 Unity 3.5.1 自帶專案 AngryBots 為例, 輸入種類數量為20, Unity 新開專案預設為17. 當Size增加時 Unity 將以最後一種Input做為新 Input 的預設名稱新增在最下方, 當Size 減少時Unity 將從最上方往下保留符合數量的 Input.
Name 即代表 Input 之一的名稱, 修改Name後位於其上方的名稱將一同改變.
每個Input Name都可以有兩組輸入, 分別為 Negative Button、Positive Button 和 Alt Negative Button、Alt Positive Button, 這兩組是等效的. 以 "Horizontal" 為例, Negative Button 設為 "left" 代表向左移動(在水平軸上其為負值 Negative), Positive Button 設為 "right" 代表向右移動(在水平軸上其為正值 Positive).
因 Unity 可將遊戲發佈在多種平臺, 若無適當的輸入管理將造成發佈上的困難. 為此在Unity上可透過 Input Manager設置多個名稱相同的Input, 以讓遊戲相容於不同的運行平臺.
亦或有多個輸入(如鍵盤、滑鼠、遊戲搖桿…等)均代表同一功能(效果、動作)、Debug測試時,也無需局限於兩組輸入,設置多個名稱相同的Input即可讓按下不同按鍵產生相同的功能.
以下部份條列 Unity3D 官方網站上對於 Input 的腳本使用說明.
- Input
- Input.GetAxis ((取得Input被使用時的數值, 若按鍵未被按下則值為0, 常用於角色控制.
- Input.GetKey ((Input.GetKey系列是直接判斷鍵盤上的某一按鍵是否觸發按鍵事件, 與 Input Manager 內的設定無關, 不建議使用.
- Input.GetKeyDown
- Input.GetKeyUp
- Input.GetButton ((Input.GetButton系列是Unity3D遊戲開發正規的Input使用方式, 推薦使用.
- Input.GetButtonDown
- Input.GetButtonUp
- Input.GetMouseButton ((Input.GetMouseButton系列是對滑鼠做事件觸發判斷, 值為0到2, 依序為左鍵、右鍵和中鍵.
- Input.GetMouseButtonDown
- Input.GetMouseButtonUp
沒有留言:
張貼留言