UE4藍(lán)圖-楊一鳴塔防游戲全套學(xué)習(xí)筆記

整體上添加了一些自己的想法來制作,感謝大佬的教程
塔防游戲制作
1.工程準(zhǔn)備新建項(xiàng)目-導(dǎo)入素材
2.新建地形-新建spline樣條組件-在地圖上繪制出想要的塔防怪物移動(dòng)路線-通過樣條來實(shí)現(xiàn)怪物的移動(dòng)路徑。(與教程中的方法不同,相對(duì)來說可以稍微簡單一點(diǎn))
?

3.構(gòu)建怪物主藍(lán)圖-通過其子類藍(lán)圖來控制不同類型的怪物-同時(shí)在主藍(lán)圖里面寫敵人的前進(jìn)邏輯。
?

4.構(gòu)建子類怪物藍(lán)圖,在其中導(dǎo)入對(duì)應(yīng)的怪物資源,添加動(dòng)畫,調(diào)整位置。
同時(shí)在怪物藍(lán)圖的膠囊體組件中將碰撞預(yù)設(shè)設(shè)為:避免怪物不能重疊或者和子彈不能重疊等問題。
?

5.在路線圖藍(lán)圖中寫怪物生成出來的邏輯,即自定義事件:敵人生成事件
構(gòu)建結(jié)構(gòu):敵人類型數(shù)量,來存放所需的值。同時(shí)在路線藍(lán)圖中新建變量:敵人類型數(shù)量-類別選擇為剛剛創(chuàng)建的結(jié)構(gòu),數(shù)組類型:
?

6.根據(jù)上面建好的,開始在路線藍(lán)圖中書寫生成敵人的邏輯:
?

?

?

書寫完畢后,就完成了初步的地圖構(gòu)建,路線邏輯,敵人生成邏輯等。
7.開始制作塔基和子彈:
基礎(chǔ)邏輯:
(1)事件開始運(yùn)行--先設(shè)置一個(gè)自定義事件(檢測周圍有沒有敵人),通過(以事件設(shè)置定時(shí)器)來實(shí)現(xiàn)持續(xù)檢測是否有敵人--檢測敵人事件中將范圍內(nèi)檢測到的敵人手機(jī)到一個(gè)數(shù)組(所有敵人)--通過分支來進(jìn)行下一步--當(dāng)(所有敵人)中有敵人時(shí),隨機(jī)選擇一位敵人(當(dāng)前選擇的敵人)--選擇后關(guān)閉檢測
?

(2)設(shè)置子彈總類—實(shí)現(xiàn)子彈的發(fā)射,每個(gè)塔臺(tái)子彈細(xì)節(jié)在其子類藍(lán)圖實(shí)現(xiàn):
?

(3)檢測到敵人后,開始轉(zhuǎn)動(dòng)塔臺(tái),如下第一張圖片——接著辨認(rèn)與(當(dāng)前選擇的敵人)距離是否超過自己想要的最大距離,未超過——執(zhí)行(發(fā)射子彈)事件,超過——回到(1)開始,重新檢測選擇下一個(gè)敵人,如下第二張圖片:
?

?

(4)事件(發(fā)射子彈):其可以實(shí)現(xiàn)子彈在未檢測到敵人是自動(dòng)裝填好,一旦檢測到敵人就馬上攻擊,無需等待攻擊時(shí)我們所設(shè)置的每發(fā)子彈0.5秒的發(fā)射間隔,更加自然(很妙啊?。。。?/p>
?

8.添加子彈傷害和敵人生命:
(1)添加子彈傷害后,①由于第一個(gè)怪物被打死后炮臺(tái)失去了(所選擇的敵人)目標(biāo),會(huì)停止運(yùn)轉(zhuǎn),所以需要在塔基藍(lán)圖中設(shè)置(所選擇的敵人)無效時(shí)塔重新檢測敵人。②多個(gè)炮臺(tái)發(fā)射子彈后,有的子彈可能沒到怪物身上怪物就已經(jīng)死了,所以直接加一個(gè)銷毀子彈在子彈總類中,以免子彈亂飛。
?


?
(2)敵人死亡:設(shè)置敵人初始生命值,獲取傷害,檢測當(dāng)前生命值,是否不大于0,是,則敵人死亡,播放死亡動(dòng)畫(記得修改mesh碰撞),否,則繼續(xù)運(yùn)行。
?

9.設(shè)置終點(diǎn)藍(lán)圖:
在游戲模式中添加變量:血量;在敵人總類中添加變量:傷害
?

10.創(chuàng)建UI:
(1)血量UI:基礎(chǔ)結(jié)如下
?

在血量百分比上添加綁定:綁定自己游戲模式中的血量,記得÷100。
?

在金幣文字上添加綁定:獲取1gamemode中的金幣數(shù)值,用字符串附加到文字上,實(shí)時(shí)返回節(jié)點(diǎn),達(dá)到更改金幣數(shù)值的目的。
?

注意問題:如上操作敵人死亡后尸體進(jìn)入終點(diǎn)一樣會(huì)扣血,改正方法:
在終點(diǎn)藍(lán)圖中添加一個(gè)檢測敵人死亡的分支,敵人未死亡進(jìn)入終點(diǎn)才扣血。
?

(2)升級(jí)UI:先設(shè)計(jì)出基礎(chǔ)框架-接著給兩個(gè)按鈕設(shè)置點(diǎn)擊事件。

花費(fèi)按鈕的內(nèi)置函數(shù):當(dāng)塔到達(dá)滿級(jí)時(shí)就不再顯示升級(jí)按鈕,
綁定在可視性上,如下:
?

接著給花費(fèi)設(shè)置文本事件去更改每個(gè)等級(jí)顯示的升級(jí)金幣數(shù)量,最后給升級(jí)按鈕設(shè)置點(diǎn)擊事件:如下
注意:升級(jí)按鈕會(huì)調(diào)用在塔基中的事件(升級(jí)),記得設(shè)置每個(gè)等級(jí)升級(jí)完成后減少對(duì)應(yīng)的金幣數(shù)量。
?

下面是出售塔按鈕的點(diǎn)擊事件,基本操作如上:主藍(lán)圖如下:
?

11.塔基升級(jí):
設(shè)置點(diǎn)擊光圈會(huì)出現(xiàn)升級(jí)UI,開始先移除所有UI,保證同時(shí)只有一個(gè)UI:
?

接著生成UI,并且設(shè)置其位置在鼠標(biāo)點(diǎn)擊的位置:
?

然后設(shè)置自定義事件:升級(jí)和出售,如下。
注意:升級(jí)塔時(shí)設(shè)置好每一級(jí)會(huì)出現(xiàn)的網(wǎng)格體(尤其注意一下大?。?,還有設(shè)置每一級(jí)的光圈顏色。出售塔后記得設(shè)置光圈顏色到等級(jí)0時(shí)。
?


12.不同等級(jí)子彈的制作:
不同等級(jí)子彈擁有不同效果:不同傷害,外型特效,射速以及攻擊范圍。
一級(jí)子彈:綠色,射速1500,傷害10,攻擊范圍500,發(fā)射速度0.5秒一個(gè)
二級(jí)子彈:藍(lán)色,射速1800,傷害20,攻擊范圍600,發(fā)射速度0.45秒一個(gè)
三級(jí)子彈:紫色,射速2200,傷害35,攻擊范圍700,發(fā)射速度0.40秒一個(gè)
四級(jí)子彈:紅色,射速2800,傷害50,攻擊范圍800,發(fā)射速度0.35秒一個(gè)
五級(jí)子彈:金色,射速3500,傷害100,攻擊范圍1000,發(fā)射速度0.3秒一個(gè)
標(biāo)紅的范圍會(huì)鬼畜亂轉(zhuǎn),暫定600
13.不同等級(jí)怪物的血量,價(jià)值,傷害與速度:
怪物1:血量200,價(jià)值50,傷害5,速度600
怪物2:血量500,價(jià)值100,傷害7.5,速度400
怪物3:血量2000,價(jià)值200,傷害10,速度500
怪物4:血量5000,價(jià)值300,傷害15,速度800
怪物5:血量10000,價(jià)值400,傷害20,速度1000
14.不同等級(jí)塔的升級(jí)花費(fèi)和售出塔的收獲:
建造一級(jí)塔:花費(fèi)20,出售10
建造二級(jí)塔:花費(fèi)50,出售35
建造三級(jí)塔:花費(fèi)100,出售85
建造四級(jí)塔:花費(fèi)200,出售185
建造五級(jí)塔:花費(fèi)400,出售385
15.開始界面,勝利界面以及死亡界面:
開始界面:新建一個(gè)地圖作為主界面,在其關(guān)卡藍(lán)圖中添加主界面UI
?

勝利界面: (bug修復(fù)完畢)
?

Bug修復(fù):如果游戲失敗,但是最后的敵人生成完畢,場上的敵人被銷毀,系統(tǒng)檢測到敵人沒了,就會(huì)同時(shí)放出死亡和勝利界面。解決方法:
將游戲失敗單獨(dú)封裝為自定義事件放入游戲gamemode中,設(shè)置布爾值(是否失?。浚﹣斫鉀Q失敗后敵人繼續(xù)生成的問題
?

最后一波敵人生成后,游戲失敗時(shí)勝利界面也會(huì)出現(xiàn)的問題解決方法:
將gamemode中的(游戲失?。浚┳兞空{(diào)用,一旦游戲失敗就不再檢測
?

死亡界面:做好后添加到終點(diǎn)藍(lán)圖中(當(dāng)前已放到游戲模式中了)
?

16.怪物血條
(1)創(chuàng)建怪物血條UI
做完后發(fā)現(xiàn)并不是那么美觀,就去掉了
?
17.場景美化(自制)
(1)通過素材一點(diǎn)點(diǎn)裝飾成自己想要的樣子:
?
?

?
?
待實(shí)現(xiàn)功能
1.可以制造不同的塔,每種塔傷害不同,而不是只有一種可以升到五級(jí)的塔(未完成)
2.玩家可以切換視角到塔臺(tái)上,體驗(yàn)不一樣的視覺感受
3.優(yōu)化升級(jí)UI界面,怪物,人物血條(就是搞好看點(diǎn))(怪物血條暫定,不是很好看)
4.優(yōu)化傷害計(jì)算,不同類型,不同等級(jí)的塔應(yīng)該有不同的傷害,速度等(完成)
5.優(yōu)化子彈和特效,同一個(gè)塔可以暫時(shí)用一個(gè)子彈,但是不同塔必須有不同的子彈特效,功能什么的,就是不能太單一,避免無趣(完成,但是沒有多種塔)
6.四周場景優(yōu)化,地圖太空,塔臺(tái)播放動(dòng)畫,音效(完成)
7.是否有幾個(gè)關(guān)卡,每個(gè)關(guān)卡出現(xiàn)新的怪物?(暫不完成)
8.是否每一個(gè)關(guān)卡可以制作新的塔臺(tái)(如第一關(guān)只有一種塔,第二關(guān)增加一種…?(暫不完成)
9.是否添加可摧毀障礙物和可標(biāo)記優(yōu)先進(jìn)攻敵人和障礙物?(暫不完成)
10.各種音效的添加,塔攻擊,升級(jí),出售,怪物死亡等等(會(huì)很吵,暫定)
11.剩余敵人數(shù)量和波數(shù)提示
12.游戲背景音樂(完成)如何實(shí)現(xiàn)背景音樂循環(huán):
?

13.起點(diǎn)和終點(diǎn)建筑(暫定)
14.開場動(dòng)畫(完成)
?楊一鳴塔防教程學(xué)習(xí)完畢,希望能對(duì)大家有一些幫助
?
?