UE4 攻擊傷害3 受擊傷害 噴血 倒地死亡

2022-09-15 08:06:11 字數 2117 閱讀 6093

攻擊在不同部位傷害應該是不一樣的,比如把人分為 頭、胸、腹、胳膊腿等。

之前做了乙個簡易的判斷,只是判斷是否打在了頭上,這次用巨集全做出來。

噴血

首先判斷是否打在了胳膊上。輸入的name變數是骨骼名稱。

找到ai的骨骼,找到手臂骨骼的名稱s。(手指就不算了,大臂、小臂、手)

把這幾個都判斷一下

複製乙份,做腿的

先找腿的骨骼名稱

複製之後修改裡面的骨骼名

再來乙個重要部位檢測(包括頭、脖子、脊柱01 02、屁股)

記得在輸入裡面新增乙個exec。

把骨骼名稱和攻擊方向提公升為變數,方便操作

測試,沒有問題

新建乙個關於傷害計算和噴血部位的函式,take damage

bone name 傳入骨骼名稱,用於判斷出血位置

damage 傷害量

damage x 傷害倍數

右鍵輸入math,可以自定義乙個數學公式,直接在名稱裡輸入就行。

比如我們修改公式的名稱為a*b,開啟該公式就是這樣的

新建兩個變數,護甲ap和血量hp。

計算方式,借鑑lol的傷害計算公式,實際傷害=面板傷害*(100/100+實際護甲)。

實際護甲=面板護甲*(1-護甲穿透百分比)-實際穿甲值。

當然先不做穿甲的事,先只考慮傷害和護甲值。至於穿甲、暴擊bulabula 以後有空在做。

所以,hp=hp-damage*(100/100+ap)

用 spawn emitter attached

骨骼就是我們輸入的骨骼,mesh就是從左上角拖出來的mesh,emitter template 拖到輸入裡,在外面改。

以攻擊手臂為例

這是要新增的噴血動畫

大概是這樣,感覺噴血量有點多

然後就是調整出血的動畫,也可以跟之前一樣用乙個 隨機的布林值進行select

多試試看哪個效果好,沒啥好說的

然後加上ai往後退的動畫,直接加在take damage後面就行。

做了一點調整,把damage*damage x直接輸入了play damage anim,作為判斷是否是重擊的傷害量

死亡與肢解

死亡

如果 is dead 為true ,在隨機0.2-0.7s的延遲後,開啟「布娃娃」 物理模擬。

「布娃娃」就是系統模擬的,帶物理重力的乙個東西,比如下面這個攤在地上,其實就是因為ai模型本身的重力導致的。

受擊動畫的進一步修改,加入持續流血的效果

如果傷害<80,>=40,有機率流血

5s之內沒有受到傷害,就停止流血。

斷肢

也可以用個隨機布林值,做概率斷肢

攻擊傷害的計算

攻擊造成的傷害型別有哪些以及遊戲後端怎樣計算這些傷害呢?傷害型別主要包括 普通攻擊 技能攻擊 高階屬性帶來的傷害 暴擊,增傷 百分比傷害 反傷等。傷害計算主要包括 攻防血公式計算傷害 直接傷害 固定傷害或百分比傷害 攻防血公式計算傷害 直接傷害 計算傷害的型別主要又可以分為兩種 一 走攻防血傷害計算...

ue4玻璃材質 UE4 材質

本文中,我們將首先討論基於物理的渲染,什麼是材質域,什麼是材質,什麼是材質例項,什麼是主材質,我們將討論材質的一些建議和禁忌。最後,我們將了解一些材質概念,你可以將其用於各類專案中的材質。pbr 表示基於物理的渲染,基於物理的渲染意味著我們根據現實模擬光線,而不是根據主觀想法模擬光線。光線的最終效果...

ue4攻擊目標的具體骨骼

筆者之前已經寫了一篇,完成一把槍新增射線攻擊 現在在那個基礎之上,檢測到攻擊目標的不同部位 一 新增乙個敵人藍圖emeny,建立乙個自定義事件attacked 在事件細節上新建乙個輸入值,型別選擇名稱 如果目標的骨架網格物體沒有物理資源,右鍵最上面建立乙個物理資源。二 在out hit上breakh...