Unity

Vector의 기본

Korokke 2022. 5. 5. 15:37

Vector 더하기:  

 

사용 이유:

- A와 B를 합친 최종 방향을 나타내기 위함

- 가해지는 모든 힘의 합을 알기 위함

 

예시:

- 플레이어를 제어하기 위해 오른쪽 방향키와 상단 방향키를 동시에 누를 때 오른쪽 대각선 위로 이동하는 것 

 

특징:

- 덧셈은 뺄셈과 달리 순서를 바꿔도 같은 결과가 나온다.

Vector 빼기:  

사용 이유:

- A의 위치에서 B쪽으로 이동하고 싶을 때의 방향을 알기 위해서

 

예시:

-몬스터 AI가 플레이어를 발견하고 공격하러 오는 경우, 플레이어쪽으로 향하는 방향을 구할 때도 빼기를 사용한다(추적).

 

특징:

- 뺄셈은 덧셈과 달리 순서를 바꾸면 다른 결과값이 나온다.

 

벡터의 길이 (크기)

2차원 벡터일 경우:

3차원 벡터일 경우:

벡터의 길이는 스칼라(Scalar) 형식으로 표현된다. "스칼라"는 "크기"만을 가지는 물리량을 의미하며, 사칙 연산이 가능하다.

벡터의 길이를 구하는 방법은 피타고라스 정리 (C² = A² + B²)를 이용해서 구할 수 있다.

정규화 Normalization

방향 벡터를 만들 때, 벡터의 길이는 중요하지 않기 때문에 벡터의 길이를 1로 만들 수 있는 단위 벡터(Unit Vector)를 구해야 한다. 이렇게 벡터를 단위 벡터로 변경하는 것을 벡터의 정규화(Normalization)이라고 한다.

 

벡터의 각 성분(=X 좌표와 Y좌표)을 벡터의 크기로 나누면, 해당 벡터의 단위 벡터를 구할 수 있다. 

벡터 ÷ 벡터의 크기

6 ÷ √52, 4 ÷ √52

 

벡터의 단위 벡터(0.832, 0.5547)

단위 벡터의 크기를 계산해서 1이 나오면 정상적인 단위벡터

 

 

출처:

https://m.blog.naver.com/pxkey/221316403491  https://leebaro.tistory.com/entry/%EB%B2%A1%ED%84%B0%EC%9D%98-%ED%81%AC%EA%B8%B0-%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0