据我了解,GameplayAbilities不需要通过网络进行复制以更新GameplayAttributes,因为它们不会直接影响属性。相反,这是GameplayEffects的任务。
那么通过网络更新GameplayAbilitySystem属性值(FGameplayAttributeData
)是什么?
给出背景:我有一个属性修改系统,在该系统中我需要几个“基本值”。这些“基本值”很少更改,而“最终值”经常更改。使用GAS可以做到这一点
FGameplayAttributeData
添加其他float成员如果仅GE通过网络发送(而不发送属性),那么我会选择(2),因为属性的大小与带宽无关。
答案 0 :(得分:0)
两个都被复制!
FActiveGameplayEffectsContainer::SetBaseAttributeValueFromReplication()
,该函数(尽管名称如此)也将使用现有的聚合器更新当前值。本地机器。为了工作,也... 因此,在给定的示例中,为了节省带宽,对“基本值”(选项(1))使用单独的属性更有意义,因为它们不会经常更新。因此,当“最终值”更改时,就不必复制恒定的“基本值”。