GAS技能系统 GameplayTags

HUT -》 在\Intermediate\Build\Win64\UE4Editor\Inc\的目录下   找到generated 头文件和cpp文件  里面有HUT根据UCLASS 和 Generate Body 生成的 定义 以及声明宏(UFUNCTION 里的CustomThunk元可以让用户自己手动添加宏定义和宏声明)


 

 

 

 将wildcard改为通配符

 

 

 

 

然后手动将自定义的通配符计入栈中  

 

 

 

 

 

GameplayTags

 

 

 

 

 

用GAS 要加模块 需要把插件里的GamplayAblity插件启用

 

 

 

 attributeSet 用来记录属性

用三个宏记录属性   

 

 

 

 用GA的角色需要继承Abilityinterface接口

 

我的个人理解:

GAS 基本上分为这几步:

  先建立一个相应的GameplayTags标签的层级,然后将GameplayTags的层级与GamePlayAbility建立关系

    1.要在角色组件上加载AbilityComponent组件 

    2.要创建GA ,即GameplayAbility 实例,再在角色上创建用来存储GA的GA数组。

    3.在AbilityComponent上给添加上相对的GA -》GiveAbility  GA(即是技能的动作表象),将GA数组中存储的GA依次加入到组件中去。

    4.创建AttributeSet  实例  将属性写入其中,在写得时候要使用宏定义的方式,因为要配套UHT中的反射机制,然后再将自建的AttributeSet实例添加到角色中。

    5.创建GE(GameplayEffect即为技能产生的效果), 在GE中写对应的AttributeSet中属性的使用和数学计算,在GA中绑定GE.

  准备工作做完,开始在角色中使用GA,利用Try Activate Abilities by Tag 节点来使用AbilityComponent中的GA技能。

posted @ 2022-11-01 12:10  蜡笔小新紫南  阅读(139)  评论(0编辑  收藏  举报