摘要:本文介绍了虚幻引擎GameplayAbilitySystem(GAS)框架中技能系统的实现方法。主要内容包括如何创建GameplayAbility子类GA_Combo,重写ActivateAbility函数实现技能激活逻辑,使用CommitAbility检查资源条件,以及通过EndAbility处理技能结束。同时说明了如何在AbilitySystemComponent中添加技能数组,并使用GiveAbility方法授予角色初始能力。最后指出这些操作应在服务器端实施,并提供了角色类中的调用示例。
Gameplay Ability
1.创建类:


基于CGameplayAbility创建子类:GA_Combo

2.在GA_Combo类里重写函数:
Source/Crunch/Public/GAS/GameplayAbility/GA_Combo.h:
public:
virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override;
这是一个虚幻引擎Gameplay Ability System (GAS)框架中用于激活技能的核心虚函数重写声明。该函数在技能被激活时调用,主要功能包括:
函数参数说明:
-
Handle:技能规格的唯一标识符
-
ActorInfo:包含施法者相关信息的结构体
-
ActivationInfo:技能激活相关信息
-
TriggerEventData:触发技能的事件数据
典型实现流程:
-
首先调用CommitAbility检查资源/冷却条件
-
执行技能核心逻辑(如应用GameplayEffect、播放动画等)
-
最后调用EndAbility结束技能
注意事项:
-
需要先检查CommitAbility返回值
-
必须调用EndAbility来正确结束技能
-
可以在派生类中扩展特定功能(如被动技能处理)
相关扩展:
-
被动技能通常需要重写此函数并绑定结束回调监听
-
交互系统(如Lyra)会在此函数中处理交互逻辑
-
可通过GameplayTag配置输入激活方式
(1)检查两件事: 技能是否冷却中 \ 法力是否足够
virtual bool CommitAbility(const FGameplayAbility
虚幻引擎UE5技能系统开发实现方法

最低0.47元/天 解锁文章
1249

被折叠的 条评论
为什么被折叠?



