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
- Наследование
- Атрибуты
Требования к 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. |