Vector는 2차원이나 3차원 혹은 그 이상의 차원에서 위치, 방향, 속도와 같은 값을 나타내기 위해 사용된다. Unity에서는 Vector2, Vector3를 이용해 Vector를 나타낸다. 위에 붙는 정수는 차원을 나타내는 정수이다.
transform.position을 나타낼 때 다음과 같은 방법으로 나타낼 수 있다.
transform.position += new Vector3(0.0f, 0.0f, 1.0f);
Vector3같은 경우 x,y,z를 가지고 있다.+=과 같은 연산자가 적용되는 것을 보면 Vector의 사칙연산과 비교연산이 가능하다.스칼라 곱셈, 내적, 외적과 같은 벡터끼리의 공간연산도 가능하다.Vector를 쉽게 정의하면 방향과 크기를 가지고 있는 요소라고 할 수 있는데 Magnitude는 크기를 나타내는 변수이다.
Magnitude를 사용하는 방법은 Vector3.magnitude의 변수를 활용하는 것이다.Magnitude는 크기를 나타내는 스칼라값으로 자료형은 float이다.Magnitude를 구현하는 방법은 피타고리스 정리를 이용하는 방법인데 sqrt(x*x+y*y+z*z)로 나타낼 수 있다.
Magnitude는 보통 주 point사이의 거리나 속도의 크기(속력)을 계산할 때 주로 사용한다.
Normalized는 Vector의 방향성분을 알고 싶을 때 사용하는 요소로 방향은 같지만 크기가 1이라는 특징을 가지고 있다.
Normalized를 사용하는 방법은 Vector3.normalized를 사용하면 된다.Normalized는 크기가 1이고 방향을 나타내는 벡터로 표현한다.Normalized를 구현하는 방법은 기존 벡터의 요소(x,y,z)에 크기를 나타내는 Magnitude로 나누어주면 된다.
Normalized는 주로 방향을 알고 싶거나 단위속도를 계산할때 주로 사용한다.
크기가 1이기 때문에 다른 스칼라 값을 연산해도 연산한 벡터의 크기는 스칼라 값과 같기 때문에 계산이 간단해진다.