Menu
CoddyTech

대각선 이동 속도

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

오른쪽 화살표와 위쪽 화살표를 함께 누르면 원시 축은 방향 (1, 0, 1)을 나타냅니다. 그 길이인 .magnitude는 1 + 1의 제곱근으로, 약 1.41입니다. 이 방향으로 움직이는 보행자는 똑바로 앞으로 1단위를 이동하는 시간 동안 대각선으로 1.41단위를 이동합니다. 즉 41% 더 빠릅니다.

.normalized는 같은 방향을 가리키며 길이가 정확히 1단위인 벡터의 복사본을 제공합니다. (1, 0, 1)은 약 (0.71, 0, 0.71)이 되고, (0, 0, 5)는 (0, 0, 1)이 됩니다. 여기에 속도를 곱하면 방향이 무엇이든 그 속도로 움직입니다. 이 벌은 꽃이 멀리 있든 가까이 있든 초당 2단위의 속도로 꽃을 향해 날아갑니다. .normalized가 없으면 꽃이 멀수록 더 빠르게 날아갑니다.

public Vector3 flower = new Vector3(4, 1, 3);
public float speed = 2f;

void Update()
{
    Vector3 toFlower = flower - transform.position;
    transform.position += toFlower.normalized * speed * Time.deltaTime;
}

Vector3.zero.normalized는 0에 방향이 없으므로 (0, 0, 0)을 유지합니다. v.normalized는 v를 그대로 둡니다. v.Normalize()는 v 자체를 변경합니다.

challenge icon

챌린지

쉬움

워커의 움직임을 작성하세요. 화살표 키(또는 WASD)를 원시 축으로 읽어 왼쪽과 오른쪽으로는 x축을 따라, 위쪽과 아래쪽으로는 z축을 따라 움직입니다. 대각선 방향을 포함해 모든 방향으로 초당 speed 단위만큼 움직이고, 즉시 출발하고 멈추며, 키를 누르지 않으면 제자리에 있습니다.

플레이를 누르고, 직선과 대각선으로 이동한 다음 확인을 누르세요.

직접 해보기

using UnityEngine;

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

    void Update()
    {
        // 방향키 또는 WASD: x축과 z축을 따라 speed로 이동하며, 대각선으로 이동할 때도 속도는 같습니다.
    }
}
quiz icon실력 점검

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

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