注:本分享主要面向策划,重点介绍GAS框架的思想,以期拓展技能机制的设计思路,其中设计技术实现的部分,可参见:
在文中如果出现UE4中实现的注意事项,会用(UE_Note)标记。
https://blog.csdn.net/pirate310/article/details/106311256 GasShooter演示项目的示例文档。
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/GameplayAbilitySystem/index.html 官方GAS文档
当然最好的文档是源码: Plugins/Runtime/GameplayAbilities/
技能系统应该包括哪些功能?
逻辑:
-
技能的获得和施放。
-
各种触发效果、条件判断。
-
Buff系统
视听效果:
-
角色动画
-
特效
-
音效
数据:
-
属性系统
-
数据配置
GAS框架的主要组成 :
GAS框架如何实现技能需求:
技能的所有者:AbilitySystemComponent。
技能的逻辑:GameplayAbility。
技能效果:GameplayEffect。
技能修改的属性:AttributeSet。
技能涉及的条件:GameplayTag。
技能视频音频:GameplayCue。
技能的异步行动:GameplayTask。
技能目标:GameplayTaskActor。
其中,GameplayTask和GameplayTag是UE4Gameplay框架原有的概念,但在GAS框架中被深度使用。
GAS框架的优缺点:
这张图摘自2020UOD的演讲PPT,列出了EpicGames大钊看来GAS框架的优势和劣势。
GAS框架的一个主要优势,在于将一个技能的各个逻辑进行了适当的解耦设计,大幅降低了思考粒度,比如在设计一个技能的输入规则、选目标操作、何时触发效果时,不需要考虑效果的具体内容,甚至可以交给另一个完全不了解技能规则,但负责设计效果和数值的人来配置,而不用担心互相之间会产生影响。这点在实际使用时会带来相当大的便利,即时是一个人开发,同一时间也可以专心于一项任务,不用担心会影响之前或之后的工作。
对虚幻使用的DS网络框架来说,GAS实现了较为完善的网络同步和预测机制,几乎所有会影响技能表现的逻辑都实现了客户端的预测及回滚功能。
标签:GameplayAbilitySystem,框架,效果,GAS,UE4,技能 From: https://www.cnblogs.com/yutuerzf/p/16804646.html