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技能。