1. 개념 정리
벡터의 내적 (Dot Product)
- 정의: 두 벡터의 방향이 얼마나 유사한지를 나타내는 값
- 결과: 스칼라(실수) 값이 반환됨
- 범위: −1,1-1, 1 (단위 벡터 기준)
벡터의 외적 (Cross Product)
- 정의: 두 벡터에 수직인 새로운 벡터를 구함
- 결과: 벡터
- 방향: 오른손 법칙을 따름
- 2D에서는 외적의 z값만 사용함
2. 게임 개발에서의 활용
내적의 활용 (Dot Product)
- 캐릭터 시야 판정 (시야각 체크)
두 벡터(시선 방향 vs 대상 방향)의 내적이 클수록 정면에 가까움 - 정렬 여부 확인: 내적이 1이면 완전 같은 방향, 0이면 직각, -1이면 정반대 방향
- 내적은 대상이 시야 내부에 있는지만 체크가 되고 중심을 기준으로 왼쪽인지 오른쪽인지 방향 구분은 할 수 없음
외적의 활용 (Cross Product)
- 회전 방향 판단 (좌/우 판별)
2D에서 외적의 부호를 이용해 대상이 왼쪽에 있는지, 오른쪽에 있는지 판별 - 회전축 계산 (3D)
LookRotation 시 회전축이 필요한 경우 외적을 사용
3. 개인적인 생각
모의 면접 중 막상 설명하려니 생각이 안 나서 아쉬웠다.
실제로 사용하고 있음에도 개념적으로 확립하지 못해서 다시 한번 공부해보고 개념을 다지는 시간이 됐다.
이 두 연산은 단순한 수학 개념을 넘어서 실제 게임 내 시야 판정, 방향 회전, 캐릭터 간 상호작용에서 자주 쓰이므로, 개념 + 코드 예제 + 시각적 이미지로 함께 정리해봐야겠다.
'Unity > 개념' 카테고리의 다른 글
| [Unity] 유니티 생명 주기 (0) | 2025.08.02 |
|---|---|
| [Unity] 제네릭에 대하여 (2) | 2025.08.01 |
| [Unity] 코루틴과 인보크 (1) | 2025.07.31 |
| [Unity] Override와 Overloading (2) | 2025.07.30 |
| [Unity] A* 알고리즘 개념 정리 (2) | 2025.07.29 |