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

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

19_190~198SmaterEnemyes

2023-03-24 17:36 作者:俯瞰萬千風景  | 我要投稿

190?IK Rig for the paladin圣騎士的IK Rig

Retargeting Animations from the paladin to echo從圣騎士到回聲的重定向動畫

將Paladin的受擊動畫,使用IK重定向給Echo

選擇根,然后選擇全局縮放


191?Echo Hit React MontageEcho Hit React蒙太奇

Setting up the Hit React Montage for Echo為Echo設(shè)置Hit React蒙太奇

創(chuàng)建了一個HitReact的Montage

給Montage添加了標簽 音效


192?Echo Gets HitEcho得到擊中

Implementing Get hit for Echo實現(xiàn)Echo的Get hit

將GetHit_Impon方法 已送到了BaseCharacte類中

并在EchoCharacter中進行了覆寫

193?Hit Reaction State命中反應(yīng)狀態(tài)

Taking Care of Hit Reaction State for Echo照顧Echo的命中反應(yīng)狀態(tài)

添加了一個狀態(tài)


在受擊方法中,將狀態(tài)置為HitReaction

在受擊蒙太奇中,添加一個HitReactEnd的通知

在EchoCharacter中添加一個BlueprintCallable的方法HitReacEnd

在這個方法中,將受擊狀態(tài)重置為stay


回到ABP動畫藍圖中添加方法

敵人死亡時,武器依然會造成傷害

需要關(guān)閉敵人武器的碰撞


需要在敵人進入戰(zhàn)斗時清除巡邏的計時器


194 Improving Directional Hit React改進定向命中反應(yīng)

Basing Hit React on the Attacker's Location以攻擊者的位置為基礎(chǔ)的打擊反應(yīng)

我們在攻擊敵人產(chǎn)生擊退的時候,使用Player的坐標,比使用Import的坐標更好,避免從正前方擊中敵人后備,敵人反而向我們移動

給GetHit方法添加了一個參數(shù) AActor* Hitter

修改HitInterface.h


修改BreakActor類

修改BaseCharacter,并且將DirectionalHitReact中,ImpactPoint替換為Hitter的坐標

修改EchoCharacter

修改Enemy

修改weapon

在測試中發(fā)現(xiàn),如果當player在進行攻擊動作時被打斷

也就是說當執(zhí)行了EnableBoxCollision操作后,因為被打斷,沒有執(zhí)行DisableBoxCollision,所以玩家的武器會一直帶有“傷害”

我們需要在被打斷時,直接執(zhí)行DisableBoxCollision

在EchoCharacter的GetHit_Implementation方法中加入設(shè)置


195?Root Motion Attacks根基運動攻擊

Improving the Enemy's Attacks提高敵人的攻擊力

敵人在攻擊我們的時候,會出現(xiàn)自己釋放動作,但是不會追蹤我們的位置,或者不會矯正

添加了3個帶位移的攻擊動畫

196?Motion Warping

Addin a Motion Warping Component

運動翹曲

添加一個運動翹曲的組件

添加Motion Warping插件


打開enemy的藍圖,添加motion warping插件

在動畫蒙太奇中,添加Motion片段,覆蓋根動畫位移的部分

然后在片段下方,添加一個觸發(fā)motion的通知

設(shè)置Root Motion Modifier為Skew Warp

設(shè)置Wearp Targe Name,設(shè)置下面Rotation Type 為Facing


回到C++中,

將Enemy類中的AActor* CombatTarget 暴露給藍圖,以便在藍圖中調(diào)用

這里其實是在設(shè)置warp目標的對象,Enemy的對象肯定是player,就是類中的CombatTarget


在角色藍圖中,添加一個自定義事件,用來觸發(fā)motion

WarpTargetName這里對應(yīng)了montage動畫中設(shè)置的Wearp Targe Name,這個需要保持一致


然后我們繼續(xù)到montage動畫中設(shè)置一個通知,然后在動畫藍圖中,用這個通知調(diào)用這個自定義藍圖事件

我們可以多設(shè)置幾個通知,這樣角色在進行動畫時,可以調(diào)整方向朝向玩家


在動畫藍圖中添加通知事件

在角色動畫藍圖中,添加通知事件,用來出觸發(fā)角色藍圖中的自定義事件


操!敵人太強了!

當敵人在進行montage動畫時被攻擊,會發(fā)現(xiàn)擊退動畫后會繼續(xù)播放剩余的montage動畫

所以我們需要在enemy被命中的方法中,使用montage_stop方法終止montage動畫的播放

197?Fixing Warp Targets修復(fù)經(jīng)緯度目標

Perfecting the Enemy Attack完善敵人的攻擊

先解決了 enemy默認狀態(tài) 死亡的情況,因為Dead是第一個,被藍圖設(shè)置為默認值,所以我們需要將NoState設(shè)置為第一個,這樣他就會被設(shè)置為默認值,enemy就不會躺地上了

創(chuàng)建兩條Motion Warping通知條

我們用一條命名為TranslationWarp,來勾選Warp Translation 和 Igone ZAxis,來表示只對位置進行變化

用另外一條命名為RotationWarp,只勾選Warp Rotation,來表示只對旋轉(zhuǎn)進行變化

然后我們創(chuàng)建兩個函數(shù)

GetTranslationWarpTarget()用來傳遞坐標,因為我們不想讓enemy直接落在玩家的位置上,而是距離玩家一個指定的距離WarpTargetDistance

當這個值越小,離玩家就越近

所以我們需要用向量減法來獲得標準向量

然后乘以距離WarpTargetDistance


GetRotationWarpTarget() 用來傳遞旋轉(zhuǎn),因為我們不需要對旋轉(zhuǎn)進行修改,所以這里直接return

在Enemy的藍圖中,tick方法如下:

198小結(jié)

19_190~198SmaterEnemyes的評論 (共 條)

分享到微博請遵守國家法律
兴仁县| 柳江县| 永定县| 连南| 安宁市| 启东市| 新宁县| 余姚市| 盈江县| 台南县| 井陉县| 沙田区| 宜黄县| 周口市| 长兴县| 沽源县| 平原县| 鄱阳县| 寿宁县| 清水河县| 内乡县| 宁海县| 普宁市| 泗洪县| 砚山县| 乡宁县| 元阳县| 县级市| 乐昌市| 息烽县| 利川市| 渭源县| 页游| 华亭县| 阿拉善右旗| 德庆县| 鄂伦春自治旗| 新沂市| 巧家县| 克山县| 澄江县|