UE4 人物死亡和死亡动画

1,846 阅读2分钟

前言

  游戏中人物死亡一般都是HP归零之后触发,
  之后会配一些人物动作,动画,来进行渲染,像是模型倒地,分裂,加点粒子特效,
  HUD的话会加个显示信息,提示人物死亡。

正文

把死亡设计成技能触发

一般都是受到伤害,才会触发死亡判定

image.png

param设计

classDiagram
class CharacterMaster{
Boolean isKilled;
Boolean PlayKilled;
Boolean KilledEnd;
}

逻辑设计

graph TD
人物死亡 --> 设置PlayKilled为真
人物死亡 --> 设置isKilled为真
设置PlayKilled为真 --> 触发蓝图动画死亡状态
触发蓝图动画死亡状态 --> 到达一段时间后播放粒子通知
到达一段时间后播放粒子通知 --> 设置粒子特效播放粒子动画
触发蓝图动画死亡状态 --> 到达一段时间后播放通知
到达一段时间后播放通知 --> 设置PlayKilled为假
设置PlayKilled为假 --> 结束死亡动作播发

动画设计

死亡动作

  还是在blender上进行动作调试,目前这玩意做的很花时间,
  同时做的时候,因为设计上不熟悉,出现各种问题

image.png

v7mjn-ijh3l.gif

材质和粒子特效

参考B站的BV1yz4y1U77Q 老哥讲的很详细,就是视频转场很吓人

材质和参数

整个长这样

image.png

材质核心逻辑

image.png

利用蒙版的特点,透明度两端化
使用If和Substract组合做到数值范围区间,同时对数值在一部分范围的像素点采取显示或消失
遮罩部分

image.png

这一部分负责消失的像素
发光部分

image.png

发光范围需要配合遮罩使用,发光的范围应该限制在中间一段

image.png

进行自发光颜色的赋值
Panner
Panner常用来UV位移,做到动态效果
Speed参数实质是2D数值,表示XY坐标系偏移量

image.png image.png

图片提供一定的随机性(感觉可以做出无间中的玫瑰效果)

Niagara系统

一个简化的粒子系统
覆盖人物表面

image.png

启动重力

image.png

 做到粒子的飘浮
粒子颜色

image.png

动画和粒子效果绑定

调用器和对应操作

动画中调用通知

image.png

人物接受后采取动作,设置粒子特效

image.png

在TICK中实现动画效果

image.png

判定粒子动画开始条件

image.png

参数控制实现动画中关键帧效果

image.png

隐藏代替死亡
没有检查的话 销毁ACTOR不是个好操作
隐藏防止野指针等乱七八糟的情况

image.png

最终效果

经过十下小拳拳后,HP归零 播放死亡动画
像不像以前玩破坏神那个效果

7ys4n-tpfjf.gif

下一篇做关于塔的设计 塔本质上就和人物没区别