攻擊在不同部位傷害應該是不一樣的,比如把人分為 頭、胸、腹、胳膊腿等。
之前做了乙個簡易的判斷,只是判斷是否打在了頭上,這次用巨集全做出來。
噴血
首先判斷是否打在了胳膊上。輸入的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...