輸入概觀 - MRTK2

MRTK 中的輸入系統可讓您:

  • 透過輸入事件取用各種輸入來源的輸入,例如 6 個 DOF 控制器、表達的手部或語音。
  • 定義抽象動作,例如 選取功能表,並將其與不同的輸入產生關聯。
  • 設定連結至控制器的指標,以透過焦點和指標事件驅動 UI 元件。
Input SystemMRTK 輸入系統概觀

輸入是由輸入資料提供者產生, (裝置管理員) 。 每個提供者都會對應至特定的輸入來源:Open VR、Windows Mixed Reality (WMR) 、Unity 搖桿、Windows語音等。提供者會透過Mixed Reality Toolkit元件中的[已註冊服務提供者設定檔] 新增至您的專案,而且會在對應的輸入來源可供使用時自動產生輸入事件 (,例如偵測到 WMR 控制器或) 連線的遊戲台時。

輸入動作 是原始輸入的抽象概念,用來協助隔離應用程式邏輯與產生輸入的特定輸入來源。 例如,定義 Select 巨集指令,並將它對應至滑鼠左鍵、遊戲台中的按鈕,以及 6 DOF 控制器中的觸發程式。 然後,您可以讓應用程式邏輯接聽 [選取 輸入動作事件],而不需注意可以產生它的所有不同輸入。 輸入動作定義于輸入動作設定檔中,可在Mixed Reality Toolkit元件的輸入系統設定檔中找到。

偵測到輸入裝置,並在輸入裝置遺失或中斷連線時,由 輸入提供者 建立控制器。 例如,WMR 輸入提供者會為 6 個 DOF 裝置建立 WMR 控制器 ,以及針對已表達手部的 WMR 表達手部控制器 。 控制器輸入可以透過輸入系統設定檔內的控制器對應設定檔對應至輸入動作。 控制器所引發的輸入事件會包含相關聯的輸入動作,如果有的話。

控制器可以附加 指標 ,以查詢場景,以判斷具有焦點的遊戲物件,並對其引發 指標事件 。 例如,我們的 線條指標 會使用控制器姿勢對場景執行光線廣播,以計算光線的原點和方向。 針對每個控制器建立的指標會設定在[輸入系統設定檔] 下的[指標設定檔] 中。

Event Flow事件流程。

雖然您可以 直接在 UI 元件中處理輸入事件,但建議您使用 指標事件 來保持實作裝置無關。

MRTK 也提供數個方便的方法,以與裝置無關的方式直接查詢輸入狀態。 如需詳細資訊,請參閱 在 MRTK 中存取輸入狀態