UE4_簡易AI_格擋/人物受擊


格擋

給每把武器選一個格擋時受擊的動畫,添加到武器的dataTable里面

 

 下面就是邏輯部分,添加了如下的藍圖節點。

在播放受擊動畫之前先判斷一下是否處於格擋狀態,如果處於格擋狀態,就播放相應的格擋受擊動畫。

 

 

另外,格擋的時候所受傷害為不格擋時應受傷害的一半

 

 又改了一下,用來看玩家收到的傷害是多少,新建了一個變量叫takenDamage,用來存放我們受到的傷害,減少生命值就直接用HP-takenDamage。

發現有武器時是正常的,但是空手格擋不會減免傷害

找到了bug所在,沒有武器時,連接的節點是下面這一溜,也就是無格擋時的傷害判斷

 

 

所以武器不存在的時候也要加一個判斷,是否格擋,格擋的話走上面的LaunchCharacter,不格擋的話走下面

 

 

 

還有個不好的地方,就是我們可以提前格擋,AI攻擊后的一瞬間反擊,這個有點bug,格擋的意義就不存在了,所以要設置在玩家挨打后的一秒內不得進行攻擊

 

 

 

玩家受擊噴血/音效

 

 

增加玩家挨打時的視野搖晃(這是一個很好玩的東西

 

 新建好打開,右面這些就是我們可以調的參數

Rot Osc是相機的旋轉值搖晃,

Loc Osc是相機的Location搖晃

FOV Osc是縮放值搖晃

 

 大概設置成這樣就可以用了

 

 

用下面這個節點調用剛剛的 camera shake

 

 然后就有贊爆的效果了

 

Ai翻滾

新建一個變量,范圍是0-1,代表Ai受到攻擊前翻滾的概率,同時可以把他提升為public,這樣在外面就可以直接改了,

然后,根據這個DodgePercent隨機生成一個布爾值,如果是true,就讓Ai隨機播放一個翻滾動畫,如果是false,就執行正常的挨揍邏輯。

delay限制他不能翻滾后立刻攻擊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM