제스처 - MRTK2
제스처는 사람의 손을 기반으로 하는 입력 이벤트입니다. MRTK에는 제스처 입력 이벤트를 발생시키는 두 가지 유형의 디바이스가 있습니다.
HoloLens와 같은 Windows Mixed Reality 디바이스 동작 꼬집기("에어 탭") 및 탭 앤 홀드 제스처에 대해 설명합니다.
HoloLens 제스처에 대한 자세한 내용은 Windows Mixed Reality 제스처 설명서를 참조 하세요.
WindowsMixedRealityDeviceManager
는 Unity XR을 래핑합니다. Wsa. HoloLens 디바이스에서 Unity의 제스처 이벤트를 사용하는 Input.GestureRecognizer 입니다.터치 스크린 장치.
UnityTouchController
는 물리적 터치 스크린을 지원하는 Unity Touch 클래스 를 래핑합니다.
이러한 두 입력 원본은 모두 제스처 설정 프로필을 사용하여 Unity의 터치 및 제스처 이벤트를 각각 MRTK의 입력 작업으로 변환합니다. 이 프로필은 입력 시스템 설정 프로필에서 찾을 수 있습니다.
제스처 이벤트
제스처 이벤트는 제스처 처리기 인터페이스 IMixedRealityGestureHandler
중 하나를 구현하여 받습니다( 또는 IMixedRealityGestureHandler<TYPE>
이벤트 처리기 테이블 참조).
제스처 이벤트 처리기의 예제 구현은 예제 장면을 참조하세요.
제네릭 버전을 구현할 때 OnGestureCompleted 및 OnGestureUpdated 이벤트는 다음 형식의 형식화된 데이터를 받을 수 있습니다.
Vector2
- 2D 위치 제스처입니다. 터치 스크린으로 제작되어 이를 알릴 수 있습니다deltaPosition
.Vector3
- 3D 위치 제스처입니다. 다음을 알리기 위해 HoloLens에서 제작:cumulativeDelta
조작 이벤트의normalizedOffset
탐색 이벤트
Quaternion
- 3D 회전 제스처입니다. 사용자 지정 입력 원본에서 사용할 수 있지만 현재 기존 입력 원본에서 생성되지 않습니다.MixedRealityPose
- 결합된 3D 위치/회전 제스처입니다. 사용자 지정 입력 원본에서 사용할 수 있지만 현재 기존 입력 원본에서 생성되지 않습니다.
이벤트 순서
사용자 입력에 따라 두 가지 주요 이벤트 체인이 있습니다.
"보류":
- 길게 탭합니다.
- 조작 시작
- HoldStartDuration을 넘어 탭합니다.
- 보류 시작
- 릴리스 탭:
- 보류 완료
- 완전한 조작
- 길게 탭합니다.
"이동":
예제 장면
HandInteractionGestureEventsExample(Assets/MRTK/Examples/Demos/HandTracking/Scenes) 장면은 포인터 결과를 사용하여 적중 위치에서 개체를 생성하는 방법을 보여 줍니다.
GestureTester
(Assets/MRTK/Examples/Demos/HandTracking/Script) 스크립트는 GameObjects를 통해 제스처 이벤트를 시각화하는 예제 구현입니다. 처리기 함수는 표시기 개체의 색을 변경하고 장면의 텍스트 개체에 마지막으로 기록된 이벤트를 표시합니다.