虚幻5---第16部分---敌人(中)
Actor 组件(Actor Components)
------创建我们自己的自定义组件
重点与流程:
- 了解自定义组件,尝试从Actor组件派生。
- 创建Actor组件。添加生命值变量。
- 在敌人代码里添加自定义组件,然后构造它。
示例图



Widget 组件(Widget Components)
------为敌人创建血条
重点与流程:
- 创建控件蓝图,选择User Widget,里面添加进度条,设置好。
- 新建C++类,选择控件组件类。
- 在C++里添加Actor组件的属性变量,构造对应对象。新增UMG模块。
- 在敌人的C++添加控件组件,构造对象,代表生命条。
- 在敌人蓝图里面设置生命条。
示例图:




用户 Widget 类(User Widget Class)
------用于我们血条 Widget 的 C++ 类
重点与流程:
- 创建新的C++类,为健康条创建一个用户组件,创建用户控件类
- 在C+里添加健康条变量,并且将其绑定到蓝图变量健康条上,变量名字必须一致。
- 回到蓝图界面对比检查图表的类设置父类与设计器变量。
示例图:



设置生命值百分比(Setting the Health Percent)
------在 C++ 中访问血条 UserWidget
重点与流程:
- 在健康条组件代码里添加设置百分比函数。
- 构造设置该函数。
- 在调用这个函数之前,把健康条控件改成U健康条控件。
- 在敌人代码中设置默认的健康条。
示例图




伤害(Damage)
------虚幻引擎内置的伤害系统
重点与流程:
- 了解虚幻内置的伤害函数和对应参数。
- 在敌人代码里添加受到伤害函数。
- 在武器代码里添加造成伤害函数。设置好内容。
- 在属性组件代码里添加函数用于接收伤害和更新生命值变化。设置内容。游戏统计会确保我们的函数在收到伤害时被调用。
示例图:






自定义血条(Custom Health Bars)
------让 HUD 更有特色
重点与流程:
- 了解进度条的style样式选项。
- 下载和导入对应的生命条的.png文件。调整好它们的压缩设置。
- 设置好新的自定义进度条。
示例图:




敌人死亡动画(Enemy Death Animations)
------用于敌人死亡的动画
重点与流程:
- 选择想要的几个死亡动画。按照对应格式下载,再转换成带根骨的动画。导入到项目。
- 制作对应的动画蒙太奇。每部分命名。
示例图:

敌人死亡(Enemy Death)
------干掉几个傻瓜
重点与流程:
- 进入代码,在属性组件代码判断角色是否存活。
- 在武器里检查击中接口前调用造成伤害的函数。
- 在敌人代码里编写逻辑,选择死后播放蒙太奇动画
- 写死亡播放蒙太奇的函数。
示例图





死亡姿势(Death Poses)
------让敌人彻底倒地不起!
重点与流程
- 利用动画的最后一帧制作动画。
- 代码新增枚举变量,表示死亡状态。编写死亡状态的转换逻辑。
- 使用蓝图线程安全更新动画来访问蓝图动画。
- 混合每个死亡动画。
示例图





注意:
- 如果敌人一直重复同一个死亡姿势,可能是,动画蓝图里面在切换死亡姿势时,没有没枚举设值。

打磨敌人死亡效果(Polishing Enemy Death)
------对敌人死亡效果进行收尾优化
重点与流程:
- 在代码里编写关闭胶囊体碰撞的时机和逻辑。
- 在代码里编写敌人死亡后消失的时机和逻辑。
- 在代码里编写生命条显示的条件和消失的条件。
示例图




挑战16
- 尝试双持武器。
