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 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 같은 Mixed Reality 헤드셋에 대한 입력의 핵심 형태입니다. 앱은 SpatialInteractionManager 상호 작용을 홀로그램의 SpatialGestureRecognizer로 라우팅하여 손, 음성 및 모션 컨트롤러에서 탭, 홀드, 조작 및 탐색 이벤트를 균일하게 감지할 수 있습니다.

게임 패드, 키보드 또는 마우스의 입력에 대한 공간 제스처는 검색되지 않습니다.

SpatialGestureRecognizer는 요청하는 제스처 집합 간의 최소한의 명확성만 수행합니다. 예를 들어 Tap만 요청하면 사용자가 원하는 만큼 손가락을 누를 수 있으며 Tap이 계속 발생합니다. 탭과 길게 두 번 모두 요청하는 경우 손가락을 누른 채 약 1초 후에 제스처가 보류로 승격되고 탭이 더 이상 발생하지 않습니다.

SpatialGestureRecognizer를 사용하려면 SpatialInteractionManager의 InteractionDetected 이벤트를 처리하고 노출된 이벤트를 가져옵니다 SpatialPointerPose . 사용자가 상호 작용할 대상을 확인하기 위해 이 포즈에서 사용자의 응시 광선을 사용하여 사용자 주변의 홀로그램 및 표면 메시와 교차합니다. 그런 다음, 이벤트 인수의 메서드를 사용하여 CaptureInteraction 이벤트 인수를 대상 홀로그램의 SpatialGestureRecognizer로 라우팅 SpatialInteraction 합니다. 이렇게 하면 생성 시 또는 해당 인식기에서 집합에 따라 SpatialGestureSettings 해당 상호 작용을 해석하기 TrySetGestureSettings시작합니다.

손 제스처, 모션 컨트롤러 누르기 또는 음성 상호 작용과 같은 공간 상호 작용을 대상으로 하는 경우 앱은 상호 작용 SpatialInteractionSource의 특성에 따라 상호 작용의 SpatialPointerPose에서 사용할 수 있는 포인팅 광선을 선택해야 합니다.

  • 상호 작용 원본이 포인팅(IsPointingSupported false)을 지원하지 않는 경우 앱은 속성을 통해 Head 사용할 수 있는 사용자의 시선에 따라 대상으로 지정해야 합니다.
  • 상호 작용 원본이 포인팅(true)IsPointingSupported 을 지원하는 경우 앱은 대신 메서드를 통해 TryGetInteractionSourcePose 사용할 수 있는 원본의 포인터 포즈에 따라 대상으로 지정할 수 있습니다.

그런 다음 앱은 선택한 포인팅 광선을 자체 홀로그램 또는 공간 매핑 메시와 교차하여 커서를 렌더링하고 사용자가 상호 작용할 대상을 결정해야 합니다.

특히 HoloLens(1세대)에서 응시 및 커밋 입력 모델을 사용하는 애플리케이션의 경우 SpatialGestureRecognizer를 사용하여 'select' 이벤트 위에 빌드된 복합 제스처를 사용하도록 설정할 수 있습니다. SpatialInteractionManager에서 홀로그램의 SpatialGestureRecognizer로 상호 작용을 라우팅하여 앱은 누름 및 해제를 수동으로 처리하지 않고도 손, 음성 및 공간 입력 디바이스에서 Tap, Hold, Manipulation 및 Navigation 이벤트를 균일하게 검색할 수 있습니다.

생성자

SpatialGestureRecognizer(SpatialGestureSettings)

지정된 제스처 설정을 사용하여 새 SpatialGestureRecognizer 제스처를 초기화합니다.

속성

GestureSettings

이 인식기 현재 SpatialGestureSettings 를 가져옵니다.

메서드

CancelPendingGestures()

진행 중인 모든 제스처를 취소하고 캡처된 상호 작용을 중단합니다.

CaptureInteraction(SpatialInteraction)

지정된 상호 작용의 일부로 발생하는 모든 입력 이벤트를 추적합니다.

TrySetGestureSettings(SpatialGestureSettings)

이 인식기에서 제스처 설정을 변경하려고 시도합니다.

이벤트

HoldCanceled

제스처가 Hold 취소될 때 발생합니다.

HoldCompleted

제스처가 Hold 완료되면 발생합니다.

HoldStarted

상호 작용이 제스처가 될 때 발생합니다 Hold .

ManipulationCanceled

제스처가 Manipulation 취소될 때 발생합니다.

ManipulationCompleted

제스처가 Manipulation 완료되면 발생합니다.

ManipulationStarted

상호 작용이 제스처가 될 때 발생합니다 Manipulation .

ManipulationUpdated

손 이동으로 Manipulation 인해 제스처가 업데이트되는 경우에 발생합니다.

NavigationCanceled

제스처가 Navigation 취소될 때 발생합니다.

NavigationCompleted

제스처가 Navigation 완료되면 발생합니다.

NavigationStarted

상호 작용이 제스처가 될 때 발생합니다 Navigation .

NavigationUpdated

손 또는 모션 컨트롤러 이동으로 인해 제스처가 업데이트되는 경우에 Navigation 발생합니다.

RecognitionEnded

제스처의 완료 또는 취소로 인해 제스처 인식이 종료될 때 발생합니다(마지막으로 발생한 이벤트).

RecognitionStarted

제스처 인식이 시작될 때 발생합니다(첫 번째 이벤트가 발생함).

Tapped

탭 또는 DoubleTap 제스처를 인식할 때 발생합니다.

적용 대상

추가 정보