信息
文章中可能会出现一些错误,希望大佬们可以在评论区指出错误,感谢支持!
01 - GAS基本概念和组成
本文主要说明了UE5中Gameplay技能系统(Gameplay Ability System, GAS)中的基本概念和组成。
Gameplay技能系统
概述
Gameplay技能系统(Gameplay Ability System)是一种框架,它可以构建Actor可以拥有和触发的属性Attributes,技能Ability和交互GameplayEffect。该系统可适应各种各样的Gameplay驱动项目,例如角色扮演游戏RPG,动作冒险游戏和多玩家在线战术经济MOBA等。
GAS是管理下述概念的系统框架:
- 属性Attributes:人物的各种数值属性,例如生命值,伤害值等;
- 技能Abilities:人物的各种行为,例如播放动画、造成伤害等;
- 效果Effects:导致Attribute值改变的游戏机制,例如让生命值回复的治疗buff;
- 特效Cues:和游戏机制相关的视/声效等;
组成
这些概念在UE5的GAS中由如下基本组件构成:
- Ability System Component:是让Actor参与到GAS的核心组件,它可以让Actor受到GAS中GameplayEffect的影响,进而处理Ability相关的功能;
- Attribute Set:负责存储多个Attribute;
- Gameplay Ability:封装Actor的行为,使之与GAS中的GameplayEffect,视觉效果,动画、声音等组件进行协作;
- Ability Task:在GAS中的Gameplay Ability执行期间,异步执行相关工作;
- Gameplay Effects:可以改变Attribute值,在网络同步上允许客户端预测,服务端回滚;
- Gameplay Cue:处理GAS中的视/声效,也负责这些效果的网络同步;
- Gameplay Tags:虽然不属于GAS,但在其中被广泛应用,主要用于分类管理Actor;
使用搭配
在使用GAS前,请确保在编辑器中启用相关插件,在
Build.cs中包含相关模块。
对于不复杂的Actor,可用Pawn+ASC+Attribute Set完成简单GAS功能;
对于复杂的Actor(例如玩家本身),则推荐用Player State+ASC+Attribute Set完成GAS相关功能。