Unity Standalone Input Module 가이드
Unity의 Standalone Input Module은 컨트롤러나 마우스 입력을 관리하는 기능을 제공하는 모듈입니다. 이 문서에서는 Standalone Input Module의 기본 기능과 설정 방법, 활용 예제를 다루겠습니다.
개요
Standalone Input Module은 다음과 같은 입력을 처리합니다:
- 버튼 누름
- 드래그
- 포인터 이벤트
모듈은 Graphics Raycaster 또는 Physics Raycaster를 사용하여, 어떤 요소가 포인터 디바이스를 통해 선택되었는지를 계산합니다.
주요 기능
다음은 Standalone Input Module의 주요 속성입니다:
| 프로퍼티 | 기능 설명 |
|---|---|
| Horizontal Axis | 수평축 버튼의 관리자 이름을 설정합니다. |
| Vertical Axis | 수직축 버튼의 관리자 이름을 설정합니다. |
| Submit Button | 제출 버튼의 관리자 이름을 설정합니다. |
| Cancel Button | 취소 버튼의 관리자 이름을 설정합니다. |
| Input Actions Per Second | 초당 허용되는 키보드 및 컨트롤러 입력 수입니다. |
| Repeat Delay | 입력 행동이 반복되기 전에 대기할 시간을 설정합니다. |
| Force Module Active | 모듈을 강제로 활성화할지 결정합니다. |
사용법 및 흐름
모듈의 기본 작동 흐름은 다음과 같습니다:
- 입력 수신: Input 창에서 유효한 축이 입력되면,
- 이동 이벤트 전송: 선택된 오브젝트에 이동 이벤트를 보냅니다.
- 제출/취소 버튼 작동: 제출 또는 취소 버튼이 눌리면 선택된 오브젝트에 해당 이벤트를 보냅니다.
- 마우스 입력 처리: 마우스 클릭 및 드래그 이벤트를 처리합니다.
이벤트 처리 과정
- PointerEnter: 새로 클릭하는 경우, 해당 오브젝트에 PointerEnter 이벤트를 보냅니다.
- PointerPress: 클릭한 오브젝트에 PointerPress 이벤트를 보냅니다.
- BeginDrag: 드래그가 시작되면, 드래그 핸들러에 BeginDrag 이벤트를 보냅니다.
- Drag: 드래그가 지속될 경우, 캐시된 핸들러에 DragEvent를 송신합니다.
- PointerUp: 마우스 버튼을 뗄 때, PointerUp 이벤트가 발생합니다.
- PointerClick: 현재 호버 중인 오브젝트가 클릭된 경우 PointerClick 이벤트가 발생합니다.
- Drop: 드래그 핸들러가 있을 경우 Drop 이벤트를 전송합니다.
- EndDrag: 드래그 종료 시 EndDrag 이벤트를 전송합니다.
- 스크롤: 스크롤 휠 입력을 처리합니다.
활용 예제
이제 Standalone Input Module을 활용하여 간단한 사용자 인터페이스(UI)를 만들어 보겠습니다.
1. 버튼 만들기
간단한 버튼을 만들어 클릭 이벤트를 처리할 수 있습니다. UI에서 버튼을 추가하고 해당 버튼의 클릭 이벤트에 함수를 연결하면 됩니다.
2. 드래그 앤 드랍
UI 요소를 드래그하여 다른 위치로 이동할 수 있습니다. 드래그 핸들러를 설정하고 BeginDrag와 EndDrag 이벤트를 활용하여 아이템을 교환할 수 있습니다.
3. 스크롤 메뉴
스크롤 기능을 통해 긴 메뉴를 사용자 친화적으로 구성할 수 있습니다. 마우스 휠 이벤트를 활용해 스크롤 메뉴를 구현하고, 사용자가 원하는 항목을 쉽게 선택하게 합니다.
마무리
Standalone Input Module은 Unity에서 사용자 입력을 간편하게 처리할 수 있는 강력한 도구입니다. 이 가이드를 통해 기본 사용법을 익히고, 다양한 활용 방법을 체험해 보세요. Unity의 UI 시스템을 잘 활용하면, 훌륭한 사용자 경험을 제공하는 애플리케이션을 개발할 수 있습니다.