게임개발/Unreal 블루프린트

[Unreal_블루프린트]#31-1_Environmental Querying System(EQS), Grid

Hardii2 2022. 10. 5. 20:41

 

[Unreal_블루프린트]#31_Environmental Querying System(EQS)

Unreal 블루프린트 개발 중 "Behavior Tree" 구현을 진행합니다.

"블루 프린트" 활용에 대한 내용입니다.

 


 

Environment Query Context 

1. Environment Query Context 블루프린트 클래스 생성

  • EQS의 테스트에서 활용할 Context를 생성할 수 있습니다. 

 

2. EnvQueryContext_Player::Provide Single Actor

  • 간단하게, Player 객체 중 인덱스 0번에 존재하는 BP_Player 객체를 반환해줍니다.

 

Environment Query

1. 화면

  • Generators는 위치 혹은 Actor를 생성하며, 가장 높은 Weight 값을 가지는 위치 혹은 Actor를 BT에 반환합니다.

 

2. Player 중심의 Simple Grid 생성

  • Generate Around : 주변에 생성할 Generator의 기준이 되는 Context를 결정합니다.
  • EnvQueryContext_Player: 앞서 생성한 Player Context로 설정합니다.
  • BP_Player 객체 중심으로 "구체" 혹은 Item들이 생성됩니다.

 

4. 테스트

  • Distance To : 거리를 계산할 기준이 될 Context를 설정합니다.
  • Score or Filter : 기준 Context에서 Item까지의 거리 산정 방식 혹은 이 과정에서 필요한 Filter를 설정합니다!
  • 위 화면에서 Item들(구체들)위에 렌더링 된 숫자들이 "Score"를 의미합니다.
  • 당연하게도, Weight(렌더링되는 숫자)가 가장 높은 위치 혹은 Actor가 Behavior Tree로 반환되겠죠!

 

* Play 중 " ' " + "4 or 3"을 통해 디버깅 모드를 활성화할 수 있습니다! 

 

 

결과 화면
  • 보시다시피, 가장 높은 Weight 값을 가진 구체쪽으로 AI가 움직이는 것을 확인할 수 있습니다!