Поделиться через


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, обработайте событие InteractionDetected SpatialInteractionManager и захватить предоставленный объект SpatialPointerPose . Используйте луч взгляда пользователя из этой позы, чтобы пересекаться с голограммами и поверхностными сетками в окружающей среде пользователя, чтобы определить, с чем пользователь намерен взаимодействовать. Затем направьте объект SpatialInteraction в аргументах события в объект SpatialGestureRecognizer целевой голограммы с помощью метода CaptureInteraction . Это начинает интерпретировать это взаимодействие в соответствии с SpatialGestureSettings, заданным для этого распознавателя во время создания или TrySetGestureSettings.

При нацеливание на пространственное взаимодействие, например жест руки, нажатие контроллера движения или голосовое взаимодействие, приложения должны выбирать указывающий луч, доступный из SpatialPointerPose взаимодействия, в зависимости от характера SpatialInteractionSource взаимодействия:

  • Если источник взаимодействия не поддерживает указатель (IsPointingSupported имеет значение false), приложение должно ориентироваться на основе взгляда пользователя, доступного через свойство Head .
  • Если источник взаимодействия поддерживает указатель (IsPointingSupported имеет значение true), приложение может вместо этого выбрать целевой объект на основе положения указателя источника, доступного с помощью метода TryGetInteractionSourcePose .

Затем приложение должно пересекать выбранный указывающий луч с собственными голограммами или сеткой пространственного сопоставления для отрисовки курсоров и определения того, с чем пользователь намерен взаимодействовать.

Для приложений, использующих модель ввода взгляда и фиксации, особенно в 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

Происходит при распознавании жеста Tap или DoubleTap.

Применяется к

См. также раздел