제스처 - MRTK2

제스처는 사람의 손을 기반으로 하는 입력 이벤트입니다. MRTK에는 제스처 입력 이벤트를 발생시키는 두 가지 유형의 디바이스가 있습니다.

이러한 두 입력 원본은 모두 제스처 설정 프로필을 사용하여 Unity의 터치 및 제스처 이벤트를 각각 MRTK의 입력 작업으로 변환합니다. 이 프로필은 입력 시스템 설정 프로필에서 찾을 수 있습니다.

Gesture Profile

제스처 이벤트

제스처 이벤트는 제스처 처리기 인터페이스 IMixedRealityGestureHandler 중 하나를 구현하여 받습니다( 또는 IMixedRealityGestureHandler<TYPE>이벤트 처리기 표 참조).

제스처 이벤트 처리기의 예제 구현은 예제 장면을 참조하세요.

제네릭 버전을 구현할 때 OnGestureCompletedOnGestureUpdated 이벤트는 다음 형식의 형식화된 데이터를 받을 수 있습니다.

  • Vector2 - 2D 위치 제스처입니다. 터치 스크린으로 제작되어 해당 정보를 알릴 수 있습니다 deltaPosition.
  • Vector3 - 3D 위치 제스처입니다. 다음을 알리기 위해 HoloLens 제작:
  • Quaternion - 3D 회전 제스처입니다. 사용자 지정 입력 원본에서 사용할 수 있지만 현재 기존 입력 원본에서 생성되지 않습니다.
  • MixedRealityPose - 결합된 3D 위치/회전 제스처입니다. 사용자 지정 입력 원본에서 사용할 수 있지만 현재 기존 입력 원본에서 생성되지 않습니다.

이벤트 순서

사용자 입력에 따라 두 가지 주요 이벤트 체인이 있습니다.

  • "보류":

    1. 길게 탭합니다.
      • 조작 시작
    2. HoldStartDuration을 넘어 탭합니다.
      • 보류 시작
    3. 릴리스 탭:
      • 보류 완료
      • 완전한 조작
  • "이동":

    1. 길게 탭합니다.
      • 조작 시작
    2. HoldStartDuration을 넘어 탭합니다.
      • 보류 시작
    3. NavigationStartThreshold를 넘어 손 이동:
      • 보류 취소
      • 탐색 시작
    4. 릴리스 탭:
      • 완전한 조작
      • 탐색 완료

예제 장면

HandInteractionGestureEventsExample(Assets/MRTK/Examples/Demos/HandTracking/Scenes) 장면은 포인터 결과를 사용하여 적중 위치에서 개체를 생성하는 방법을 보여 줍니다.

GestureTester (Assets/MRTK/Examples/Demos/HandTracking/Script) 스크립트는 GameObjects를 통해 제스처 이벤트를 시각화하는 예제 구현입니다. 처리기 함수는 표시기 개체의 색을 변경하고 장면의 텍스트 개체에 마지막으로 기록된 이벤트를 표시합니다.