UE AI

本節目標:
Enemy看不到人時 隨機巡邏
Enemy看到人時 跟隨

UE裏的AI感覺是一個非常典型的黑板風格(想找之前軟件體系結構課上的筆記 結果找不到了5555),印象很深刻就是有控制器、有分發器、有黑板,就是解耦邏輯與數據。

AIController運行行爲樹,行爲樹可以從黑板裏讀取
行爲樹:希望AI進入的狀態。通過在 行爲樹 中佈局出AI可能進入的狀態,有助於你瞭解進入這些狀態需要創建何種類型的邏輯和規則。

行爲樹

看到玩家前-隨機巡邏
看到玩家後-跟隨玩家

每個Task最後別忘執行完成執行節點

Task - BTT_RandomPatrol

Task - BTT_FollowPlayer

黑板

目前只需要存一個變量就是HasLineOfSight

AI Controller

和藍圖類的綁定

和行爲樹的綁定

這個綁定比較靈活,Controller可以和當前的綁定也可以和別的行爲樹綁定

AI 感知添加在AI Controltroller組件中

【其實在這裏有一個思索是 爲什麼不把AI感知添加在那個藍圖類裏,最直觀的原因是藍圖類裏獲取黑板不好? 感覺AI Controller是比藍圖Actor更抽象的一層概念 他更像定義一個大腦】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章