斯坦福UE4+C++課程學(xué)習(xí)記錄24:AI行為樹-入門尋路-創(chuàng)新互聯(lián)

目錄

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了薛城免費(fèi)建站歡迎大家使用!

1. 創(chuàng)建敵對(duì)小兵

2. 尋路行為樹


在課程的開頭,作者先大致講解了一部分關(guān)于行為樹的基本概念。由于本人在研究強(qiáng)化學(xué)習(xí)的過程中也接觸學(xué)習(xí)過行為樹,固不再對(duì)相關(guān)概念進(jìn)行贅述,不熟悉行為樹的朋友可以自行搜索一些科普文,結(jié)合示例對(duì)行為樹的運(yùn)作流程進(jìn)行初步了解。

? 在進(jìn)入課程前,可參考作者的設(shè)置,在UE的“編輯器偏好設(shè)置”中將“自動(dòng)編譯新添C++類”關(guān)閉。如是做,在我們添加新類時(shí)會(huì)彈出如下界面,防止UE每次自動(dòng)熱重載。

圖24-1 關(guān)閉自動(dòng)編譯

1. 創(chuàng)建敵對(duì)小兵

在實(shí)現(xiàn)敵人AI前,首先創(chuàng)建一個(gè)敵對(duì)小兵的角色。詳細(xì)的創(chuàng)建操作同最開始第3節(jié)創(chuàng)建人物,也可直接參考課程P40開頭。簡(jiǎn)要流程為創(chuàng)建SurAICharacter和SurAIController兩個(gè)類(前者實(shí)現(xiàn)角色,后者實(shí)現(xiàn)行為樹),然后在UE中創(chuàng)建藍(lán)圖類,并為SurAICharacter的藍(lán)圖類設(shè)置Minion_Lane_Ranged_Dawn網(wǎng)格體和MinionRanged_AnimBP動(dòng)畫,最后將其拖入世界場(chǎng)景中。

? 其中有兩個(gè)點(diǎn)需要注意一下:一是便于項(xiàng)目管理,可以將這兩個(gè)類添加到新建的AI文件夾下,并注意代碼中include的路徑;二是由于Epic商店下載的小兵模型沒有包含動(dòng)畫藍(lán)圖,因此可以點(diǎn)擊此處,從作者的git上下載文件,并可參考原路徑將其放本地路徑的 內(nèi)容/ParagonMinions/Characters/Minions/Down_Minions/Meshes 目錄下。這個(gè)藍(lán)圖已經(jīng)修改好了,不需要進(jìn)行如課程中的debug操作。

? 隨后,從“放置Actor”中向世界添加導(dǎo)航網(wǎng)格體邊界體積(NavMeshBoundsVolume),并放大到跟地板差不多的大小。在本節(jié)中,它的作用是計(jì)算碰撞體積,阻止特定Actor進(jìn)入體積,即計(jì)算哪些地方是Actor能走的、哪些地方是Actor不能走的。如果如圖24-2開啟導(dǎo)航的顯示,那世界中可通行的區(qū)域就會(huì)顯示為綠色,如圖24-3所示。

圖24-2 開啟導(dǎo)航顯示
圖24-3 綠色顯示可達(dá)

2. 尋路行為樹

在UE中分別創(chuàng)建“人工智能”下的“黑板”和“行為樹”,“黑板”可以理解為AI的記憶。在黑板中創(chuàng)建向量類型的MoveToLocation鍵,用于記錄小兵移動(dòng)的目的地。在行為樹中添加簡(jiǎn)單邏輯如圖24-4,實(shí)現(xiàn)了小兵朝MoveToLocation記錄的位置移動(dòng),在到達(dá)后等待5秒:

圖24-4 尋路行為樹

完成后,在SurAIController的相關(guān)代碼中創(chuàng)建并行為樹對(duì)象并暴露給UE,重寫B(tài)eginPlay,實(shí)現(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)建的尋路行為樹;同時(shí),在小兵藍(lán)圖類中,將小兵自身中“Pawn”下的“AI控制器類”設(shè)置為MinionControllerBP。

圖24-5 設(shè)置小兵控制器

完成后編譯運(yùn)行,小兵就會(huì)自動(dòng)朝玩家的出身點(diǎn)移動(dòng),如圖24-6所示。此外,如果直線內(nèi)有障礙物阻擋,小兵同樣可以繞過障礙到達(dá)目的地:

圖24-6 自動(dòng)尋路

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站題目:斯坦福UE4+C++課程學(xué)習(xí)記錄24:AI行為樹-入門尋路-創(chuàng)新互聯(lián)
文章路徑:http://bm7419.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)