New Input System - 기초(1)

PKH·2025년 1월 31일

최근 게임들은 키보드/마우스뿐만 아니라 PS4, XBOX 등 다양한 콘솔도 지원하는데 Unity에서도 이를 더욱 사용하기 좋게끔 지원해주는 유용한 패키지인 NewInputSystem에 대하여 정리해보고자한다.

New Input System

New Input System 개요

기존 키 입력 방식인 Old Input Manager는 특정 키를 추가하는 방식은 다음과 같다.

  1. Edit > Project Settings > Input Manager > Axes > Size 증가
  2. 해당 키의 Name, Positive Button, Type 등을 설정
  3. 위 작업을 반복하여 원하는 만큼 키 추가

이 방식은 키를 하나씩 추가해야 하므로 번거롭고, PS4나 Xbox 같은 새로운 플랫폼을 적용하기에도 비효율적이었다.
New Input System은 이러한 문제를 개선하여 보다 효율적인 입력 시스템을 제공한다.

New Input System 환경설정

New Input System을 사용하기 위해선 Input System 패키지를 다운받아야 한다.

이렇게 설정이 잘 되어있다면 New Input System을 이제 사용할 수 있다.

New Input System 생성 및 적용

이전 입력방식의 경우 직접 Project Settings에 들어가서 Input 키를 설정하였으나 New Input System 직접 Input Action을 통해 직접 키를 정의하고 작성한다.

1. Input Action 생성하기

키를 바인딩하고 제어할 수 있는 Input Action Asset을 만든다.

2. Control Scheme 설정

Control Scheme은 어떤 플랫폼별 입력 장치를 설정하는 것이다.
예를 들어, PC(키보드,마우스), Xbox(XboxController), Moblie(Touchpad) 등을 각각 설정할 수 있다.

이렇게 Scheme를 추가하여 원하는 플랫폼으로 저장하면 다음과 같이 PC 전용 Scheme을 생성할 수 있다.

해당 이미지처럼 작업을 진행하면 PC Scheme이 생성됨을 볼 수 있다.
또한 중간에 Requirements에 Optional과 Required 2가지의 설정 옵션이 존재한다.
쉽게 설명하면 Option 기능인지 아니면 필수 기능인지를 파악한다고 생각하면 된다.

  • Required: 해당 입력 장치가 반드시 있어야 함
  • Optional: 입력 장치가 있으면 추가로 사용 가능
    ex) PC(키보드 및 마우스)와 Xbox(Xbox Controller)를 지원하는 게임을 가정
    PC : Required, Xbox : Optional일 경우
    -> 게임을 하기 위해서 반드시 키보드 및 마우스가 필요하지만, Xbox Controller가 연결되어 있으면 추가로 사용할 수 있음을 의미
    만약 둘 다 Required라면 해당 장치가 모두 연결된 상태에서만 게임이 실행된다.
    이럴 때 PC와 Xbox가 둘 다 연결된 상태이고 Xbox만 사용하고 싶은 경우는 Control Scheme을 스크립트로 강제 전환하도록 로직을 작성하면 된다.

3. Action Map 설정

Action Map은 어떤 상황에서 어떤 입력을 사용할 것인지를 정의하는 기능이다.
ex)

  • Player Action Map: 이동, 공격 등
  • UI Action Map: 메뉴 이동, 버튼 선택 등
    이렇게 상황에 따라 입력 방식을 다르게 적용할 수 있다.

4. Actions 생성

Action은 특정 입력(예: 이동, 공격, 점프 등)을 정의하는 기능이다.

5. Action Properties 설정

Action Properties에서는 입력된 키가 어떤 방식으로 동작할지를 설정한다.

이렇게 그림과 같이 Properties를 설정하여 동작을 정의한 뒤 Binding을 추가할 수 있다.
해당 Binding에서는 내가 원하는 키와 Scheme을 지정하여 어떠한 플랫폼에서 어떤 키로 동작할 것인지를 정하는 것이다.

Input Action Asset 샘플 만드는법

  • Player Input 컴포넌트에서 Create Actions를 눌러 Input Action Asset Sample을 생성하여 참고할 수 있다.

Input Action Asset 결과

완성된 Input Action Asset은 다음과 같이 구성되었다.

  • PC와 Xbox 2가지의 기기로 구성
  • InGame과 Menu로 구성
    • InGame : 걷기, 뛰기, 공격
    • Menu : 버튼 선택

마무리

이번 정리에서는 New Input System의 기본 설정 과정을 다루었다.
이후엔 3D모델을 구한 뒤 현재 설정한 Input Action Asset을 적용하여 동작하는 기능을 구현해 보려고 한다.

0개의 댓글