格擋
給每把武器選一個格擋時受擊的動畫,添加到武器的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限制他不能翻滾后立刻攻擊