- 내적(dot) : 벡터 공간에서 두 벡터의 내적은 그들의 성분별 곱의 합을 의미
- 두 벡터가 얼마나 비슷한 방향을 향하고 있는지를 나타냅니다.
- 계산 공식 1 : v1 ⋅ v2 = (v1.x * v2.x + v1.y * v2.y)
- 계산 공식 2 : |v1| * |v2| * cos(Degree)
- 교환법칙 : v1 ⋅ v2 = v2 ⋅ v1
- 결합법칙 : v1 ⋅ (v2 + v3) = (v1 ⋅ v2) + (v1 ⋅ v3)
- 내적의 결과를 통해 두 벡터의 관계를 유추할 수 있습니다.
- 추가적으로 v1, v2를 정규화하여 내적한다면?
|v1| * |v2|가 1이 되므로 cos(Degree)를 구할 수 있습니다.
내적의 결과가 0이 나온 경우
내적의 결과가 0보다 큰 경우
내적의 결과가 0보다 작은 경우
- 내적을 이용해 적이 특정 범위 안에 존재하는지 체크하는 실습을 진행해보도록 하겠습니다.
- 역삼각함수를 이용해 특정 각도를 구할 수 있으나 지금은 간단히 테스트해보도록 하겠습니다.
- 목표 : 전방 90도 각도, 거리 500 내의 적 판별
플레이어의 시야각을 90도라고 가정했을 때 눈으로 판별하기 쉽게 캐릭터 블루프린트에 해당 각도에 대한 물체를 추가해줍니다.
(-45도의 기둥, 45도의 기둥)
탐지할 Enemy Blueprint class를 추가합니다.
2번 추가 설명 그림
- 좌우로 동일하게 45도를 체크할 것이므로 간단히 생각하면 cos(45)의 결과보다 내적의 결과가 크면 적이 안에 있다고 생각할 수 있습니다.