注:本分享主要面向策划,重点介绍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实现了较为完善的网络同步和预测机制,几乎所有会影响技能表现的逻辑都实现了客户端的预测及回滚功能。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

原文地址:http://www.cnblogs.com/yutuerzf/p/16804646.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性