共用方式為


輸入概述 — MRTK2

MRTK 的輸入系統允許您:

  • 透過輸入事件,消耗來自多種輸入來源的輸入,例如6 DOF控制器、關節手或語音。
  • 定義抽象動作,如 選擇(Select )或 選單(Menu),並將它們關聯到不同的輸入。
  • 設定連接在控制器上的指標,透過焦點和指標事件來驅動 UI 元件。
輸入系統 MRTK 輸入系統概述

輸入由輸入資料提供者產生 (裝置管理員) 。 每個提供者對應特定的輸入來源:Open VR、Windows Mixed Reality (WMR) 、Unity 搖桿、Windows 語音等。提供者會透過 Mixed Reality 工具包元件中的註冊服務提供者設定檔加入你的專案,並產生輸入事件當對應的輸入來源可用時自動啟動 (例如偵測到 WMR 控制器或連接遊戲手把) 。

輸入動作 是對原始輸入的抽象,目的是幫助將應用程式邏輯與產生輸入的特定輸入來源隔離開來。 例如,定義一個 選擇 動作,並將其映射到左鍵、遊戲手把中的按鈕,以及 6 景深控制器的扳機鍵,會很有用。 這樣你的應用程式邏輯就能監聽 選擇 輸入動作事件,而不必知道所有可能產生的輸入。 輸入動作定義於輸入動作設定檔,該設定檔位於 Mixed Reality Toolkit 元件中的輸入系統設定檔中。

控制器輸入提供者 在偵測到輸入裝置時建立,當它們遺失或斷線時則會銷毀。 例如,WMR輸入提供者將為6深度裝置製作 WMR控制器 ,以及用於關節手部的 WMR關節式手控制器 。 控制器輸入可以透過輸入系統設定檔內的控制器映射設定檔,映射到輸入動作。 控制器所引發的輸入事件會包含相應的輸入動作(如有)。

控制器 可以附加指標 ,查詢場景以判斷遊戲物件的焦點並觸發指標 事件 。 舉例來說,我們的 線指標 會利用控制器姿勢對場景進行射線投射,以計算射線的原點和方向。 每個控制器建立的指標會在指標 設定檔輸入系統設定檔中設定。

事件流程 事件流程。

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

MRTK 也提供多種方便方法,直接以裝置無關的方式查詢輸入狀態。 詳情請參見 「存取MRTK中的輸入狀態 」。