UE4的角色控制體系——AI行為樹


學習路線總結回顧

學習規划圖回顧

image
image

學期總結

在學期初的規划中指定了一個學習路線,其中骨骼和動作還沒有系統的學習(由於電腦配置不夠太懶了),關於學習渲染部分那知識欠缺的可確實太多了,還需要學習許多計算機圖形學的基礎知識,以及一台GPU性能比較好的電腦,所以圖形渲染部分還很欠缺。
虛幻引擎其他的部分如藍圖類碰撞事件等都學的七七八八了,算是特別特別特別淺顯的學了一點引擎知識,也按計划參與了一個簡單項目的編寫:基於虛幻引擎4的核磁共振波譜法NMR虛擬仿真實驗(可供下載)
經過了這個學期的學習,收獲了許多東西吧。無論是對於自身發展來說,還是對於團隊協作來說,第一部分已有敘述就不再贅述了。

以下是軟件部分內容截圖:
image

image

image

UE4的角色控制體系——AI行為樹

前言介紹

在日常的游戲中,我們作為玩家往往會控制一個角色。但是場景里除了你控制的玩家角色還有許多許多AI,他們也有相應的動作比如:追着你!
image
而這些動作,也需要后台的邏輯實現,那么這些邏輯被封裝在哪里呢?在每一個AI類的邏輯里嘛?
接下來就分為C++代碼和藍圖代碼(虛幻4引擎自帶的可視化編程工具)分別來分析這項技術

演示效果

其中包括隨機漫游尋找敵人,感知到敵人后,自動跟蹤並攻擊!
image

實現原理

總覽

(下圖是虛幻引擎官網給出的角色的管道圖),其中出現了幾個用紅色圓圈圈起來的就是角色體系比較重要的幾個部分包括Controller(子類有AIController和PlayerController)、Pawn(子類有Character)。
image

各主要組件介紹

  • AIController(相對於AI的頭)

AIController相對於人的頭,頭上有眼睛、耳朵(視覺和聽覺感知系統,后文再介紹),同時腦袋里也有大腦(BlackBoard,用於存儲數據)和小腦(BehaviorTree行為樹,用於控制行動)

  • AIPerception(視覺感知組件,相對於AI的眼睛)
  • BlackBoard 數據黑板

一個數據存儲區,與AI行為樹相關聯,相對於存儲大腦(BlackBoard)要給小腦(BehaviorTree)傳輸的數據
image

  • BehaviorTree AI行為樹

一個邏輯執行樹,其中包括節點Sequence和Selector,分別的作用為順序執行和選擇執行,執行的為每一件子任務,子任務控制AI的運動邏輯
image

實現步驟(藍圖表現形式)

1.先創建一個AIController類
image

2.給AIController(大腦類)裝一個眼睛(視覺感知組件AIPerception)
image

3.將身體和大腦關聯上
image

4.書寫AI要執行的子任務
image

5.將子任務與AI行為樹關聯(讓小腦來執行這些任務)
image

6.經過了以上幾步的綁定,就是一個完整的AI了,由兩部分組成:中央控制器和角色類(相對於大腦和身體),后文中加粗部分代表着Controller相關的類和組件(代表着整個AI的頭的組成)AIPerception負責感知環境(相對於眼睛觀察環境)、BlackBoard負責存儲感知到的數據(相對於眼睛看到的數據傳輸給大腦)、BehaviorTree負責根據BlackBoard存儲的數據來做出相應的反應指令(相對於小腦處理大腦信息)、最后再由character根據行為樹的指令做出相應的運動(AI的身體)。

實現步驟(C++表現形式)

image
好像之前C盤爆了,把VS卸載了。。。。。以后有機會再補吧,其實函數都差不多,藍圖已經把所有函數都表現出來了。
image

參考與借鑒

1.虛幻引擎4官方在線學習網站
2.HelloCJC學習網站,一個很好的學習網站
3.虛幻引擎4官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM