내적과 외적이 게임에 어떻게 적용되는지

2022. 3. 24. 13:43기술 면접

게임 개발에서는 벡터 연산을 자주 사용한다. 그 이유는 벡터로서의 접근이 직관적이고, 방정식이나 복잡한 계산을 피해 문제를 훨씬 쉽고 간단하고 효율적으로 해결되기 때문이다. 벡터연산에서 가장 기본은 내적과 외적이다.

 

 

내적

A, B 벡터의 내적은 A 벡터와 B 벡터의 크기를 각각 곱한 다음 사이각의 cosθ 값을 곱한 스칼라 값이 된다. 벡터와 벡터의 내적의 결과는 벡터가 아닌 스칼라 값이다.

  • 두 벡터의 사이각을 구할 수 있다
  • 플레이어의 방향벡터가 있고, 적이 플레이어 앞에 있는지 뒤에 있는지 판별할 수 있다.
  • 플레이어의 시야각안에 들어와 있는지 알 수 있다.

 

외적

내적과 크게 다른점은 결과값이  스칼라 값이 아닌 벡터로 나온다는 것이다.

  • 적이 플레이어 오른쪽에 있는지 왼쪽에 있는지 판별할 때 사용된다.
  • 벽에 부딪혀서 미끄러지는 플레이어의 방향을 계산할 때 사용된다.

 

 

내적과 외적이 게임에 어떻게 사용되는지 설명해보세요

벡터 연산에서 기본이 되는 것이 내적과 외적입니다. 내적의 결과값은 스칼라 값이고, 외적의 결과값은 벡터로 나오게 됩니다. 내적에서는 두 벡터의 사이각을 구할 수 있어 플레이어의 시야각안에 적이 들어와 있는지 알 수 있고, 플레이어의 방향벡터가 있을 때, 적이 플레이어 앞에 있는지 뒤에 있는지 알 수 있습니다. 외적에서는 적이 플레이어의 오른쪽에 있는지 왼쪽에 있는지 판별하거나, 벽에 부딪혀처 미끄러지는 플레이어의 방향을 계산할 때도 사용됩니다.

'기술 면접' 카테고리의 다른 글

유니티 이벤트 함수 실행 순서  (0) 2022.03.24
코루틴(Coroutine) 작동 원리  (0) 2022.03.24
TCP/UDP  (0) 2022.03.24
C++과 C#의 차이  (0) 2022.03.23
스마트 포인터(smart pointer)  (0) 2022.03.23