본문 바로가기

Unity/팁

[Unity 유니티] GetAxis / GetAxisRaw 차이점

 

Input.GetAxis : -1.0f 부터 1.0f 까지의 범위 값을 반환 / 주로 부드러운 이동에 사용

 

Input.GetAxisRaw : -1, 0, 1 세가지 값 중 하나를 반환 / 주로 즉각적인 반응이 필요할 때 사용

 

 

Input.GetAxisRaw를 이용한 간단한 2D 이동 스크립트 예제 (이동은 보통 즉각적인 반응이 필요하기에 GetAxisRaw를 사용)

public class PlayerController : MonoBehaviour
{
    public float moveSpeed = 5f; // 이동 속도 조절을 위한 변수

    private Rigidbody2D rb; // 캐릭터의 Rigidbody2D 컴포넌트

    private void Start()
    {
        rb = GetComponent<Rigidbody2D>(); // Rigidbody2D 컴포넌트를 가져옴
    }

    private void Update()
    {
        float moveX = Input.GetAxis("Horizontal"); // 수평 방향 입력 값을 가져옴
        float moveY = Input.GetAxis("Vertical"); // 수직 방향 입력 값을 가져옴

        Vector2 movement = new Vector2(moveX, moveY); // 입력 값을 벡터로 생성

        rb.velocity = movement * moveSpeed; // Rigidbody2D의 속도를 설정
    }
}