Input.

AkaPoka·2025년 6월 2일

유니티

목록 보기
6/8

Input.anyKey

Input.anyKey : 아무키나 누르고 있을 때 true
현재 버튼을 누르고 있는가(held down)? 를 판별한다.

Input.anyKeyDown : 아무키나 눌렀을 때 true
버튼을 누른 첫 프레임만.

anyKey는 누르고 있는 동안 계속 true
anyKeyDown은 누를 때 마다 true를 출력함.

특이하게도 anyKey는 Up이 존재하지 않는다. 별로 필요 없어서 그런가?

Input.GetKey

Input.GetKey(KeyCode.A) : KeyCode.A를 누르고 있는 동안 True, 아니면 false
Input.GetKeyDown(KeyCode.A) : KeyCode.A를 누르는 1 프레임만 True, 아니면 false
Input.GetKeyUp(KeyCode.A) : KeyCode.A를 떼는 1 프레임만 True, 아니면 false

KeyCode


유니티 공식 도큐먼트 KeyCode
https://docs.unity3d.com/kr/2023.2/ScriptReference/KeyCode.html

아스키 코드를 이용해서 KeyCode를 만든듯 하다. 알파벳키 입력은 소문자는 존재하지 않았다. 동일 취급이라 KeyCode에 넣지 않은 듯.

Input.GetMouseButton

Input.GetMouseButton(0) : 0 = 좌클릭, 1 = 우클릭, 2 = 휠버튼
Input.GetMouseButtonDown(1) : 위와 상동. 누르는 1 프레임만 True
Input.GetMouseButtonUp(2) : 위와 상동. 떼는 1 프레임만 True

Input.GetButton

Input.GetButton("Jump")
Input.GetButtonDown("Jump")
Input.GetButtonUp("Jump")
GetKey와 동일하지만 Input Manager에 정의된 가상 버튼을 문자열로 받아온다.

Input.GetAxis

Input.GetAxis("Horizontal")

Input.GetAxisRaw("Vertical")

마찬가지로 문자열을 받아온다.
GetAxis는 -1 ~ 1 사이의 float값을 받아온다.
GetAxisRaw도 마찬가지로 -1 ~ 1 사이의 float값을 받아오지만 -1, 0, 1 세가지만 반환한다.
negative -1
positive +1

GetAxis는 누르면 서서히 증가하고 떼면 서서히 감소하는 성질을 가지고 있다. 그래서 관성이 존재하는 것 처럼 보인다.
GetAxisRaw는 -1 0 1 만 반환하므로 움직임이 뚝뚝 끊어져 떼자마자 멈추고 누른만큼만 움직인다.

0개의 댓글