最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Blender To UE5 塔防 002

2023-03-21 19:41 作者:新知都名  | 我要投稿

一個(gè)半小時(shí)的時(shí)間,知識(shí)量太大了,對(duì)于我這個(gè)小白來(lái),腦子已經(jīng)完全飽和。

實(shí)例,學(xué)起來(lái)優(yōu)點(diǎn)就是有意思。驅(qū)動(dòng)力強(qiáng),但是費(fèi)腦子,發(fā)型也往強(qiáng)者這邊更近一步。

?
03:17
?


本節(jié)課目標(biāo):基礎(chǔ)的防御塔藍(lán)圖搭建,防御塔具有攻擊能力。


----------給Actor塔添加一個(gè)spawn動(dòng)畫(huà)并嘗試炮筒旋轉(zhuǎn)和Fire------------------------------


-----------------一、給Actor塔添加一個(gè)spawn動(dòng)畫(huà)---------------------

整體思路:

  1. 首先創(chuàng)建一個(gè)Actor塔的父類(lèi)
  2. 再創(chuàng)建一個(gè)動(dòng)畫(huà)藍(lán)圖類(lèi),可以播放動(dòng)畫(huà)序列
  3. 在塔的父類(lèi)藍(lán)圖中設(shè)置條件,和藍(lán)圖動(dòng)畫(huà)之間通信,控制狀態(tài)機(jī),實(shí)現(xiàn)播放哪個(gè)動(dòng)畫(huà)序列;
  • 幾個(gè)狀態(tài)分析
  • start
  • spawn
  • idle
  • Idle 就是一幀動(dòng)畫(huà),也沒(méi)有呼吸,所以這里完全可以不用狀態(tài)機(jī),直接序列動(dòng)畫(huà)播放spawn。但是,UP可能考慮的是讓課程內(nèi)容更豐富。

具體步驟:

?
05:52
?

創(chuàng)建一個(gè)Acor命名為BP_Defence_Patent,

  • 添加一個(gè)骨骼體組件,命名為SpawnMesh
  • 在組件細(xì)節(jié)面板中,添加骨骼;
  • 并把Actor放到關(guān)卡中,沒(méi)有spawn動(dòng)畫(huà)
  • 下面給Actor添加spawn動(dòng)畫(huà)

?
08:30
?

在Animation文件夾種創(chuàng)建Anim(動(dòng)畫(huà)藍(lán)圖)

  • 添加TowerBaseSK_Skeleton
  • 命名為ABP_Tower

在AnimGraph中,添加一個(gè)動(dòng)畫(huà)序列,看一下效果。

?
09:53
?

沒(méi)有反應(yīng),我們還需要給藍(lán)圖中指定播放哪個(gè)藍(lán)圖動(dòng)畫(huà)。

指定完成,就可以正常播放動(dòng)畫(huà)了。

但是,對(duì)于Actor(ABP_Tower)來(lái)說(shuō),有很多動(dòng)畫(huà),例如:攻擊時(shí)候的攻擊動(dòng)畫(huà)、Idle動(dòng)畫(huà)等。

所以,先建一個(gè)變量來(lái)告訴動(dòng)畫(huà)藍(lán)圖Spawn動(dòng)畫(huà)是否播放完成,這樣狀態(tài)機(jī)就可以依據(jù)來(lái)判斷播放哪個(gè)動(dòng)畫(huà)了。

創(chuàng)建布爾變量IsSpawned?

?
12:17
?

創(chuàng)建一個(gè)狀態(tài)機(jī),命名為T(mén)ower State Machine;

  • 狀態(tài)機(jī)可以根據(jù)條件來(lái)播放哪個(gè)動(dòng)畫(huà)序列。
  • 三個(gè)狀態(tài),Start,Spawn,Idle
  • 在三個(gè)狀態(tài)中,添加動(dòng)畫(huà)序列


下面,就開(kāi)始設(shè)置條件:

?
14:53
?

  • 在動(dòng)畫(huà)藍(lán)ABP_Tower圖中,獲取Actor;
  • cast to 塔的父類(lèi)(BP_Defence_Patent)
  • 得到藍(lán)圖中的變量來(lái)判斷spawn的動(dòng)畫(huà)是否播放完成
  • 如果完成,則進(jìn)入idle
  • 沒(méi)有,則繼續(xù)播放Spawn動(dòng)畫(huà)
  • spawn到idle規(guī)則
  • 利用的一個(gè)剩余時(shí)間(比率)的節(jié)點(diǎn)


----------------------------------二、實(shí)現(xiàn)炮筒旋轉(zhuǎn)動(dòng)畫(huà)--------------------

?
18:54
?

1、攻擊時(shí)候的炮基,

?
19:11
?
,并命名為T(mén)owerBase

  • Spawn完成之后,切換可視性后隱藏;
  • TowerBase設(shè)置為隱藏,切換可視性后顯示;

2、攻擊時(shí)候的炮筒,

?
21:03
?
,并命名為CannonMesh

  • 添加TowerBaseCanno骨骼網(wǎng)格體
  • 對(duì)于骨骼網(wǎng)格體來(lái)說(shuō)很重要的一件事別忘了:
  • 動(dòng)畫(huà)模式
  • 動(dòng)畫(huà)類(lèi)
  • 也設(shè)置為隱藏,切換可視性后顯示;
  • 然后添加蒙太奇

3、實(shí)現(xiàn)炮筒單獨(dú)旋轉(zhuǎn)的藍(lán)圖設(shè)置

  • 添加一個(gè)時(shí)間軸
    ?
    25:58
    ?
  • 長(zhǎng)度設(shè)置為1;
  • 軌道命名為T(mén)urnRate;


?
24:20
?


----------------------------------三、實(shí)現(xiàn)開(kāi)火的動(dòng)畫(huà)--------------------

開(kāi)關(guān)動(dòng)畫(huà)的重復(fù)的動(dòng)作,所以使用蒙太奇。

問(wèn)題來(lái)了,如何創(chuàng)建蒙太奇,使用蒙太奇;

1、創(chuàng)建蒙太奇

?
29:57
?

  • 視頻中直接選擇一個(gè)動(dòng)畫(huà)序列
  • 右鍵——?jiǎng)?chuàng)建——?jiǎng)?chuàng)建蒙太奇
  • 并改名為T(mén)ower BaseAnimAtk_Montage

2、播放蒙太奇的節(jié)點(diǎn)

?
30:53
?

  • 骨骼——炮筒
  • 資產(chǎn)選擇——?jiǎng)倓倓?chuàng)建蒙太奇

3、蒙太奇的調(diào)用播放是動(dòng)畫(huà)藍(lán)圖中設(shè)置;

  • slot搜索節(jié)點(diǎn)
  • 相對(duì)于在動(dòng)畫(huà)藍(lán)圖中放置了一個(gè)插槽(slot)
  • 然后,如果Actor藍(lán)圖中就利用節(jié)點(diǎn)來(lái)控制播放了(步驟2)

?
33:01
?

  • 1、對(duì)于骨骼網(wǎng)格體來(lái)說(shuō)很重要的一件事別忘了:
  • 動(dòng)畫(huà)模式
  • 動(dòng)畫(huà)類(lèi)
  • 2、在動(dòng)畫(huà)藍(lán)圖中slot節(jié)點(diǎn)


----------下面讓Tower搜索敵人并鑒別出離著最近的敵人-----------------------------

?
34:16
?

先用藍(lán)圖做,后面會(huì)用行為樹(shù)做!


?
36:38
?

創(chuàng)建一個(gè)Character作為敵人,命名為BP_TDEnemy_Parent

  • 添加骨骼SK_Mannequin
  • 添加動(dòng)畫(huà)藍(lán)圖


  • 搜索敵人。在BP_Defence_Patent中藍(lán)圖中
  • 添加對(duì)Object進(jìn)行多球體追蹤
  • 創(chuàng)建一個(gè)浮點(diǎn)變量AtickDistance,1000;
  • 對(duì)象類(lèi)型
  • 是之前,設(shè)置好的
  • ?
    39:30
    ?



?
40:14
?

進(jìn)入敵人的藍(lán)圖,設(shè)置膠囊碰撞設(shè)置:

  • 碰撞預(yù)設(shè)——Custom;
  • 對(duì)象類(lèi)型——Enemy;(設(shè)置好的)
  • 碰撞相應(yīng)設(shè)置:


在BP_Defence_Patent中繼續(xù)編輯藍(lán)圖


-------------獲取離著最近的敵人---------------------------

?
42:36
?

一、判斷碰撞是否成功,成功的放置到數(shù)組中

?
43:06
?

  • 首先利用節(jié)點(diǎn)多球體追蹤判斷是否成功
  • 成功的話,就For Each Loop
  • cast to BP_TDEnemy_Parent
  • Add Larry
  • 提升變量,命名為EnemyFindArray

二、判斷哪個(gè)敵人離著目的地最近

?
45:08
?

準(zhǔn)備工作:

  • 創(chuàng)建一個(gè)函數(shù),命名為:GetEnemyNearToBase;
  • 創(chuàng)建一個(gè)Acor——Base,也就是敵人的目的地;
  • 在BP_Defence_Patent藍(lán)圖中獲取Base,得到Base的引用
    ?
    47:07
    ?

?
48:22
?

變量歸類(lèi),這技巧太實(shí)用??梢赞坜圩兞?/strong>


所有準(zhǔn)備工作做好之后,現(xiàn)在就可以判斷哪個(gè)敵人離著最近了

?
49:15
?


根據(jù)的敵人的位置,來(lái)讓炮筒旋轉(zhuǎn),朝向敵人

?
56:29
?

讓敵人AI移動(dòng)

?
58:38
?

  • 用到節(jié)點(diǎn)AI MoveTo
  • 追蹤對(duì)象,利用節(jié)點(diǎn)獲取類(lèi)的所有Actor,獲取到BPBase(目的地的actor)
  • ue5地圖自帶導(dǎo)航,按鍵P就可以看到綠色的導(dǎo)航區(qū)域
  • 如果沒(méi)有話,可以自己添加NavMeshBoundsVolume


修改移動(dòng)速度


?
01:01:46
?

可能就是執(zhí)行一次,所以設(shè)置一個(gè)條件,只要沒(méi)有得到有效值就一直執(zhí)行函數(shù)Search

為啥要delay時(shí)間呢?這樣的話,再次執(zhí)行search的時(shí)候,就會(huì)在0.2s之后又執(zhí)行一次。

?
01:04:14
?

但是在這次又設(shè)置一個(gè)條件,這個(gè)條件設(shè)置錯(cuò)誤了,up主在后面視頻也進(jìn)行了修改。

判斷數(shù)組的長(zhǎng)度應(yīng)該>=0,而不是判斷是否==0!


后面學(xué)習(xí)up如何debug,借鑒一下思路?。?/p>

?
01:07:11
?


?
01:13:46
?

讓炮筒持續(xù)瞄準(zhǔn)敵人?。?/p>


?
01:16:23
?

set time by event提升為變量,這個(gè)變量類(lèi)型為定時(shí)器柄;

作用是啥呢?結(jié)合后面的內(nèi)容,猜想,這個(gè)變量就是這個(gè)定時(shí)器的引用。

?
01:17:52
?

新建一個(gè)變量,屬于游戲中的變量,

  • 再Attack函數(shù)中,設(shè)置IsAttacking為真;
  • 然后作為Aim(瞄準(zhǔn)事件)的條件

但是,這變量的作用是什么呢?

?
01:19:00
?


?
01:20:38
?

  • 在敵人的藍(lán)圖中,新建一個(gè)變量I是Dead?
  • 來(lái)判斷敵人是否死亡,
  • 如果死亡,重新Search;
  • 如果死亡,就清除定時(shí)器,也就是不再瞄準(zhǔn)和繼續(xù)攻擊;
  • AimHandle(定時(shí)器手柄)這個(gè)定時(shí)器的引用。

?
01:25:16
?





Blender To UE5 塔防 002的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
和静县| 申扎县| 怀化市| 满城县| 全州县| 康乐县| 博野县| 庐江县| 凤凰县| 红安县| 安徽省| 徐州市| 西华县| 大石桥市| 丰城市| 英德市| 通州市| 宾川县| 久治县| 磐安县| 象州县| 慈利县| 临沭县| 新郑市| 绩溪县| 始兴县| 屏南县| 黔西县| 钦州市| 禹州市| 慈利县| 大埔区| 沧州市| 阿城市| 黄山市| 安阳县| 衡南县| 忻州市| 同德县| 合水县| 铜川市|