Version: 5.3
입력
모바일 디바이스 입력

기존의 게임 입력

Unity는 키보드, 조이스틱 그리고 게임패드 입력을 지원합니다.

가상 축과 버튼은 Input Manager 에서 만들 수 있으며 최종 사용자는 멋진 화면 설정 다이얼로그에서 키보드 입력을 설정할 수 있습니다.

조이스틱, 게임패드, 키보드 및 마우스를 설치한 다음 간단한 스크립팅 인터페이스를 통해 액세스할 수 있습니다. 일반적으로 축과 버튼을 사용하여 콘솔 컨트롤러를 가짜로 만들 수 있습니다. 또는 키보드 키에 액세스할 수 있습니다.

가상 축(Axes)

스크립트에서 모든 가상 축은 이름을 통해 액세스할 수 있습니다.

모든 프로젝트에는 다음과 같은 디폴트 입력 축이 있습니다.

  • HorizontalVertical 은 w, a, s, d 및 화살표 키에 매핑됩니다.
  • Fire1, Fire2, Fire3 은 각각 컨트롤, 옵션(Alt) 및 커맨드에 매핑됩니다.
  • Mouse XMouse Y 는 마우스 움직임의 델타에 매핑됩니다.
  • Window Shake XWindow Shake Y 는 창의 움직임에 매핑됩니다.

새 입력(Input) 축(Axes) 추가

새 가상 축을 추가하고자 할 경우 Edit->Project Settings->Input 메뉴로 이동해야 합니다. 여기서 각각의 축 설정을 변경할 수도 있습니다.

각각의 축을 조이스틱의 버튼 두 개, 마우스 또는 키보드의 키에 매핑합니다.

프로퍼티: 기능:
Name 스크립트에서 이 축을 검사하는 데 사용하는 문자열의 이름입니다.
Descriptive Name 스탠드얼론 빌드를 위한 Configuration 다이얼로그의 입력 탭에 표시되는 양수 값 이름입니다.
Descriptive Negative Name 스탠드얼론 빌드를 위한 Configuration 다이얼로그의 입력 탭에 표시되는 음수 값 이름입니다.
Negative Button 음의 방향으로 축 값을 넣는데 사용하는 버튼입니다.
Positive Button 양의 방향으로 축값을 넣는데 사용하는 버튼입니다.
Alt Negative Button 음의 방향으로 축 값을 넣는데사용하는 대체 버튼입니다.
Alt Positive Button 양의 방향으로 축 값을 넣는데 사용하는 대체 버튼입니다.
Gravity 아무런 버튼도 누르지 않으면 축이 중립쪽으로 떨어지는 속도(초 단위)입니다.
Dead 아날로그 데드 존의 크기입니다. 이 범위의 모든 아날로그 장치 값은 중립에 매핑됩니다.
Sensitivity 축이 대상의 값으로 향하기 위한 속도(초 단위)입니다. 디지털 장치 전용입니다.
Snap 활성화되어 있는 경우 반대 방향 버튼을 누르면 축 값이 0으로 재설정됩니다.
Invert 활성화되어 있는 경우 Negative Buttons는 양수 값을 제공하고 양수 값은 음수 값을 제공합니다.
Type 이 축을 조절할 입력의 타입입니다.
이 축을 조절할 연결 장치의 축입니다.
Joy Num 이 축을 조절할 장치에 연결된 조이스틱입니다.

이러한 설정을 사용하여 입력의 모양과 느낌을 미세 조정해야 합니다. 이는 모두 에디터에서 툴팁으로 문서화됩니다.

스크립트에서 입력(Input) 축(Axes) 사용

다음과 같이 스크립트에서 현재 상태를 쿼리할 수 있습니다.

 value = Input.GetAxis ("Horizontal");

축의 값은 –1에서 1 사이입니다. 중립 포지션은 0입니다. 조이스틱 입력과 키보드 입력의 경우입니다.

하지만 마우스 델타 및 창 흔들림 델타는 마지막 프레임에서 마우스 또는 창이 얼마나 움직였는지 나타냅니다. 이는 사용자가 마우스를 빠르게 움직일 때 1보다 크거나 –1보다 작을 수 있음을 의미합니다.

동일한 이름의 축을 여러 개 만들 수 있습니다. 입력 축을 가져올 때 절대 값이 가장 큰 축이 반환됩니다. 이를 통해 하나의 축 이름에 둘 이상의 입력 장치를 할당할 수 있습니다. 예를 들어 키보드 입력용 축 하나와 조이스틱 입력용 축 하나를 동일한 이름으로 작성해야 합니다. 사용자가 조이스틱을 사용하는 경우 조이스틱에서 입력이 발생합니다. 그렇지 않으면 키보드에서 입력이 발생합니다. 이렇게 하면 스크립트를 작성할 때 입력이 어디에서 발생하는지 고려할 필요가 없습니다.

버튼(Button) 이름

축에 키를 매핑하려면 InspectorPositive Button 또는 Negative Button 프로퍼티에 키 이름을 입력해야 합니다.

키의 이름은 다음 규칙을 따릅니다.

  • 일반 키: “a”, “b”, “c”…
  • 숫자 키: “1”, “2”, “3”, …
  • 화살표 키: “위”, “아래”, “왼쪽”, “오른쪽”
  • 키패드 키: “[1]”, “[2]”, “[3]”, “[+]”, “[=]”
  • 보조 키: “오른쪽 shift”, “왼쪽 shift”, “오른쪽 ctrl”, “왼쪽 ctrl”, “오른쪽 alt”, “왼쪽 alt”, “오른쪽 cmd”, “왼쪽 cmd”
  • 마우스 버튼: “마우스 0”, “마우스 1”, “마우스 2”, …
  • 조이스틱 버튼(모든 조이스틱 포함): “조이스틱 버튼 0”, “조이스틱 버튼 1”, “조이스틱 버튼 2”, …
  • 조이스틱 버튼(특정 조이스틱): “조이스틱 1 버튼 0”, “조이스틱 1 버튼 1”, “조이스틱 2 버튼 0”, …
  • 특수 키: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “ page down ”
  • 기능 키 : “f1”, “f2”, “f3”…

키를 식별하는 데 사용되는 이름은 스크립팅 인터페이스와 인스펙터에서 동일합니다.

 value = Input.GetKey ("a");

또한 KeyCode enum 파라미터를 통해 키를 액세스할 수도 있습니다.

입력
모바일 디바이스 입력