Menu
CoddyTech

축

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 13번째.

Input.GetAxis("Horizontal")은 왼쪽 및 오른쪽 화살표 키(A와 D 포함)를 -1에서 1 사이의 숫자 하나로 바꿉니다. 왼쪽은 -1, 오른쪽은 1, 둘 다 누르지 않으면 0입니다. Input.GetAxis("Vertical")은 아래쪽 및 위쪽 화살표 키(S와 W)에 같은 방식으로 작동합니다. 한 번 호출하면 if 두 개를 대체하며, 게임패드 스틱도 추가 코드 없이 같은 축을 제어합니다.

숫자가 갑자기 바뀌지는 않습니다. Unity의 기본 설정에서는 초당 3의 속도로 목표값에 가까워지므로, 키를 누른 뒤 1에 도달하는 데 3분의 1초가 걸리고, 키를 놓은 뒤 0으로 돌아가는 데도 3분의 1초가 걸립니다. 이렇게 부드럽게 변하기 때문에 호버크래프트가 서서히 속도를 높이고 미끄러지듯 멈춥니다.

public float speed = 5f;

void Update()
{
    float h = Input.GetAxis("Horizontal");
    transform.position += new Vector3(h * speed * Time.deltaTime, 0, 0);
}

Input.GetAxisRaw("Horizontal")은 부드러운 변화를 건너뜁니다. 매 프레임 정확히 -1, 0 또는 1을 반환하므로 움직임이 즉시 시작되고 멈춥니다. 묵직한 느낌을 줘야 하는 동작에는 GetAxis를, 즉각 반응하는 조작에는 GetAxisRaw를 사용하세요. 양쪽 화살표 키를 모두 누르면 두 방향이 서로 상쇄되므로 둘 다 0을 반환합니다. (Unity 6 프로젝트에서는 Steer with the Keys에서 설정한 Active Input Handling이 축에도 적용됩니다.)

challenge icon

챌린지

쉬움

로버는 부드럽게 가속하거나 감속하지 않고 즉각적으로 움직여야 합니다. 화살표 키(또는 WASD)로 초당 speed 단위의 속도로 x축을 따라 좌우로, z축을 따라 위아래로 이동합니다. 키를 누르는 순간 최대 속도로 움직이고, 키를 놓는 순간 멈춥니다.

Play를 누르고 게임을 클릭한 다음 조종한 뒤, Check를 누르세요.

직접 해보기

using UnityEngine;

public class Rover : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // Horizontal은 x축 방향으로, Vertical은 z축 방향으로 움직이며, 이징은 적용되지 않습니다.
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Unity 스크립팅 기초의 모든 레슨