상세 컨텐츠

본문 제목

유니티 Vector3.Distance() 거리구하기, 방향벡터 구하기

유니티/기능

by MJ_119 2025. 1. 20. 16:56

본문

유니티 Vector3.Distance() 거리구하기, 방향벡터 구하기

 

  • Vector3.Distance()는 순서가 상관없음
  • 방향 벡터를 구할 때는 "도착점 - 시작점"
  • 정규화(normalized)를 통해 순수 방향 벡터를 얻을 수 있음
  • 목표물을 향해 이동할 때는 "목표위치 - 현재위치"
  • 목표물에서 멀어질 때는 "현재위치 - 목표위치"

 

public class VectorExample : MonoBehaviour
{
    public Transform target;

    void Example()
    {
        Vector3 myPosition = transform.position;
        Vector3 targetPosition = target.position;

        // 1. Distance (거리값: float)
        float distance = Vector3.Distance(myPosition, targetPosition); // 예: 5.0f
        
        // 2. 방향 벡터 정규화 (방향: Vector3)
        Vector3 direction = (targetPosition - myPosition).normalized; 
        // 예: (0.6, 0.8, 0.0) -> 크기가 1인 벡터
    }
}

 

 

 

 

Distance 계산:

// 이 둘은 완전히 동일한 결과
float dist1 = Vector3.Distance(pointA, pointB);
float dist2 = Vector3.Distance(pointB, pointA);

 

 

방향 벡터 계산:

// 이 둘은 정반대 방향
Vector3 dirAtoB = pointB - pointA; // A에서 B를 향하는 방향
Vector3 dirBtoA = pointA - pointB; // B에서 A를 향하는 방향

관련글 더보기