天天看點

虛幻引擎(UE4) 環境問詢系統EQS

       EQS,全稱Environment Query System,翻譯過來是環境詢問系統。官方給出的解釋是,虛幻4中提供給AI,用于收集遊戲目前的環境資料,進行篩選分析,尋找到最符合條件要求的結果。

       假如我們做一個設計遊戲,遊戲開始的時候怪物會自動在随機的位置生成,一旦玩家進入怪物的搜尋區域,怪物就會追過來。EQS的作用就是提供給怪物使用,讓怪物找到一個合适的目标點并向前移動。

使用方法:

使用EQS

虛幻引擎(UE4) 環境問詢系統EQS

根據傳回的Location數組,你就可以随機在這個數組裡找一個Location用來生成怪物或者作為目标點了。

編輯EQS

    1.首先在EditorSetting中找到AI下面的Environment Querying System,勾選。

    2.資料總管中的建立EQS

虛幻引擎(UE4) 環境問詢系統EQS

      3.輕按兩下打開,建立格子,并連接配接到Root上,如下:

虛幻引擎(UE4) 環境問詢系統EQS
虛幻引擎(UE4) 環境問詢系統EQS

4.建立EQS要使用的EQS Context藍圖。和普通藍圖建立方式相同,父類選擇 Env QueryContext_BluepringBase。打開該Context藍圖:

虛幻引擎(UE4) 環境問詢系統EQS

Provide Actor Set方法是在基類聲明的,需要在藍圖實作的方法。這裡我們将所有符合要求的Actor找到傳回出去。

5。在EQS中的SimpleGrid節點的屬性欄中設定Generate Around選項:導入剛剛建立的EQS Context。

6. 在SimpleGrid節點上滑鼠右擊,添加篩選條件,這裡我添加的條件是距離Context傳回的所有的Actor中的距離。

虛幻引擎(UE4) 環境問詢系統EQS

就這樣,整個調用的流程就是,事件觸發生成機器人-》運作EQS查詢符合要求的點位置  -》 EQS運作導入的EQS Context。根據條件判斷,傳回符合要求的Location數組。

繼續閱讀