다음을 통해 공유


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

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

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

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

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

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

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

응시 및 커밋 입력 모델, 특히 HoloLens(1세대)를 사용하는 애플리케이션의 경우 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 제스처가 인식될 때 발생합니다.

적용 대상

추가 정보