11. FindPlayer EQS 생성

레벨에 플레이어의 TopDownCharacter 모든 인스턴스를 찾는 인바이런먼트 쿼리를 만듭니다.

Windows
MacOS
Linux
On this page

앞의 두 인바이런먼트 쿼리 보다 간단한데, AI 주변 1500 유닛 내 TopDownCharacter 전체 목록을 반환한 뒤, AI 가 그 캐릭터를 볼 수 있는지 검사하는 정도이기 때문입니다. 볼 수 있다면, 비헤이비어 트리에서 쓸 ActorToFleeFrom 을 구합니다.

이 프로세스 처리 방법은 여러가지 있으며, 각기 장단점이 있습니다. EQS 를 사용하면 나중에 도망칠 최선의 적(TopDownCharacter) 선택을 위한 추가 테스트를 추가할 수 있습니다.

먼저 간단히 용어 정리부터 하자면:

  • Generator (제너레이터)는 Context (컨텍스트)에 관계된 Item (아이템)을 생성합니다.

  • 아이템은 종종 컨텍스트에 관계되서 테스트에 사용됩니다 (X 아이템이 Y 컨텍스트에서 얼마나 멀리 있는지)

  • 아이템은 테스트 결과에 따라 버리거나(cull) 기록하거나(score) 합니다.

단계

  1. 먼저 콘텐츠 브라우저 에서 FindPlayer 인바이런먼트 쿼리 애셋을 더블클릭합니다.

    findPlayerAsset.png

    그러면 다음과 같은 인바이런먼트 쿼리 에디터 가 열립니다.:

    startingEQ.png

    인바이런먼트 쿼리 에디터는 비헤이비어 트리 에디터와 거의 똑같이 작동합니다.

  2. 그래프 업데이트 영역에 우클릭, 컨텍스트 메뉴에서 ActorsOfClass 를 선택합니다:

    createGetActors.png

    다음과 같이 ActorsOfClass Generator 를 생성합니다:

    cga_made.png

  3. 인바이런먼트 쿼리 에디터에서 노드를 연결하려면, 그냥 루트 노드 하단을 끌어 ActorsOfClass 노드 상단에 놓으면 됩니다. 비헤이비어 트리 에디터에서와 똑같은 방식이지요.

    connected.png

    인바이런먼트 쿼리 당 제너레이터는 딱 하나만 가능합니다.

  4. 다음, ActorsOfClass 노드를 선택한 뒤 Search RadiusSearched Actor Class 프로퍼티를 다음과 같이 변경합니다:

    aoc_details.png

    • Search Radius = 1500

    • Searched Actor Class = TopDownCharacter.

    이 제너레이터는 반경 내 주어진 클래스의 액터를 전부 찾아, 거기서 아이템을 생성합니다.

  5. ActorsOfClass 노드에 Trace (트레이스) 테스트를 추가합니다.

    addTraceTest.png

    트레이스는 컨텍스트, 이 경우 AI 의 시야에 아이템(TopDownCharacters/Players)이 있는지 검사하는 데 좋습니다.

  6. 이제 ActorsOfClass 노드를 좌클릭한 뒤 디테일 패널에서 Bool Match 프로퍼티를 false (체크해제)로 바꾸어 트레이스 테스트를 선택합니다.

    aoc_TraceFinal.png

그러면 다 된 것입니다!

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback