Unity 입력 관리자 (Input Manager) 사용법

Unity의 입력 관리자는 프로젝트에서 다양한 입력 장치를 설정하고 처리하는 방법을 제공합니다. 아래에서는 입력 관리자의 구성 요소와 사용 방법을 간단히 설명하고, 활용 예제를 추가로 제시합니다.

입력 관리자 접근 방법

  1. Unity의 메인 메뉴에서 Edit > Project Settings로 이동합니다.
  2. 오른쪽 내비게이션 메뉴에서 Input Manager를 선택합니다.

입력 관리자 구성 요소

입력 관리자는 다음과 같은 입력 컨트롤을 지원합니다:

종류 설명
물리적 키보드에서 사용하는 모든 키
버튼 게임패드와 같은 물리적 컨트롤러의 버튼
가상 축 컨트롤에 매핑되며, 사용자 입력에 따라 값이 변경됨

주요 프로퍼티

프로퍼티 설명
Name 축 이름
Negative Button 축의 음의 방향을 조작하는 버튼
Positive Button 축의 양의 방향을 조작하는 버튼
Gravity 아무 입력도 없을 때 축이 중립으로 돌아가는 속도
Dead 아날로그 스틱을 움직여야 하는 최소 입력 강도
Sensitivity 축 값이 목표로 향하는 속도
Type 축을 제어하는 입력 타입

가상 축 추가 및 관리

가상 축을 추가하려면 Size 필드의 숫자를 높이면 됩니다. 다음은 가상 축을 제거하거나 복사하는 방법입니다:

  • 제거하기: Size 필드의 숫자를 낮추거나, 원하는 축을 오른쪽 클릭 후 Delete Array Element 선택
  • 복사하기: 원하는 축을 오른쪽 클릭 후 Duplicate Array Element 선택

입력 관리자의 활용

가상 축 매핑

가상 축에 키를 매핑하려면 입력 관리자의 Positive Button 또는 Negative Button 프로퍼티에 키 이름을 입력합니다. 예를 들어:

키 패밀리 예시
문자 키 a, b, c…
숫자 키 1, 2, 3…
화살표 키 up, down, left, right
특수 키 backspace, space
기능 키 f1, f2, f3…

스크립트에서 가상 축 사용

가상 축에 접근하려면 축의 이름을 사용합니다. 예를 들어, 수평 이동 값을 가져오려면 아래와 같은 코드를 사용할 수 있습니다:

float horizontalInput = Input.GetAxis("Horizontal");

게임 오브젝트 이동 예제

아래 예제는 HorizontalVertical 축의 입력을 사용하여 게임 오브젝트를 XZ 공간에서 이동하는 방법을 보여줍니다.

void Update()
{
    float moveSpeed = 10;
    float horizontalInput = Input.GetAxis("Horizontal");
    float verticalInput = Input.GetAxis("Vertical");

    transform.Translate(new Vector3(horizontalInput, verticalInput, 0) * moveSpeed * Time.deltaTime);
}

위 코드는 게임 오브젝트의 update() 메서드 안에 포함되어야 합니다. 이를 통해 사용자의 입력에 따라 오브젝트가 자연스럽게 움직입니다.

결론

Unity의 입력 관리자는 다양한 입력 장치를 프로젝트에 통합하고 손쉽게 사용할 수 있는 강력한 도구입니다. 이 문서를 기반으로 다양한 입력 방식과 게임 내 상호작용을 구현해 보세요!