1. GetKey
- 목적: 특정 키가 눌렸거나 누르고 있는 상태를 감지.
- 사용 예시: 키가 눌린 상태나 키가 눌렸는지를 정확히 감지하고 싶을 때 사용.
- 동작: 특정 키가 눌리고 있는지 즉시 확인함. 버튼 클릭과 같은 명확한 키 입력을 감지하는 데 유용.
if (Input.GetKey(KeyCode.Space)) {
// 스페이스바를 누르고 있을 때 실행
}
2. GetAxis
- 목적: 입력 장치에서 입력을 받을 때 -1에서 1까지 부드러운 연속적인 값 반환.
- 사용 예시: 움직임처럼 입력이 부드럽게 변화하는 것이 필요할 때 사용.
- 동작: 입력 값이 보간되거나 부드럽게 변함. 키보드 화살표 키나 조이스틱을 사용할 때 값이 0에서 1로, 또는 -1로 천천히 증가하거나 감소함.
float horizontal = Input.GetAxis("Horizontal");
3. GetAxisRaw
- 목적: 입력에 따라 -1, 0, 1의 이산적인 값을 반환.
- 사용 예시: 입력을 바로 즉각적으로 감지하고 싶을 때 사용. 즉각적이고 명확한 움직임이 필요한 플랫폼 게임처럼 빠른 반응이 요구되는 게임에서 사용
- 동작: GetAxis와는 다르게 입력을 보간하지 않고, 키 입력 시 즉시 -1, 0, 1 중 하나를 반환.
float horizontal = Input.GetAxisRaw("Horizontal");
비교:
- 입력 처리: GetAxis는 입력을 부드럽게 처리하는 반면, GetAxisRaw는 즉각적인 값을 반환. GetKey는 단순히 키 입력만 감지.
- 사용 사례: GetKey는 특정 키를 감지할 때, GetAxis는 부드러운 입력 전환이 필요할 때, GetAxisRaw는 즉각적인 입력 감지가 필요할 때 적합.