Unity에서 C# 코드 디버깅
메시징 시스템

이벤트 시스템

이벤트 시스템은 키보드, 마우스, 터치, 커스텀 입력 등 입력 기반 애플리케이션의 오브젝트에 이벤트를 전송하는 방법입니다. 이벤트 시스템은 이벤트를 전송에 함께 작용하는 일부 컴포넌트로 구성됩니다.

개요

이벤트 시스템(Event System) 컴포넌트를 게임 오브젝트에 추가할 때 이벤트 시스템 자체가 이벤트 시스템 모듈 사이에서 커뮤니케이션에 매니저 및 퍼실리테이터로 설계되어 있기 때문에 많은 기능이 노출되지 않습니다.

이벤트 시스템의 주요 역할은 다음과 같습니다.

  • 어떤 게임 오브젝트를 선택할지 관리
  • 어떤 입력 모듈을 사용할지 관리
  • 레이캐스팅 관리(필요 시)
  • 필요에 따라 모든 입력 모듈 업데이트

입력 모듈

이벤트 시스템을 어떻게 생생하게 동작하게 할지에 대한 메인 로직으로, 다음에 사용됩니다.

  • 입력 처리
  • 이벤트 스테이트 관리
  • 씬 오브젝트에 이벤트 전송

한 번에 한 입력 모듈만 이벤트 시스템에 활성화할 수 있으며 Event System 컴포넌트로 동일 게임 오브젝트의 컴포넌트여야 합니다.

커스텀 입력 모듈을 쓰려는 경우 Unity에서 존재하는 UI 컴포넌트가 지원하는 이벤트를 전송하는 것을 권장하지만, 메시징 시스템 문서에 세부 정보로 자체 이벤트를 확장하고 쓸 수 있습니다.

레이캐스터

레이캐스터(Raycasters)는 포인터가 가리키는 것을 계산하는 데 사용되며, 일반적으로 입력 모듈이 포인팅 디바이스가 무엇 위에 있는지 산출하는 씬과 관련된 레이캐스터를 사용합니다

다음 3개의 레이캐스터가 기본값으로 제공됩니다.

  • 그래픽 레이캐스터 - UI 요소에 사용
  • 물리 2D 레이캐스터 - 2D 물리 요소에 사용
  • 물리 레이캐스터 - 3D 물리 요소에 사용

씬에 설정된 2D/3D 레이캐스터를 보유한 경우, 입력 모듈에서 쉽게 비UI 엘리먼트 수신 메시지를 획득할 수 있습니다. 하나의 이벤트 인터페이스를 시행하는 스크립트를 첨부합니다.

Unity에서 C# 코드 디버깅
메시징 시스템