Input
Input Manager에 설정된 게임 입력 장치의 데이터를 입력받아 이를 접근하기 유리하도록 한 class이다.
이 클래스로 키보드의 버튼 값이나 터치의 유/무 또는 횟수, 조이스틱 조작 등의 데이터를 받아 게임을 조작할 수 있다.
-
Input Manager
- 게임 조작 장치의 가상 축과 버튼을 컨트롤 이름으로 맵핑시켜 관리한다.&nsbp; Edit - Project Setting - Input에서 기존의 축과 버튼을 설정하고, 새로운 입력 축을 추가할 수 있다. -
GetAxis
- Input 클레스의 메소드로 InputManager에 맵핑된 가상 축을 읽는다."Horizontal", "Vertical"은 조이스틱의 각각 수평과 수직에, "Mouse X", "Mouse Y"는 마우스에, "A","S","D","W"는 방향키에 맵핑되어 각 축에 입력된 데이터를 읽는다.InputManager에서 가상축에 대한 설정을 변경할 수 있다."Input.GetAxis - 조이스틱과 마우스로 이동, 시선 전환" h = Input.GetAxis("Horizontal"); v = Input.GetAxis("Vertical"); r = Input.GetAxis("Mouse X"); Vector3 moveDir = (Vector3.forward * v) + (Vector3.right * h); transform.Translate(moveDir.normalized *moveSpeed*Time.deltaTime, Space.Self); transform.Rotate(Vector3.up * rotSpeed * Time.deltaTime * r); -
GetKey
- Input 클레스의 메소드로 KeyCode enum 파라미터에 따라 code에 해당하는 키가 누르고 있는 동안 True를 리턴한다.GetKeyDown은 누르기 시작한 프레임, GetKeyUp은 키를 뗀 프레임 동안 True를 리턴한다.if(Input.GetKeyDown(KeyCode.Space)) { Debug.Log("Space"); } -
GetButton
- Input 클레스의 메소드로 InputManager에 맵핑된 가상 버튼에 해당하는 키가 누르고 있는 동안 True를 리턴한다.GetButtonDown은 버튼을 누르기 시작한 프레임, GetButtonUp은 버튼을 뗀 프레임 동안 True를 리턴한다.if (Input.GetButtonDown("Jump")) { Debug.Log("Space"); } 역시 가상축과 마찬가지로 InputManager에서 버튼에 대한 설정을 변경할 수 있다. 위 예시는 기본 설정인 Jump -> KeyCode.Space 에 맵핑되어 있는 상황으로 스페이스 키를 누름으로 "Space"가 출력된다.
- 위는 Input 클래스와 Input Manager의 역할, 자주 사용되는 두 메소드를 정리한 것으로 더 자세한 정보는 Docs를 참고한다. Docs-Input