UI 툴킷은 이벤트 시스템을 사용하여 입력을 처리하고 모든 활성 패널에 이벤트를 전송합니다.
UI 툴킷의 이벤트 시스템은 IMGUI 및 레거시 입력 관리자로부터 이벤트를 수신할 수 있습니다.내비게이션 이벤트는 레거시 입력 관리자에 정의된 축에서 생성됩니다.다른 이벤트는 IMGUI 이벤트 대기열에서 가져옵니다.
특정 경우를 제외하고는 이벤트 시스템을 사용하기 위해 씬에 컴포넌트를 추가하지 않아도 됩니다.
씬에서 두 개 이상의 패널 설정 에셋을 사용하는 경우 이벤트 시스템은 정렬 순서에 따라 해당 패널에 포인터 이벤트를 전송합니다.포인터 이벤트는 패널이 반응할 때까지 패널을 통해 전파됩니다.
이벤트를 사용하여 포커스가 맞춰진 요소에 영향을 주는 첫 번째 패널이 해당 이벤트 시스템에 대해 포커스가 맞춰진 패널이 됩니다.해당 패널은 다른 이벤트가 발생하여 다른 패널이 포커스가 맞춰진 패널이 될 때까지 키보드 이벤트를 계속 수신합니다.
참고:이벤트의 전파를 중지하는 것과 요소에 포커스를 부여하는 것은 별개의 문제입니다.예를 들어 버튼을 클릭하면 전파를 중지하고 해당 버튼을 눌렀을 때만 반응하도록 허용되지만, 버튼이나 일반적으로 클릭한 포커스 가능한 요소에 포커스를 부여하는 것처럼 클릭에 대한 다른 기본 동작을 막지는 않습니다.
UI 툴킷 UI 문서와 uGUI 컴포넌트를 동시에 사용할 수 있습니다.
씬에서 첫 번째 uGUI 요소를 추가하면 Event System과 Standalone Input Module이 씬에 자동으로 추가됩니다.
이벤트 시스템은 씬을 읽고 이벤트를 실행하는 반면, 스탠드얼론 입력 모듈은 입력을 해석하고 이벤트 실행을 요청합니다.스탠드얼론 입력 모듈을 다른 입력 모듈로 교체할 수 있습니다.다른 입력 모듈은 소비되는 입력을 변경하지만 모든 이벤트는 여전히 이벤트 시스템을 거쳐 실행됩니다.
UI 툴킷은 패널의 정렬 순서를 사용하고 이를 uGUI 캔버스 및 기타 유효한 레이캐스트 타겟의 정렬 순서와 비교하여 포인터 이벤트를 UI 툴킷 요소로 보낼지, uGUI 오브젝트로 보낼지 또는 씬의 다른 항목으로 보낼지를 결정합니다.마찬가지로 UI 툴킷은 이벤트 시스템의 currentSelectedGameObject
를 설정하여 UI 툴킷 패널이 포커스를 받으려 할 때 다른 uGUI 오브젝트에서 포커스를 제거하고, uGUI 오브젝트가 선택되면 UI 툴킷 패널이 자동으로 포커스를 잃습니다.
이벤트 시스템을 수동으로 추가하려면 GameObject > UI > Event System을 선택합니다.
UI 툴킷(및 uGUI)을 다른 입력 시스템과 함께 사용하는 경우, 다른 입력 모듈과 이벤트 시스템을 선택해야 합니다.
다음 표에서는 각 입력 시스템 사용에 필요한 컴포넌트와 설정에 대해 설명합니다.
사용법 | 필수 컴포넌트 | 액티브 입력 핸들링 |
---|---|---|
레거시 입력 관리자가 있는 UI 툴킷 요소 | 기본 이벤트 시스템을 사용합니다.씬 컴포넌트가 필요없습니다. | Input Manager (Old). |
Input System 패키지가 포함된 UI 툴킷 요소 | Input System UI Input Module 및 Event System 컴포넌트 | Input System Package (New) |
레거시 입력 관리자가 있는 UI 툴킷 요소 및 uGUI 컴포넌트 | Standalone Input Module 및 Event System 컴포넌트 | Input Manager (Old) 또는 Both. |
Input System 패키지가 있는 UI 툴킷 요소 및 uGUI 컴포넌트 | Input System UI Input Module 및 Event System 컴포넌트 | Input System Package (New) 또는 Both |
Edit > Project Settings > Player > Active Input Handling에서 Active Input Handling 설정을 찾을 수 있습니다.
Input System 패키지와 함께 UI 툴킷을 사용할 수 있습니다.