行為樹
-
需要創建AIController藍圖,使被AI控制的模型
-
黑板:存放變數
-
行為樹:執行邏輯
-
NavMeshBoundVolume:AI移動的范圍,需要創建導航網格設定移動范圍,(查看NavMesh的快捷鍵:P)
-
行為樹是從上到下,根節點向下執行,是從左到右執行相同層次的節點
-
這是一個簡單的行為樹

Composites:Selector,Sequence,SimpleParallel

Selector(選擇):Selector 節點從左至右執行其子項,其中一個子項達成后將停止執行其子項,如 Selector 的子項達成,則 Selector 也達成,如 Selector 的所有子項未達成,則 Selector 未達成,
Sequence (序列):節點從左至右執行其子項,如其中一個子項未達成,將停止執行執行其子項,如子項未達成,則 Sequence 也未達成,如 Sequence 的所有子項均達成,則 Sequence 也達成,
(感覺Selector和Sequence的區別就在于是 ”或“ 和 ”且“ 的關系)
SimpleParallel(并行):所有子節點都運行一遍,
Decorators,Services,Tasks

Services: 定時執行一個操作,通常在根節點下的selector中執行,可以定時檢查操作,常用于檢查和更新黑板
Decorators:條件陳述句,附著雨一個Composite或者Task節點,并定義樹中的一個分支或單個節點是否可以執行
Tasks:Task 是真正“執行”操作的節點,如移動 AI,或調整黑板值,
-
播放影片

-
首先設定好影片藍圖,人物運動影片來回切換,然后通過行為樹修改人物設定的狀態,通過行為樹執行播放相應的影片
-
UE4處理并發行為的三個優點
明確:使用服務節點和簡單平行節點創造的樹更簡明,易于觀察和理解,
除錯簡單:圖表更清晰,便于糾錯,此外同時執行路徑更少,更易于觀察正在執行的內容,
更易于優化:由事件驅動的圖表如果沒有同時執行大量子樹,將更易于優化,
EQS
-
EQS全稱:Environment Query System,官方介紹是給虛幻提供給AI,用于收集環境資料測驗分析,尋找到最符合測驗的結果,EQS幫助AI篩選玩家的位置資訊,將周圍進行打分,選最高分或最低分,給AI選擇更合的結果,

-
開啟Edit–Editor Preferences–搜索框EQS,然后勾選“Environment Querying System”,然后AI框里會多一個EQS藍圖

-
測驗節點介紹

Distance:距離測驗節點,將選擇器選取的點用給予和參照內容進行距離測驗,距離越遠則分值越大,如果希望越近分值越大請調整Score中的Scoring Equation,將線性遞增改為遞減(Inverse Linear),
Dot:使用點乘的方式,為選取點打分,值域范圍0-1(點乘有負數,打分無負數,正面為1,背面為0,呈現扇形左右遞增向1),也可以對結果進行絕對值設定(勾選Absolute Value,結果為點乘后絕對值值域0-1,正面1,背面1,左右兩邊0),點乘中的向量選取可以使用兩點方式或是Rotation方式,
Gameplay Tags:使用標簽進行詢問測驗(GamePlay Tags本身是為Actor查詢操作提供分層,一般用于查詢,關于GT使用,我后期會出一篇文章介紹)
Overlap:在采樣點,使用通道檢測方式,回傳是否有符合通道標記的內容存在,如存在回傳1,反之回傳0,檢測形狀,Box,Sphere,Capsule,用于檢測查詢某一個點附近是否存在某一樣東西,
Pathfinding:將采樣點與內容進行導航尋路器測驗,可達則分數1,不可達為0,它將用于最終測驗點生成,回傳一個可達測驗點,
Pathfinding Batch:將采樣點與內容進行導航尋路器測驗,可達則分數1,不可達為0,它會回傳所有可達點,供下個測驗專案使用,
Project:投射測驗,可以用來修正生成器采樣點位置,兩種模式:導航投射,在采樣點為基準,垂直向上向下進行導航檢測,碰到導航覆寫點則修正采樣點位置,形狀檢測,不考慮導航,只要在通道碰撞成立,則修正采樣點到新的位置,
Trace:射線測驗,用來測驗采樣點,到Context參照點之間是否存在遮擋,這是重要節點,一般可以用來尋找可以用來躲避的采樣點(從采樣點到敵人之間存在遮擋則認定可以躲避),存在遮擋分數為1,不存在為0,注意:需要考慮高度問題,采樣點一般均在地面,從地面直接發射射線到Context可能會出現被非常矮的物體阻擋,可以通過調整Height Offset解決此問題,
總結
- EQS可以和行為樹相結合使用,可以實作更好的AI邏輯,相對減少了作業量,EQS內容相對較少,但是理解不是那么容易,需要手動操作實踐,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/680.html
標籤:其他
