입력 개요 - MRTK2

MRTK의 입력 시스템을 사용하면 다음을 수행할 수 있습니다.

  • 입력 이벤트를 통해 6개의 DOF 컨트롤러, 굴절식 손 또는 음성과 같은 다양한 입력 원본의 입력을 사용합니다.
  • 선택 또는 메뉴와 같은 추상 작업을 정의하고 다른 입력에 연결합니다.
  • 포커스 및 포인터 이벤트를 통해 UI 구성 요소를 구동하기 위해 컨트롤러에 연결된 포인터를 설정합니다.
Input SystemMRTK 입력 시스템 개요

입력은 입력 데이터 공급자(장치 관리자)에 의해 생성됩니다. 각 공급자는 오픈 VR, WMR(Windows Mixed Reality), Unity 조이스틱, Windows Speech 등의 특정 입력 원본에 해당합니다. 공급자는 Mixed Reality Toolkit 구성 요소의 등록된 서비스 공급자 프로필을 통해 프로젝트에 추가되며 해당 입력 원본을 사용할 수 있을 때(예: WMR 컨트롤러가 검색되거나 게임 패드가 연결된 경우) 입력 이벤트를 자동으로 생성합니다.

입력 작업은 입력 을 생성하는 특정 입력 소스에서 애플리케이션 논리를 격리하는 데 도움이 되는 원시 입력에 대한 추상화입니다. 예를 들어 선택 작업을 정의하고 왼쪽 마우스 단추, 게임 패드의 단추 및 6 DOF 컨트롤러의 트리거에 매핑하는 것이 유용할 수 있습니다. 그런 다음 애플리케이션 논리가 생성할 수 있는 모든 다른 입력을 인식하지 않고 입력 작업 선택 이벤트를 수신 대기하도록 할 수 있습니다. 입력 작업은 Mixed Reality Toolkit 구성 요소입력 시스템 프로필 내에 있는 입력 작업 프로필에 정의됩니다.

컨트롤러는 입력 디바이스가 손실되거나 연결이 끊어지면 입력 디바이스가 검색되고 제거될 때 입력 공급자 에 의해 생성됩니다. 예를 들어 WMR 입력 공급자는 6개의 DOF 디바이스에 대한 WMR 컨트롤러 와 관절형 손용 WMR 굴절식 손 컨트롤러 를 만듭니다. 컨트롤러 입력은 입력 시스템 프로필의 컨트롤러 매핑 프로필을 통해 입력 작업에 매핑할 수 있습니다. 컨트롤러에서 발생하는 입력 이벤트에는 연결된 입력 작업이 포함됩니다(있는 경우).

컨트롤러 는 장면을 쿼리하여 포커스가 있는 게임 개체를 확인하고 포인터 이벤트를 발생시키는 포인터를 연결할 수 있습니다. 예를 들어 , 선 포인터 는 컨트롤러 포즈를 사용하여 광선의 원점과 방향을 계산하여 장면에 대해 레이캐스트를 수행합니다. 각 컨트롤러에 대해 생성된 포인터는 포인터 프로필입력 시스템 프로필 아래에 설정됩니다.

Event Flow이벤트 흐름.

UI 구성 요소에서 직접 입력 이벤트를 처리할 수 있지만 포인터 이벤트를 사용하여 구현 디바이스를 독립적으로 유지하는 것이 좋습니다.

또한 MRTK는 디바이스 독립적 방식으로 입력 상태를 직접 쿼리하는 몇 가지 편리한 메서드를 제공합니다. 자세한 내용은 MRTK의 입력 상태 액세스를 참조하세요.