Unity는 키보드, 조이스틱 그리고 게임패드 입력을 지원합니다.
가상 축과 버튼은 Input Manager 에서 만들 수 있으며 최종 사용자는 멋진 화면 설정 다이얼로그에서 키보드 입력을 설정할 수 있습니다.
조이스틱, 게임패드, 키보드 및 마우스를 설치한 다음 간단한 스크립팅 인터페이스를 통해 액세스할 수 있습니다. 일반적으로 축과 버튼을 사용하여 콘솔 컨트롤러를 가짜로 만들 수 있습니다. 또는 키보드 키에 액세스할 수 있습니다.
스크립트에서 모든 가상 축은 이름을 통해 액세스할 수 있습니다.
모든 프로젝트에는 다음과 같은 디폴트 입력 축이 있습니다.
새 가상 축을 추가하고자 할 경우 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 | 이 축을 조절할 장치에 연결된 조이스틱입니다. |
이러한 설정을 사용하여 입력의 모양과 느낌을 미세 조정해야 합니다. 이는 모두 에디터에서 툴팁으로 문서화됩니다.
다음과 같이 스크립트에서 현재 상태를 쿼리할 수 있습니다.
value = Input.GetAxis ("Horizontal");
축의 값은 –1에서 1 사이입니다. 중립 포지션은 0입니다. 조이스틱 입력과 키보드 입력의 경우입니다.
하지만 마우스 델타 및 창 흔들림 델타는 마지막 프레임에서 마우스 또는 창이 얼마나 움직였는지 나타냅니다. 이는 사용자가 마우스를 빠르게 움직일 때 1보다 크거나 –1보다 작을 수 있음을 의미합니다.
동일한 이름의 축을 여러 개 만들 수 있습니다. 입력 축을 가져올 때 절대 값이 가장 큰 축이 반환됩니다. 이를 통해 하나의 축 이름에 둘 이상의 입력 장치를 할당할 수 있습니다. 예를 들어 키보드 입력용 축 하나와 조이스틱 입력용 축 하나를 동일한 이름으로 작성해야 합니다. 사용자가 조이스틱을 사용하는 경우 조이스틱에서 입력이 발생합니다. 그렇지 않으면 키보드에서 입력이 발생합니다. 이렇게 하면 스크립트를 작성할 때 입력이 어디에서 발생하는지 고려할 필요가 없습니다.
축에 키를 매핑하려면 Inspector 의 Positive Button 또는 Negative Button 프로퍼티에 키 이름을 입력해야 합니다.
키의 이름은 다음 규칙을 따릅니다.
키를 식별하는 데 사용되는 이름은 스크립팅 인터페이스와 인스펙터에서 동일합니다.
value = Input.GetKey ("a");
또한 KeyCode enum 파라미터를 통해 키를 액세스할 수도 있습니다.