共用方式為


手勢 — MRTK2

手勢是基於人類雙手的輸入事件。 MRTK 中有兩種裝置會引發手勢輸入事件:

這兩個輸入來源都使用 Gesture Settings 設定檔,分別將 Unity 的觸控事件與手勢事件轉換成 MRTK 的 輸入動作。 此設定檔可在 輸入系統設定 檔中找到。

手勢設定檔

手勢事件

手勢事件是透過實作手勢處理介面來接收的: IMixedRealityGestureHandlerIMixedRealityGestureHandler<TYPE> (見 事件處理 者表) 。

請參閱 範例場景 ,了解手勢事件處理器的實作範例。

實作通用版本時, OnGestureCompletedOnGestureUpdated 事件可接收以下類型的類型資料:

  • Vector2 - 2D 位置手勢。 透過觸控螢幕製作以告知他們的 deltaPosition資訊。
  • Vector3 - 3D 位置手勢。 由HoloLens製作,目的是:
  • Quaternion - 3D 旋轉手勢。 可供自訂輸入來源使用,但目前任何現有輸入來源都無法產生。
  • MixedRealityPose - 結合3D位置/旋轉手勢。 可供自訂輸入來源使用,但目前任何現有輸入來源都無法產生。

事件順序

根據使用者輸入,主要有兩條事件鏈:

範例場景

HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demo/HandTracking/Scenes) 展示了如何使用指標結果在命中位置生成物件。

GestureTester (Assets/MRTK/Examples/Demo/HandTracking/Script) 腳本是一個透過 GameObjects 視覺化手勢事件的範例實作。 處理程式功能會改變指示物件的顏色,並在場景中以文字物件顯示最後記錄的事件。