[Unreal_블루프린트]#31_Environmental Querying System(EQS)
Unreal 블루프린트 개발 중 "Behavior Tree" 구현을 진행합니다.
"블루 프린트" 활용에 대한 내용입니다.
목표
- AI가 Player 기준으로 "왼쪽" 혹은 "오른쪽"으로 비켜 지나갈 위치를 구현합니다.
- 이때, 기준이 될 위치 혹은 Actor를 EnvQueryContext로 생성해서 재료로 삼고, 최종 목표 위치를 찾아보겠습니다.
EnvQuery_Context
1. EnvQuery_Context_StrafeLeft
- 종합적으로, AI가 Player를 바라보는 방향을 기준으로 "왼쪽" 방향으로 특정 거리만큼 떨어진 위치를 구합니다.
2. EnvQuery_Context_StrafeRight
- EnvQuery_Context_StrafeLeft의 반대 방향으로 떨어진 위치를 구합니다.
세팅
1. OnCircle Generator
- 원 중앙을 특정 Context로 지정하여, 해당 Context 중심으로 원을 생성합니다.
2. 테스트 추가 : Dot Product
- Dot은 두 벡터의 내적을 구합니다.
- 자세하게 말하자면, Line A와 Line B를 설정하고 두 벡터의 내적 결과 값에 따라서 Scoring을 수행합니다.
3. Dot Product 테스트 세부 설정
- 내적을 수행할 두 벡터의 시작 점과 끝점 설정을 통해 Scoring이 정해집니다.
- 만약 (StrafeRight -> Player) * (StrafeLeft -> Items) 라면, Player 기준 오른쪽 Item이 Best Item이 될 확률이 높습니다.
- 반대로, (StrafeLeft -> Player) * (StrafeRight -> Items)라면, Player 기준 왼쪽 Item이 되겠죠!
- 여기서, Item은 Player 기준으로 생성되는 Circle 상의 구체들을 의미합니다!
결과 화면
1. (StrafeRight -> Player) * (StrafeLeft -> Items)
2. (StrafeLeft -> Player) * (StrafeRight -> Items)
'게임개발 > Unreal 블루프린트' 카테고리의 다른 글
[Unreal_블루프린트]#32_AI Patrolling Path using Spline (0) | 2022.10.11 |
---|---|
[Unreal_블루프린트]#31-3_Environmental Querying System(EQS), Strafe Left and Right (1) | 2022.10.11 |
[Unreal_블루프린트]#31-1_Environmental Querying System(EQS), Grid (0) | 2022.10.05 |
[Unreal_블루프린트]#30_Behavior Tree, Tracing (1) | 2022.10.05 |
[Unreal_블루프린트]#29_Multiple Damage Problem (0) | 2022.09.29 |