지난 포스팅에서 플레이어에게 노출되는 위치를 걸러내는 것까지 했었다.
이번엔 엄폐물 주변에 있는 아이템만을 사용하도록 한번 더 걸러낼 것이다.
EQS 에셋에 들어가 SimpleGrid를 우클릭한 뒤, Add Test -> Overlap을 선택해준다.
Overlap은 아이템이 자기 주변에 엄폐물이 있는지를 오버랩을 통해 알 수 있도록 하기 위해서 사용하는 것이다.
디테일 패널의 Overlap Data 섹션에서, X와 Y를 10에서 100으로 바꾼다.
왜냐하면, 우선 현재 아이템 간의 간격은 100으로 되어있다. 이는 SimpleGrid 노드 자체를 클릭하면 나오는 디테일 패널에서 Space Between 값을 통해 확인할 수 있다.
따라서 오버랩 박스의 X, Y 크기를 100으로 하는 것이 각 아이템이 딱 자기 영역에 한하여 주변에 엄폐물을 접하고 있는지를 판별할 수 있도록 하는 적절한 설정이다.
그리고 디테일 패널의 Skip Overlap Querier는 꼭 설정해주어야 한다.
당연히 자기 자신은 오버랩 대상에서 제외해야하기 때문이다.
이렇게 오버랩 세팅이 완료되었다.
테스트 전에, 아이템들의 위치를 좀 높여줄 필요가 있다.
현재 아이템들이 땅바닥에 박혀있다시피한데, 이러면 아주 낮은 엄폐물에도 트레이싱이 가로막혀 실제로는 숨는 의미가 없을 정도로 낮은 엄폐물을 적합한 것으로 판별할 수 있기 때문이다.
따라서 SimpleGrid 노드의 디테일 패널에서 Post Projection Vertical Offset을 0이 아닌 적절히 높은 값으로 설정해주어야 한다.
이제 이걸 월드에 놓아보면 다음과 같은 결과가 나온다.
이제 스코어링을 추가할 것이다.
살아있는 아이템 중에서 최적의 아이템을 뽑아낼 것인데, 조건은 다음과 같다.
- 자기 자신에게서 최대한 가깝게
- 플레이어에게서는 최대한 멀게
빠르게 이동하여 엄폐할 수 있으면서도, 플레이어에게는 노출이 어려운 엄폐물이 최적의 포인트가 될 것이다.
다시 EQS로 돌아가 SimpleGrid에 우클릭, Add Test -> Distance를 선택해준다.
이번엔 두개 추가해주고, Context를 각각 EnvQueryContext_Querier, Context_Player로 설정해준다.
이렇게 엄폐를 담당하는 EQS 에셋이 완성되었다.
다음 포스팅에서는 이것을 비헤이비어 트리에서 사용하는 방법에 대해 다룰 것이다.
'언리얼 엔진 5 > 개발 일지' 카테고리의 다른 글
[UE5] 블루아카이브 TPS게임 개발일지 (27) - EQS를 이용한 엄폐 AI 4 (0) | 2024.01.02 |
---|---|
[UE5] 블루아카이브 TPS게임 개발일지 (26) - EQS를 이용한 엄폐 AI 3 (0) | 2024.01.02 |
[UE5] 블루아카이브 TPS게임 개발일지 (24) - EQS를 이용한 엄폐 AI 1 (0) | 2024.01.01 |
[UE5] 블루아카이브 TPS게임 개발일지 (23) - 비헤이비어 트리를 이용한 적 AI 제작 4 (0) | 2023.12.31 |
[UE5] 블루아카이브 TPS게임 개발일지 (22) - 비헤이비어 트리를 이용한 적 AI 제작 3 (0) | 2023.12.31 |