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 中引入)

注解

空间手势是 holoLens 等混合现实头戴显示设备的关键输入形式。 通过将交互从 SpatialInteractionManager 路由到全息影像的 SpatialGestureRecognizer,应用可以跨手部、语音和运动控制器统一检测点击、按住、操作和导航事件。

请注意,不会检测到来自游戏板、键盘或鼠标的输入的空间手势。

SpatialGestureRecognizer 仅执行你请求的手势集之间的最小消除歧义。 例如,如果只请求点击,那么只要用户愿意,他们可按住手指,然后仍然会出现点击。 如果你同时请求点击和按住,在按住手指大约一秒钟后,手势将提升为按住,并且不再发生点击。

若要使用 SpatialGestureRecognizer,请处理 SpatialInteractionManager 的 InteractionDetected 事件并抓取其中公开的 SpatialPointerPose 。 使用此姿势中的用户视线与用户周围环境中的全息影像和表面网格相交,以确定用户打算与之交互的内容。 然后,使用 Event 参数中的 SpatialInteraction 方法将其路由到目标全息影像的 SpatialGestureRecognizer。 这会根据创建时在该识别器上设置 的 SpatialGestureSettingsTrySetGestureSettings 开始解释该交互。

面向空间交互(例如手势、运动控制器按下或语音交互)时,应用应根据交互的 SpatialInteractionSource 的性质从交互的 SpatialPointerPose 中选择可用的指向射线:

然后,应用应将所选指向射线与其自己的全息影像或空间映射网格相交,以呈现光标并确定用户打算与之交互的内容。

对于使用凝视和提交输入模型的应用程序,特别是在 HoloLens (第一代) 上,SpatialGestureRecognizer 可用于启用基于“select”事件构建的复合手势。 通过将交互从 SpatialInteractionManager 路由到全息影像的 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

在识别点击或双拍手势时发生。

适用于

另请参阅