Edit-Project Settings - Input Manager카테고리내에서 확인 가능.
Key: 실제 키보드 상의 키, 예) W, Shift, space bar 등
Buttons: 물리적 콘트롤러의 버튼, 예) Xbox One 컨트롤러의 X 버튼 등
Virtual Axis: 매핑되어 있는 버튼이나 키. Axis는 -1~1의 값을 받는다. (중립값은 0). Mouse delta (한 frame내 마우스를 움직인 정도)는 마우스의 움직임 정도에 따라-1보다 작을 수 있으며 1보다 클 수 있다.
Input Manager에서 각 Axis의 설정값 설명
구분 | 설명 |
Name | Axis 이름. 이 이름을 사용해서 Script에서 접근 가능 |
Negative/Positive Button | 키보드의 키, 마우스/조이스틱의 버튼 등으로 Axis를 -, + 방향으로 미는 버튼 |
Alt Negative/Positive Button | Axis를 -, + 방향으로 미는 대체 버튼 |
Gravity | 버튼 입력이 사라졌을때 Axis의 중립으로 되돌아가는 속도 (Units per second) |
Dead | Analogue device에서 Null값이 아니기 위한 최소 Input 범위. 이 범위를 넘어야 입력이 됨. |
Sensitivity | Target Value로 Axis가 움직이는 속도 (Units per second). 디지털 기기만 해당 |
Snap | 활성화 할 경우, 반대 방향 버튼을 누르는 경우 Axis가 0으로 리셋됨 |
Type | Input Device Type. Key or Mouse Button/Mouse Movement/Joystick Axis 중 택일 |
Axis | 연결된 Device의 Axis가 컨트롤 하는 Axis |
Joy Num | 해당 Axis를 컨트롤 하는 조이스틱 |
Negative/Position Button에 특정 키를 할당하는 방법
Key 종류 | 이름 규칙 |
문자 | a, b, c... |
숫자 | 1, 2, 3... |
방향키 | up, down, left, right |
넘버패드 키 | [1], [2], [3], [+], [equals]... |
Modifier 키 | right shift, right ctrl, right alt, right cmd... |
특수키 | backscape, tab, return, escape, space, delete, enter, insert, home, end, page up, page down |
펑션키 | f1, f2, f3... |
마우스 버튼 | mouse 0, mouse 1, mouse 2... |
조이스틱 버튼 | joystick button 0, joystick button 1, joystick button 2... |
특정 조이스틱의 특정 버튼 | joystick 1 button 0, joystick 1 button 1... |
input.GetKey("a");
// a 버튼이 눌렸을때 true값 반환 (GetKeyDown: 버튼을 누르고 있는 상태, GetKeyUp: 버튼을 눌렀다 땠을 때)
input.GetKey(KeyCode.UpArrow)); 혹은 input.GetKey("up");
// 위쪽 화살표가 눌렸을때 true값 반환
키 변수 종류 확인: docs.unity3d.com/kr/2020.2/ScriptReference/KeyCode.html
float horizontalInput = Input.GetAxis ("Horizontal");
// float 타입의 horizontalInput 변수의 값은 Horizontal키의 axis값에 의해 정의
transform.Translate(new Vector3(horizontalInput, 0, verticalInput) * moveSpeed * Time.deltaTime);
// horizontalInput과 verticalInput 값을 받아서 moveSpeed 변수값과 프레임 시간 값의 곱에 의해 오브젝트를 이동시킴.
(Time.deltaTime: 현재 프레임 상에서 지난 시간)
'게임엔진 > Unity' 카테고리의 다른 글
[Unity] New Input System 세팅하기 (0) | 2023.07.24 |
---|---|
[Unity] Input Action을 사용해야 하는 이유 (0) | 2023.07.24 |
[Unity] 애니메이션 내 추가 버튼이 비활성화인 이유 (0) | 2023.07.21 |
[Unity] 타일맵에 콜라이더(충돌체) 추가하기 (0) | 2023.07.21 |
[Unity] 2D 게임의 기본 타일맵! (0) | 2023.07.21 |