輸入動作

輸入動作 是原始輸入的抽象概念,目的是要協助隔離應用程式邏輯與產生輸入的特定輸入來源。 例如,它可能很有用,例如,定義 選取 動作並將它對應至滑鼠左鍵、遊戲台中的按鈕,以及6個 DOF 控制器中的觸發程式。 然後,您可以讓應用程式邏輯接聽 選取 的輸入動作事件,而不需要知道可以產生的所有不同輸入。

建立輸入動作

輸入動作是在 輸入動作設定檔 中設定,在混合現實工具組元件的 輸入系統設定檔 內、指定動作的名稱以及輸入的類型 (軸條件約束 ,) 它可以對應到:

Input Action

這些是 軸條件約束 最常使用的值:

軸條件約束 Description
Digital 開啟/關閉輸入,例如遊戲台或滑鼠中的二進位按鈕。
單一軸 單一軸將輸入與遊戲中的類比觸發程式相似。
雙軸 雙軸將輸入與操縱杆相似。
六 Dof 以6個 DOF 控制器所產生的平移和旋轉進行3D 姿勢。

您可以在中找到完整清單 AxisType

將輸入對應至動作

您對應輸入和動作的方式取決於輸入來源的類型:

控制器輸入

移至 [輸入系統設定檔] 下的 [控制器輸入對應設定檔]。 您會在這裡找到所有支援的控制器清單:

Input maping profile

選取您要設定的專案,其中會出現一個對話方塊視窗與所有控制器輸入,讓您為每個控制器輸入設定動作:

Input Action Assignment

語音輸入

語音命令設定檔輸入系統設定檔 下,您可以找到目前定義的語音命令清單。 若要將其中一個對應至動作,只需在 [ 動作 ] 下拉式清單中選取它。

Speech Commands profile

手勢輸入

輸入系統設定檔 底下的 手勢設定檔 包含所有已定義的手勢。 您可以在 [ 動作 ] 下拉式清單中選取每個動作,以將其對應至動作。

Gesture profile

處理輸入動作

警告

目前只能使用本節所述的方法來處理 數位 類型的輸入動作。 針對其他動作類型,您必須改為直接處理對應輸入的事件。 例如,若要處理對應至控制器輸入的6個 DOF 動作,您必須搭配 IMixedRealityGestureHandler<T> T = 使用 MixedRealityPose

處理輸入動作最簡單的方式就是利用 InputActionHandler 腳本。 這可讓您定義您想要接聽的動作,並使用 Unity 事件回應動作開始和結束事件。

Acton Handler

如果您想要更多控制,您可以 IMixedRealityInputActionHandler 直接在腳本中執行介面。 如需透過處理常式介面處理事件的詳細資訊,請參閱 輸入事件 一節。

範例

如需示範 MRTK/Examples/Demos/Input/Scenes/InputActions 如何建立動作、將其對應至控制器、語音和手勢輸入,以及用來在命令上旋轉物件的範例場景,請參閱。

Input action example