Unity Rewired添加設備


關鍵字:

Unity輸入, Input替代品, Rewired, Unity接入外設, 飛行外設, 駕駛外設, Unity連接多個外設, Unity Input手柄每次連接Joy Num不同會變化

概要

Rewired是Unity下的一款插件,提供了更專業的輸入系統,相比內置輸入系統非常靈活強大,通過配置文件方便接入並識別各種外設,

添加一種設備

Rewired可以通過預先設定的特征來識別設備,識別到設備類型后,通過預先設置的按鍵映射數據實現按鍵讀取。
因此,添加一個設備的過程有如下幾步:

1. 設定識別特征

添加一個設備首先需要添加一個數據文件來保存設置信息,假設現在已經有一個空的數據文件(如何創建后面再說),如下圖
打開設置窗口

  1. 從Rewired插件中找到文件Assets/Rewired/Internal/Data/Controllers/HardwareMaps/Joysticks/ThrustmasterTFlightRudderPedals.asset,選中該文件,
  2. 在Inspector中單擊Launch Hardware Joystick Map Editor按鍵打開設置窗口,
  3. 依次單擊按鈕Win Raw Input
  4. 按鈕Matching Criteria

此時窗口下方有三個區域,可以設置外設的三種特征,如圖:
完整設置窗口

  1. 外設的按鍵信息
    分別是Axis,Button,Hat的數量,如下圖是一個外設的信息
  2. 外設的名字
    名字匹配支持正則表達式,很靈活
  3. 外設的id
    沒有用到,沒細究,一般前兩個夠用了,可以把這個刪掉

一種外設

前兩種特征凡是設置了的,必須都匹配才能識別,id特征不清楚

檢驗設置是否成功

外設正確識別

  1. 打開場景GamepadTemplateUI,選中物體Rewired Input Manager,
  2. 在Inspector中單擊Input Manager組件的按鈕Run in Edit Mode
  3. 此時,如果有設備連接到計算機,並且特征與上面設置相符,則會看到該設備的Is Recognized值為true

2. 設定按鍵映射

添加按鍵定義

定義按鍵

  1. 打開設置識別特征時候的窗口Hardware Joystick Map Editor,單擊Element Identifiers,

該界面下有Add Entry可以添加一條按鍵定義,添加一個按鍵需要起一個名字,並設置其作為Axis還是Button等

映射

映射軸

映射按鈕

  1. 定義Element之后,需要將其映射到物理按鍵上,在設置窗口中單擊Win Raw Input
  2. 再依次單擊AxesButton分別映射兩種類型。不論是Axes還是Button,映射最核心的是兩步:
  3. 選擇一個定義好的Element
  4. 選擇一個系統識別的軸或按鈕號

注:

1. 創建Hardware Joystick Map數據文件

創建數據文件

有兩種方式:

  1. Window->Rewired->Create->Other Assets->Hardware Joystick Map
  2. 從Rewired內置的數據文件中選擇一個與待接入設備類似的,復制一份,然后進行修改。這種方式借助已有數據,如果設備相似度很高,可以省去不少設置工作。這種方式需要在設置窗口Settings選項卡下修改Guid和Name,Guid可以借助第1種方式生成。

2. 外設信息獲取

系統面板

插件工具

兩種方式:

  1. Window系統的話,設備與打印機能看到設備信息
  2. Rewired提供了開發工具Rewired/DevTools/JoystickElementIdetifier.scene

后來發現Windows內置的面板最多只顯示32個按鍵,如下圖:
系統與工具

3. 將Hardware Joystick Map添加到Controller Data Files

綁定

場景中的Input Manager組件需要一個Data File,這個Controller Data Files中需要添加某外設的Hardware Joystick Map,場景中才能識別到該外設。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM