翻译自Udemy的视频课程introduction-to-unreal-engine-4-ability-system
所有翻译内容仅供个人学习参考使用 ,这一篇作为进阶的过渡篇
对于LaserAbility:(这个技能属于持续消耗法力值,持续发动),表现力不够(LaserAbility见第8篇)
持续消耗法力值的实现:需要设置为Infinite,并且设置周期
但是要注意的是:
1、如果想要在发动其他技能的时候能够把当前的技能取消掉,需要添加AbilityTags与CancelAbilityTags
2、GAS插件完成了每次技能发动的消耗、冷却信息等发动条件的检测(CommitAbility会帮助实现)。但是但一个技能术语表那种一次发动,持续消耗法力的技能,当法力值降低为0时,需要endAbility。这个时候就需要对这种技能加入中断技能的检测(check Cost与剩余值的大小,需要注意Cost中的数值可能会是负的)。
3、如果该技能需要选择目标(会有特效、动画等),选择完成目标之后才会调用CommitAbility,这种情况下也必须在选择目标之前检查消耗(check Cost与剩余值的大小,需要注意Cost中的数值可能会是负的)。
关于UI:其实没有必要用教程提供的UI,可以设计更为简约的UI
其实到这已经可以实现普通的技能机制了。但是还想要更复杂的?
如何设计魔法药水?如何发射一个火球?如何让敌人灼烧一段时间?如何选择指定敌人?进行更加复杂的伤害计算?这些内容得整理一段时间再放出来。如果更好的话,希望把UI那块一块拎出来(UI那一块已经单独拎出来了)