之前的文章中,我使用的都是固定的数值来设置血量回复或者蓝量回复,在这篇文章里面,介绍一下使用曲线表格。通过曲线表格我们可以设置多个数值,然后通过去通过修改索引对应的数值去修改回复的血量或者蓝量。
创建曲线表格
首先创建一个曲线表格,在其它里面找到
然后可以根据需求选择插值类型,线性,四舍五入,贝塞尔
曲线表格推荐以CT为前缀进行区分
然后点击按钮添加新列,点击+曲线可以额外加一行,所以我们可以将多种数据存到一个表中。
接下来我们只做十个等级的数值,对应血量回复和蓝量回复
可以点击查看曲线走势
我们还可以通过拖拽曲线上的白点,让曲线更加圆滑
使用曲线表格
接着打开GE,在Modifiers这里选择使用曲线表格
接着选择使用哪一行的数据
设置完成后,现在上面的数字不再是一个固定回血的数值了,而是选择使用表格数据的那一列的数值,我们还可以拖拽滑块来预览数值,并且这个数值还可以设置浮点数,不需要非要是整数。
到这里,就实现了曲线表格的应用。
修改应用的数值
我们创建的曲线表格对应着10个等级,现在还没有实现通过等级修改回血量。要实现这个功能,我们需要在之前类里面增加一个设置等级的属性
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Apply Effects")float ActorLevel = 1.f;
然后在创建GE实例这里,将等级设置上去
const FGameplayEffectSpecHandle EffectSpecHandle = TargetASC->MakeOutgoingSpec(GameplayEffectClass, ActorLevel, EffectContextHandle);
如果用蓝图连的也需要将参数链接到对应的Level上面
接着,就可以运行游戏进行测试,在实例的右侧直接修改等级
运行游戏测试即可。