前言
游戏中人物死亡一般都是HP归零之后触发,
之后会配一些人物动作,动画,来进行渲染,像是模型倒地,分裂,加点粒子特效,
HUD的话会加个显示信息,提示人物死亡。
正文
把死亡设计成技能触发
一般都是受到伤害,才会触发死亡判定
param设计
classDiagram
class CharacterMaster{
Boolean isKilled;
Boolean PlayKilled;
Boolean KilledEnd;
}
逻辑设计
graph TD
人物死亡 --> 设置PlayKilled为真
人物死亡 --> 设置isKilled为真
设置PlayKilled为真 --> 触发蓝图动画死亡状态
触发蓝图动画死亡状态 --> 到达一段时间后播放粒子通知
到达一段时间后播放粒子通知 --> 设置粒子特效播放粒子动画
触发蓝图动画死亡状态 --> 到达一段时间后播放通知
到达一段时间后播放通知 --> 设置PlayKilled为假
设置PlayKilled为假 --> 结束死亡动作播发
动画设计
死亡动作
还是在blender上进行动作调试,目前这玩意做的很花时间,
同时做的时候,因为设计上不熟悉,出现各种问题
材质和粒子特效
参考B站的BV1yz4y1U77Q 老哥讲的很详细,就是视频转场很吓人
材质和参数
整个长这样
材质核心逻辑
利用蒙版的特点,透明度两端化
使用If和Substract组合做到数值范围区间,同时对数值在一部分范围的像素点采取显示或消失
遮罩部分
这一部分负责消失的像素
发光部分
发光范围需要配合遮罩使用,发光的范围应该限制在中间一段
进行自发光颜色的赋值
Panner
Panner常用来UV位移,做到动态效果
Speed参数实质是2D数值,表示XY坐标系偏移量
图片提供一定的随机性(感觉可以做出无间中的玫瑰效果)
Niagara系统
一个简化的粒子系统
覆盖人物表面
启动重力
做到粒子的飘浮
粒子颜色
动画和粒子效果绑定
调用器和对应操作
动画中调用通知
人物接受后采取动作,设置粒子特效
在TICK中实现动画效果
判定粒子动画开始条件
参数控制实现动画中关键帧效果
隐藏代替死亡
没有检查的话 销毁ACTOR不是个好操作
隐藏防止野指针等乱七八糟的情况
最终效果
经过十下小拳拳后,HP归零 播放死亡动画
像不像以前玩破坏神那个效果
下一篇做关于塔的设计 塔本质上就和人物没区别