虛幻引擎4筆記(9)-AI隨機移動

前言

藍圖是虛幻引擎的一個可視化編碼語言,不會編程的朋友也能通過藍圖來實現遊戲的製作。
本人於2020年的3月份入坑虛幻4,可能技術上有些欠缺,要是有大佬發現哪裏錯了的話敬請指出。寫文章的主要目的是爲了記錄自己的學習過程,不過也希望能幫助到其他像我一樣的朋友學習虛幻藍圖。不同版本的虛幻引擎有進行不同程度的漢化,相應藍圖節點也會變化
此文章中使用的虛幻引擎版本: 4.23.1
隨着學習的深入,後面的筆記會慢慢省略一些前面筆記寫的內容,有需要的話可以去看較基礎的筆記內容

虛幻4官方文檔
虛幻4中文官網
虛幻引擎藍圖API參考文檔
虛幻引擎4藍圖節點-小狐狸233

注:此篇文章主要是介紹一下AI的隨機移動,不需要導入任何的包,下方的博客是有關AI行爲樹、黑板等內容的概念介紹,在實現AI隨機移動之前請先去了解了解相應的概念。

虛幻引擎4-AI基礎概念

上一篇筆記

虛幻引擎4藍圖筆記(8)-射擊準星

動態預覽圖

在這裏插入圖片描述

一、AI可移動區

在模式的放置中搜索Nav Mesh Bounds Volume並拖動放置到地圖中
在這裏插入圖片描述
調整相應的大小和位置
在這裏插入圖片描述
按下鍵盤的P鍵,綠色區域即爲AI可移動的區域
在這裏插入圖片描述

二、AI黑板

在內容瀏覽器中創建一個黑板
在這裏插入圖片描述
在這裏插入圖片描述
打開AI黑板後,新建一個鍵值,這個值是用來保存AI需要移動的目標位置信息
在這裏插入圖片描述

三、AI行爲樹

[1]. 創建

創建一個行爲樹
在這裏插入圖片描述
在這裏插入圖片描述

[2]. 綁定黑板

雙擊打開行爲樹將會看見一個根節點,如果你已經創建了黑板的話,默認會幫你直接選定已創建的黑板
在這裏插入圖片描述

[3]. 序列合成節點

創建一個序列合成節點Sequence,這個節點的作用是先執行左子樹,左子樹執行完畢後將會按順序執行相鄰的右子樹。
在這裏插入圖片描述
創建完畢後,將兩者相連,Sequence節點右上角出現0,表示該節點第一個執行
在這裏插入圖片描述

[4]. 添加自定義任務

行爲樹中有自帶一些任務,要實現自定義的功能的話得新建任務。
在這裏插入圖片描述
創建完畢後會在同目錄下生成一個以BT名稱開頭的任務,爲了方便區分就重命名了AI任務
在這裏插入圖片描述

(1) 變量

打開任務藍圖類,創建一個變量用於存儲來自黑板的值
在這裏插入圖片描述
點擊剛剛創建的變量,變更變量的類型爲Blackboard Key Selector
在這裏插入圖片描述
將這個變量變爲公有,之後的行爲樹調用時可以返回相應的座標信息
在這裏插入圖片描述

(2) 觸發事件

添加事件Receive Execute AI節點
當AI任務被執行時,事件Receive Execute AI節點將會被觸發
在這裏插入圖片描述

(3) 傳隨機點的座標值至變量

添加Set Blackboard Value as Vector節點
這個節點的作用是將位置信息傳到輸入接口Key對應的變量的值變爲Value座標值。
在這裏插入圖片描述
將變量拖動到藍圖中,選擇獲取。
然後按下圖進行連接。
在這裏插入圖片描述

(4) 結束任務標識

添加Finish Execute節點
這個節點的作用是讓一個任務結束,要不然在行爲樹中運行這個任務時將會停滯在該任務。
在這裏插入圖片描述
Success選擇爲ON表示運行該節點之後,將標誌這個任務的完成
在這裏插入圖片描述

(5) 獲取AI座標

添加GetActorLocation節點
該節點能獲取某個物體的座標信息並輸出
在這裏插入圖片描述
在這裏插入圖片描述

(6) 生成隨機點

添加GetRandomPointInNavigableRadius節點
這個節點主要是用來在一個已知的圓中,生成一個隨機的點並輸出該點座標
在這裏插入圖片描述
以AI的位置爲圓點,以1000爲半徑的圓內,生成一個隨機點的座標並輸出。
在這裏插入圖片描述

(7) 添加任務節點至行爲樹

點開之前創建的行爲樹,搜索剛剛創建的自定義任務並添加節點
在這裏插入圖片描述
任務節點只有一個輸入接口,所以任務節點沒法觸發另一個任務節點。
連接完畢後右上角出現一個數字,表示該節點會第2個執行
在這裏插入圖片描述

[5]. 添加移動任務

在這裏插入圖片描述
右上角的-1表示不會被執行

在這裏插入圖片描述
在這裏插入圖片描述

[6]. 添加等待任務

如果沒有添加等待任務的話,AI會一直來回地跑動不會停下來,要更好地觀察AI移動的話就需要添加等待任務。
在這裏插入圖片描述
在這裏插入圖片描述

四、AI控制器

在創建AI前需要先創建一個AI Controller藍圖類
在這裏插入圖片描述
創建完畢如下圖
在這裏插入圖片描述
在事件圖表中,創建如下圖的藍圖節點並連接
當AI控制器被調用時,將會觸發事件On Possess節點,執行Run Behavior Tree節點從而調用剛剛創建的行爲樹。
在這裏插入圖片描述
編譯保存

五、AI角色

先創建一個角色藍圖類
在這裏插入圖片描述
添加一個立方體到角色中,如果你需要用自己的模型時可以去看之前的筆記內容。
虛幻引擎4藍圖筆記(4)-角色模型導入

在這裏插入圖片描述
點擊AI(自身),打開相應的細節面板
在這裏插入圖片描述
AI Controller Class中選擇你剛剛創建的AI控制器,
Auto Possess AI設置成放置在場景中就會被AI控制器控制。
在這裏插入圖片描述
設置完畢後編譯保存,之後你就可以直接拖動AI的角色藍圖類到場景中使用了。

六、已創建好的項目

在這裏插入圖片描述
下載鏈接
提取碼: ryly

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