蓝图节点一览

介绍

GGA对GameplayAbilities插件进行了大量的拓展,且被划分到不同的蓝图函数库。

这意味着,大多数情况下:

  1. 你不需要编写C++。
  2. 采用函数库,大多数功能不需要你更改已经存在的GameplayAbility父类。

蓝图函数库

很多拓展我都尽可能写在了函数库中,这意味着你不需要Cast到GGA中的具体的AbilitySystemComponent才能使用这些功能。

大多数在蓝图中不容易访问的内容,都已经被拓展并暴露给蓝图。

这些拓展库会随着时间推移不断增加,所以实际的拓展内容不仅仅只是截图展示那样。

技能系统函数库

此函数库,主要是对AbilitySystemComponent的拓展,以及GameplayAbilities这个插件的一些全局拓展。

gga nodes 1
gga nodes 2
gga nodes 3

游戏技能函数库

gga nodes 4

游戏效果函数库

gga nodes 5
gga nodes 6

游戏属性函数库

游戏属性的拓展属于Gameplay属性系统部分,请查阅相关文档,获取更多信息。

gga nodes 7
gga nodes 8

AbilityTask

如下只是一些截图,提供的Task会逐步添加。

gga nodes 9
gga nodes 10

自定义AbilityTask

GAS的高级特性,例如自定义AbilityTask,仍然需要你使用C++,但是GGA已经包含了常见的AbilityTask且比较通用,对于大多数常见功能,你不需要自定义。

自定义GameplayEffectContext

GameplayEffectContext用于在技能/效果执行周期中,传递一些额外的数据且支持网络同步,但只能在C++完成。

现存的很多GAS教学都告诉你这是最佳的传递信息的方式,但其实并不是。

拿我自己的战斗系统举例:

我在我在蓝图中处理所有的属性更变(它发生在服务端,以及预测客户端。),并将Ability/Effect本身的信息,属性变更信息,连同额外的信息(攻击请求,攻击结果等信息)放入一个自定义的结构体,并存入我的战斗系统组件,并通过该组件同步到客户端。既满足我得所有需求,也不需要自定义EffectContext,全都在蓝图中完成。