目錄
1. 創(chuàng)建敵對小兵
2. 尋路行為樹
在課程的開頭,作者先大致講解了一部分關(guān)于行為樹的基本概念。由于本人在研究強(qiáng)化學(xué)習(xí)的過程中也接觸學(xué)習(xí)過行為樹,固不再對相關(guān)概念進(jìn)行贅述,不熟悉行為樹的朋友可以自行搜索一些科普文,結(jié)合示例對行為樹的運(yùn)作流程進(jìn)行初步了解。
? 在進(jìn)入課程前,可參考作者的設(shè)置,在UE的“編輯器偏好設(shè)置”中將“自動編譯新添C++類”關(guān)閉。如是做,在我們添加新類時會彈出如下界面,防止UE每次自動熱重載。
在實現(xiàn)敵人AI前,首先創(chuàng)建一個敵對小兵的角色。詳細(xì)的創(chuàng)建操作同最開始第3節(jié)創(chuàng)建人物,也可直接參考課程P40開頭。簡要流程為創(chuàng)建SurAICharacter和SurAIController兩個類(前者實現(xiàn)角色,后者實現(xiàn)行為樹),然后在UE中創(chuàng)建藍(lán)圖類,并為SurAICharacter的藍(lán)圖類設(shè)置Minion_Lane_Ranged_Dawn網(wǎng)格體和MinionRanged_AnimBP動畫,最后將其拖入世界場景中。
? 其中有兩個點(diǎn)需要注意一下:一是便于項目管理,可以將這兩個類添加到新建的AI文件夾下,并注意代碼中include的路徑;二是由于Epic商店下載的小兵模型沒有包含動畫藍(lán)圖,因此可以點(diǎn)擊此處,從作者的git上下載文件,并可參考原路徑將其放本地路徑的 內(nèi)容/ParagonMinions/Characters/Minions/Down_Minions/Meshes 目錄下。這個藍(lán)圖已經(jīng)修改好了,不需要進(jìn)行如課程中的debug操作。
? 隨后,從“放置Actor”中向世界添加導(dǎo)航網(wǎng)格體邊界體積(NavMeshBoundsVolume),并放大到跟地板差不多的大小。在本節(jié)中,它的作用是計算碰撞體積,阻止特定Actor進(jìn)入體積,即計算哪些地方是Actor能走的、哪些地方是Actor不能走的。如果如圖24-2開啟導(dǎo)航的顯示,那世界中可通行的區(qū)域就會顯示為綠色,如圖24-3所示。
在UE中分別創(chuàng)建“人工智能”下的“黑板”和“行為樹”,“黑板”可以理解為AI的記憶。在黑板中創(chuàng)建向量類型的MoveToLocation鍵,用于記錄小兵移動的目的地。在行為樹中添加簡單邏輯如圖24-4,實現(xiàn)了小兵朝MoveToLocation記錄的位置移動,在到達(dá)后等待5秒:
完成后,在SurAIController的相關(guān)代碼中創(chuàng)建并行為樹對象并暴露給UE,重寫B(tài)eginPlay,實現(xiàn)運(yùn)行行為樹,并把玩家位置賦值給MoveToLocation。核心代碼如下,核心代碼同樣可在我的github頁面中找到:
RunBehaviorTree(BehaviorTree);
APawn* MyPawn = UGameplayStatics::GetPlayerPawn(this, 0);
if (MyPawn) {
GetBlackboardComponent()->SetValueAsVector("MoveToLocation", MyPawn->GetActorLocation());
}
最后,回到UE中創(chuàng)建AIController的藍(lán)圖類,命名為MinionControllerBP,打開后給剛剛暴露的BehaviorTree設(shè)置為之前創(chuàng)建的尋路行為樹;同時,在小兵藍(lán)圖類中,將小兵自身中“Pawn”下的“AI控制器類”設(shè)置為MinionControllerBP。
完成后編譯運(yùn)行,小兵就會自動朝玩家的出身點(diǎn)移動,如圖24-6所示。此外,如果直線內(nèi)有障礙物阻擋,小兵同樣可以繞過障礙到達(dá)目的地:
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:斯坦福UE4+C++課程學(xué)習(xí)記錄24:AI行為樹-入門尋路-創(chuàng)新互聯(lián)
文章路徑:http://chinadenli.net/article28/dioojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容