GUMI Dev
[유니티 Input] 키보드 입력 본문
GetAxis: 수평, 수직 버튼 입력을 받으면 float
우선 키보드를 눌러 횡 이동을 할 수 있도록 만들어보았다.
Input Manager을 확인해보면 "Horizontal"은 키보드에서 횡(좌우 방향) 버튼으로 조작하는 것이 디폴트로 설정이 되어있다.
디폴트값을 유지하며 스크립트를 작성하고 실행해보았다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
void Update()
{
{
if (Input.anyKeyDown)
Debug.Log("플레이어가 아무 키를 눌렀습니다. ");
if (Input.GetButton("Horizontal"))
{
Debug.Log("횡 이동 중" + Input.GetAxis("Horizontal"));
}
}
}
}
테스트를 해보았다.
키보드에서 횡 방향의 키를 눌러야 횡 이동이 실행된다.
종 방향 키를 누르면 횡 이동이 되지 않고 "플레이어가 아무 키를 눌렀습니다. "가 뜬다.
횡 이동 버튼으로는 왼쪽과 오른쪽 두 버튼이 있다.
오른쪽 키는 Positive이고 왼쪽 키는 Negative인 것이 디폴트로 설정되어있다.

GetAxis 함수를 사용하여 스크립트를 작성하고 Play를 한 뒤 오른쪽 키를 누르면 0과 1 사이의 값이나 1이 나오고 왼쪽 키를 누르면 -1과 0 사이의 값이나 -1이 나온다. 즉, 가중치 값이 표시된다.

오브젝트는 변수 transform을 항상 가지고 있다.
GetAxis 대신 GetAxisRaw를 입력하면 가중치 없이 -1 혹은 1만 표시된다.
0은 Horizontal에 해당되는 키인 오른쪽 방향키와 왼쪽 방향키를 동시에 누르거나 아무 키도 누르지 않았을 때의 상태다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
void Update()
{
{
if (Input.anyKeyDown)
Debug.Log("플레이어가 아무 키를 눌렀습니다. ");
if (Input.GetButton("Horizontal"))
{
Debug.Log("횡 이동 중"
+ Input.GetAxisRaw("Horizontal"));
}
}
}
}
이번에는 종과 횡 모두 설정해보았다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LifeCycle : MonoBehaviour
{
void Update()
{
{
if (Input.anyKeyDown)
Debug.Log("플레이어가 아무 키를 눌렀습니다. ");
if (Input.GetButton("Horizontal"))
{
Debug.Log("횡 이동 중 " //콘솔창 가독성을 위해 마지막에 간격을 둠
+ Input.GetAxisRaw("Horizontal"));
}
if (Input.GetButton("Vertical"))
{
Debug.Log("종 이동 중 "
+ Input.GetAxisRaw("Vertical"));
}
}
}
}
그러면 키보드 방향키를 눌렀을 때 각각 콘솔 창에
키보드 오른쪽 방향키를 눌렀을 때, "횡 이동 중 1"
키보드 왼쪽 방향키를 눌렀을 때, "횡 이동 중 -1"
키보드 위쪽 방향키를 눌렀을 때, "종 이동 중 1"
키보드 아래쪽 방향키를 눌렀을 때, "종 이동 중 -1"
이라고 뜨게된다.

'Unity' 카테고리의 다른 글
[유니티 C#] 접근자(private, public, protected, internal) (0) | 2021.11.17 |
---|---|
[유니티 Input] 오브젝트 이동 (0) | 2021.11.17 |
[유니티 Input] 버튼 (0) | 2021.11.17 |
[유니티 Input] 마우스 입력 (0) | 2021.11.17 |
[유니티 Input] 키보드 입력 (0) | 2021.11.17 |