[Unity] Vector

이정석·2023년 6월 25일
0

Unity

목록 보기
2/22

Vector

Vector는 2차원이나 3차원 혹은 그 이상의 차원에서 위치, 방향, 속도와 같은 값을 나타내기 위해 사용된다. Unity에서는 Vector2, Vector3를 이용해 Vector를 나타낸다. 위에 붙는 정수는 차원을 나타내는 정수이다.

C#코드에서의 접근방법

transform.position을 나타낼 때 다음과 같은 방법으로 나타낼 수 있다.

transform.position += new Vector3(0.0f, 0.0f, 1.0f);
  1. Vector는 하나의 객체로 나타낼 수 있으며 생성과 소멸이 가능하다.
  2. Vector에는 각 차원의 축에 해당하는 값을 가지고 있다. 예를들어 Vector3같은 경우 x,y,z를 가지고 있다.
  3. +=과 같은 연산자가 적용되는 것을 보면 Vector의 사칙연산과 비교연산이 가능하다.
  4. 스칼라 곱셈, 내적, 외적과 같은 벡터끼리의 공간연산도 가능하다.

1. Magnitude

Vector를 쉽게 정의하면 방향크기를 가지고 있는 요소라고 할 수 있는데 Magnitude크기를 나타내는 변수이다.

  • Magnitude를 사용하는 방법은 Vector3.magnitude의 변수를 활용하는 것이다.
  • Magnitude는 크기를 나타내는 스칼라값으로 자료형은 float이다.
  • Magnitude를 구현하는 방법은 피타고리스 정리를 이용하는 방법인데 sqrt(x*x+y*y+z*z)로 나타낼 수 있다.

Magnitude는 보통 주 point사이의 거리나 속도의 크기(속력)을 계산할 때 주로 사용한다.

2. Normalized

Normalized는 Vector의 방향성분을 알고 싶을 때 사용하는 요소로 방향은 같지만 크기가 1이라는 특징을 가지고 있다.

  • Normalized를 사용하는 방법은 Vector3.normalized를 사용하면 된다.
  • Normalized는 크기가 1이고 방향을 나타내는 벡터로 표현한다.
  • Normalized를 구현하는 방법은 기존 벡터의 요소(x,y,z)에 크기를 나타내는 Magnitude로 나누어주면 된다.

Normalized는 주로 방향을 알고 싶거나 단위속도를 계산할때 주로 사용한다.
크기가 1이기 때문에 다른 스칼라 값을 연산해도 연산한 벡터의 크기는 스칼라 값과 같기 때문에 계산이 간단해진다.

profile
게임 개발자가 되고 싶은 한 소?년

0개의 댓글