24.01.22 TIL - Unity 이동 방식 (2) : Input System

JJwoo·2024년 1월 23일

먼저 유니티 Package Manager에서 Input System을 설치했다.


🎮 Input System

Assets 우클릭 - Create - Input Actions 클릭으로 생성하면 컨트롤러가 생긴다.


1. Action Maps

입력값을 받을 대상을 지정

  • 입력 액션을 그룹화 한다.
    예를 들어, 'Player'는 게임 내에서 플레이어 캐릭터를 제어하기 위한 모든 액션을 포함할 수 있는 액션 맵.

2. Actions

지정한 대상이 실시할 액션을 추가

  • Move: 'Move' 액션은 2D 벡터 입력을 나타내며, 플레이어의 상, 하, 좌, 우 이동을 위한 키를 정의한다.

  • Look: 'Look' 액션은 마우스 위치를 사용하여 플레이어의 시선을 제어하는 데 사용된다. (카메라 컨트롤)


3. Action Properties

액션을 실행시킬 입력값을 할당

  • Action Type: 액션의 유형을 정의한다.

'Value'는 지속적인 값을 나타내며, 버튼 누름과 같은 단일 이벤트가 아닌 마우스 움직임이나 조이스틱과 같은 연속된 입력에 사용됨.

  • Control Type: 입력이 어떤 데이터 형식을 사용하는지 정의.

  • 'Vector2'는 2차원 벡터 데이터를 사용하는 입력, 예를 들어 X축과 Y축의 마우스 움직임이나 조이스틱의 위치를 나타낸다.


기타 옵션

  • Interactions: 입력이 활성화되는 방식에 대한 추가 규칙을 설정할 수 있다, 예를 들어 'Press'와 'Release'와 같은 특정 상태를 감지할 수 있음.

  • Processors: 입력 데이터를 처리하고 수정하는 데 사용되는 옵션이다, 예를 들어, 'Invert' 프로세서를 사용하여 입력 값을 반전시킬 수 있다.



🎃 Input Manager vs Input System 차이

기능Input Manager새로운 Input System
접근 방식전통적, 직접적인 메서드 호출이벤트 기반, 액션 맵 사용
입력 처리Input.GetKey, Input.GetAxis 등으로 입력 확인입력 액션과 이벤트 리스너를 통한 처리
장치 및 플랫폼 지원제한적인 장치 및 플랫폼 지원다양한 장치 및 플랫폼에 대한 광범위한 지원
사용자 정의 및 확장성제한된 사용자 정의 옵션높은 수준의 사용자 정의 및 확장 가능
설정 방법Unity Editor의 Input Manager를 통한 설정코드 또는 전용 UI를 통한 설정
적합한 사용 사례간단한 프로젝트나 프로토타입복잡한 입력 요구사항을 가진 게임 개발

추후에는 Input System 안에서도 이벤트 & 델리게이트 방식이나
Send Message, Invoke Unity Event등 여러가지 입력 이벤트를 호출하는 방법에 대해 알아봐야 할 듯 하다.

profile
개발 모코코

0개의 댓글