[Unity] 벡터(Vector) 개념
2024. 8. 23.

벡터의 종류

  • Vector2: 2차원 벡터. x와 y 좌표로 구성됩니다. 주로 2D 게임에서 위치, 이동, 방향 등을 나타낼 때 사용됩니다.
  • Vector3: 3차원 벡터. x,y,z 좌표로 구성됩니다. 3D 공간에서의 위치, 이동, 방향등을 나타낼 때 사용됩니다.

 

벡터의 연산

  • 덧셈 및 뺄셈: 두 벡터를 더하거나 뺄 수 있습니다. 이는 두 위치 간의 상대적 위치를 구하거나 방향 벡터를 계산할때 사용됩니다.
Vector3 result = vectorA + vectorB;

 

  • 스칼라 곱: 벡터와 스칼라(방향이 없는 단순히 크기를 나타내는 숫자)를 곱하여 벡터의 크기를 조절할 수 있습니다.
Vector3 scaledVector = vectorA * 2.0f;

 

  • 내적: 두 벡터의 내적은 두 벡터 사이의 각도를 계산하는데 사용되며, 결과는 스칼라 값입니다. 내적이 0이면 두 벡터는 서로 90도입을 나타냅니다.
float dotProduct = Vector3.Dot(vectorA, vectorB);

 

  • 외적: 두 벡터에 직교하는 벡터를 반환합니다. 주로 3D 공간에서의 법선 벡터를 계산할 때 사용됩니다.
Vector3 crossProduct = Vector3.Cross(vectorA, vectorB);

 

벡터의 크기 및 정규화

  • 크기: 벡터의 크기는 벡터가 얼마나 긴지를 나타냅니다.
float magnitude = vectorA.magnitude;

 

  • 정규화: 벡터를 정규화하면 벡터의 방향을 유지하면서 크기를 1로 만듭니다. 정규화된 벡터는 주로 방향을 나타낼 때 사용됩니다.
Vector3 normalizedVector = vectorA.normalized;

 

주요 메소드

  • Vector3.Lerp: 두 벡터 사이를 보간하여 중간 값을 계산합니다.
Vector3 interpolatedVector = Vector3.Lerp(vectorA, vectorB, 0.5f);
  • Vector3.Distance: 두 벡터 간의 거리를 계산합니다.
float distance = Vector3.Distance(vectorA, vectorB);
  • Vector3.Angle: 두 벡터 간의 각도를 계산합니다.
float angle = Vector3.Angle(vectorA, vectorB);