- Character类挂载ASC(AbilitySystemComponent)
- 创建GA(GamplayAbility)
- 将GA添加到Character的AbilityToAdd容器中
- 在Character的beginplay时初始化actorinfo并用giveAbility将AbilityToAdd容器中所有能力及其Tag注册到ASC中
- 注册时获取GA的handle存在Character这个i部分
- 所有注册的能力存在ASC的ActivatableAbilities中,使用能力时根据Tag从中取出能力
- Character在开始时输入组件绑定事件到输入时触发
- 按键时触发事件找到对应的Tag,带着Tag到ASC中找对应的能力
- 找到对应能力后添加到Spec容器中
- PlayerController不断触发PostProcessInput检测ASC的Spec容器中是否有要激活的能力
- 发现有要激活的能力后,处理ASC的Spec容器中的能力,激活or释放,并清除Spec容器
- 激活之后走到具体能力的CanActivateAbility,检测可以激活后走到Activate Ability
UE5的GAS大致流程梳理
于 2025-07-18 16:38:22 首次发布
2855

被折叠的 条评论
为什么被折叠?



