입력 개요 - MRTK2
MRTK의 입력 시스템을 사용하면 다음을 수행할 수 있습니다.
- 입력 이벤트를 통해 6개의 DOF 컨트롤러, 관절식 손 또는 음성과 같은 다양한 입력 소스의 입력을 사용합니다.
- 선택 또는 메뉴와 같은 추상 작업을 정의하고 다른 입력에 연결합니다.
- 컨트롤러에 연결된 포인터를 설정하여 포커스 및 포인터 이벤트를 통해 UI 구성 요소를 구동합니다.
입력은 입력 데이터 공급자(디바이스 관리자)에서 생성됩니다. 각 공급자는 오픈 VR, Windows Mixed Reality(WMR), Unity 조이스틱, Windows Speech 등 특정 입력 원본에 해당합니다. 공급자는 Mixed Reality 도구 키트 구성 요소의 등록된 서비스 공급자 프로필을 통해 프로젝트에 추가되며 해당 입력 원본을 사용할 수 있을 때(예: WMR 컨트롤러가 감지되거나 게임 패드가 연결된 경우) 입력 이벤트를 자동으로 생성합니다.
입력 작업은 입력을 생성하는 특정 입력 원본에서 애플리케이션 논리를 격리하는 데 도움이 되는 원시 입력에 대한 추상화입니다. 예를 들어 선택 작업을 정의하고 왼쪽 마우스 단추, 게임 패드의 단추 및 6 DOF 컨트롤러의 트리거에 매핑하는 것이 유용할 수 있습니다. 그런 다음 애플리케이션 논리가 생성할 수 있는 모든 다른 입력을 인식하지 않고 입력 작업 선택 이벤트를 수신 대기하도록 할 수 있습니다. 입력 작업은 입력 작업 프로필에 정의되며, Mixed Reality 도구 키트 구성 요소의 입력 시스템 프로필 내에 있습니다.
컨트롤러는 입력 디바이스가 손실되거나 연결이 끊어지면 입력 디바이스가 검색되고 제거될 때 입력 공급자 에 의해 생성됩니다. 예를 들어 WMR 입력 공급자는 6개의 DOF 디바이스에 대한 WMR 컨트롤러 와 관절 손용 WMR 관절 손 컨트롤러 를 만듭니다. 컨트롤러 입력은 입력 시스템 프로필 내의 컨트롤러 매핑 프로필을 통해 입력 작업에 매핑할 수 있습니다. 컨트롤러에서 발생하는 입력 이벤트에는 연결된 입력 작업이 포함됩니다(있는 경우).
컨트롤러 는 장면을 쿼리하여 포커스가 있는 게임 개체를 확인하고 포인터 이벤트를 발생시키는 포인터를 연결할 수 있습니다. 예를 들어 , 선 포인터 는 컨트롤러 포즈를 사용하여 광선의 원점과 방향을 계산하여 장면에 대해 레이캐스트를 수행합니다. 각 컨트롤러에 대해 생성된 포인터는 포인터 프로필의 입력 시스템 프로필 아래에 설정됩니다.
이벤트 흐름.UI 구성 요소에서 직접 입력 이벤트를 처리할 수 있지만 포인터 이벤트를 사용하여 구현 디바이스를 독립적으로 유지하는 것이 좋습니다.
또한 MRTK는 디바이스 독립적 방식으로 입력 상태를 직접 쿼리하는 몇 가지 편리한 방법을 제공합니다. 자세한 내용은 MRTK의 입력 상태 액세스를 참조하세요.