본문 바로가기

내배켐 Unity TIL

Unity 19일차 TIL - Unity(InputSystem)

Input System - 입력 행동들을 정리하는 시스템

1. Input Action : 입력 행동을 정의한다. "이동", "공격" 등의 행동을 정의하고 트리거하는 키 또는 버튼을 지정할 수 있다.

2. Input Action Asset : 여러 개의 입력 행동을 그룹화하는 방법.

3. Player Input Component : 자동으로 입력 행동을 처리하고 해당 게임 오브젝트에 메시지를 보낸다.

 

Input System을 사용하기 위해서는 Package를 추가해야된다.

Window -> Package Manager -> Unity Register -> Input System -> Install

 

Action Type : 입력을 어떻게 받을 것인지

1. Value : 눌렀을 때, 누르고 있을 때, 뗄 때 등 다양한 상황에 대응 할 수 있음

2. Button : 처음 눌렀을 때 발생하는 액션에 활용

3. Pass-Thorugh : 명확하를 거치지 않은 Value?

 

Control Type : 입력 데이터가 어떤 식으로 들어올 지

설정해둔 Action이 동작 될 때 받아올 데이터 형태?를 정하는 느낌이다.

 

사용하고자 하는 Object에 Component를 추가하고 Actions에 만들어둔 InputSystem을 넣어준다.

 

Behavior 부분에서 Action이 들어올 때 방식을 설정할 수 있다.

Send Messages만 사용하고 있는데 기본적으로 제공해주는 함수들을 사용한다. OnMove, OnLook, OnFire 3가지 함수들을 사용했으며 처음에 InputValue 값이 어떻게 들어오는건지 이해를 못하고 있다가 나중에서야 이해했다.

그냥 Move, Look, Fire이라는 이름으로 Input Action을 만든 뒤 스크립트에서 OnMove(InputValue 변수명)을 사용하게되면 Move라는 곳에 설정해둔 Action이 동작될 때 자동으로 함수가 호출된다.

나머지 Look, Fire도 마찬가지이다.