SpatialGestureRecognizer 類別

定義

解譯使用者從手部、動作控制器和系統語音命令的互動,以表面空間手勢事件,使用者會使用其注視或動作控制器的指向光線來設定目標。

public ref class SpatialGestureRecognizer sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Input.Spatial.ISpatialGestureRecognizerFactory, 131072, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SpatialGestureRecognizer final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Input.Spatial.ISpatialGestureRecognizerFactory), 131072, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SpatialGestureRecognizer
function SpatialGestureRecognizer(settings)
Public NotInheritable Class SpatialGestureRecognizer
繼承
Object Platform::Object IInspectable SpatialGestureRecognizer
屬性

Windows 需求

裝置系列
Windows 10 (已於 10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v2.0 引進)

備註

空間手勢是Mixed Reality頭戴式裝置的輸入關鍵形式,例如 HoloLens。 藉由將 空間InteractionManager 的互動路由傳送至全像投影的 SpatialGestureRecognizer,應用程式可以跨手部、語音和動作控制器一致地偵測 Tap、Hold、Manipulation 和 Navigation 事件。

請注意,不會偵測到來自遊戲台、鍵盤或滑鼠輸入的空間手勢。

SpatialGestureRecognizer 只會在您要求的一組手勢之間執行最小的混淆。 例如,如果您只要求 Tap,只要使用者喜歡,使用者就可以按住手指,而且點選仍會發生。 如果您同時要求點選和按住,大約在按住手指一秒之後,手勢會升階為 [按住],而點選將不再發生。

若要使用 SpatialGestureRecognizer,請處理 SpatialInteractionManager 的 InteractionDetected 事件,並抓取該處公開的 SpatialPointerPose 。 使用來自此姿勢的使用者注視光線,與使用者周圍全像投影和表面網格交集,以判斷使用者想要與之互動的內容。 然後,使用其 CaptureInteraction 方法,將事件引數中的 SpatialInteraction 路由傳送至目標全像投影的 SpatialGestureRecognizer。 這會根據在建立時或TrySetGestureSettings上設定的SpatialGestureSettings開始解譯該互動。

以空間互動為目標時,例如手勢、動作控制器按下或語音互動,應用程式應該根據互動 的 SpatialInteractionSource本質,選擇可從互動的 SpatialPointerPose 取得的指向光線:

然後,應用程式應該將所選的指向光線與其自己的全像投影或空間對應網格交集,以轉譯資料指標,並判斷使用者想要與其互動的內容。

對於使用注視和認可輸入模型的應用程式,特別是在 HoloLens (第一代) 上,SpatialGestureRecognizer 可用來啟用建置於 'select' 事件之上的複合手勢。 藉由將空間InteractionManager 的互動路由傳送至全像投影的 SpatialGestureRecognizer,應用程式可以跨手部、語音和空間輸入裝置一致地偵測點選、按住、操作和流覽事件,而不需要手動處理按下和放開。

建構函式

SpatialGestureRecognizer(SpatialGestureSettings)

使用指定的手勢設定,初始化新的 SpatialGestureRecognizer

屬性

GestureSettings

取得這個辨識器的目前 SpatialGestureSettings

方法

CancelPendingGestures()

取消所有進行中的手勢,並放棄任何擷取的互動。

CaptureInteraction(SpatialInteraction)

追蹤在指定互動過程中發生的所有輸入事件。

TrySetGestureSettings(SpatialGestureSettings)

嘗試變更此辨識器的手勢設定。

事件

HoldCanceled

發生于 取消保留 手勢時。

HoldCompleted

發生于保留手勢完成時。

HoldStarted

當互動變成 保留 手勢時發生。

ManipulationCanceled

發生于 操作 手勢取消時。

ManipulationCompleted

發生于 操作 手勢完成時。

ManipulationStarted

當互動變成 操作 手勢時發生。

ManipulationUpdated

發生于 操作 手勢因為手部移動而更新時。

NavigationCanceled

發生于取消 導覽 手勢時。

NavigationCompleted

流覽 手勢完成時發生。

NavigationStarted

當互動變成 導覽 手勢時發生。

NavigationUpdated

發生于因為手部或動作控制器移動而更新 導覽 手勢時。

RecognitionEnded

發生于手勢辨識結束時,因為手勢完成或取消 (這是引發) 的最後一個事件。

RecognitionStarted

發生于手勢辨識開始 (這是引發) 的第一個事件。

Tapped

在辨識 Tap 或 DoubleTap 手勢時發生。

適用於

另請參閱