当前位置:首页 >教程首页 > 游戏程序 > 虚幻引擎交互开发工程师班 >国外主流UE4战斗解决方案GAS解析

国外主流UE4战斗解决方案GAS解析

发布时间:2020-09-11 09:23:45

作为目前国外主流的UE4战斗解决方案GAS,是否适合国内MMO项目开发?希望本文能帮助各位游戏开发者在实际研发中做出合适的决定。

一、综述

本文简要描述了GAS战斗伤害的原理和实现流程。

第一节 概述各主要类和蓝图的核心代码功能

第二节 简述该战斗系统的优缺点

第三节 与传统mmo的战斗系统对比

通过介绍,希望达到以下目的:

作为目前国外主流的UE4战斗解决方案GAS,是否适合国内MMO项目开发,或者说是自己开发一个基于UE4的战斗框架更好,希望通过本篇文章帮助大家进一步了解GAS的同时,在实际项目开发中做出决定。

二、核心功能

2.1 角色Character

主要围绕ACharater派生类展开,与角色相关的类关系如下图:

0.png

BP_Character配置技能和属性:

1.webp.jpg

BP_Effect初始化属性:

2.webp.jpg

2.2 技能Ability

技能主要流程,主要围绕UGameplayAbility派生类展开,类关系如下图:

3.webp.jpg

BP_Ability技能蓝图置顶Effect:

4.webp.jpg

2.3 效果Effect

实现战斗伤害计算,核心类UGameplayEffect,编辑UGameplayEffect蓝图实现技能和buff效果,类关系如下图:

5.webp.jpg

BP_Effect蓝图两种伤害计算方式:

6.webp.jpg

2.4 表现Cue

实现GAS中的表现部分,比如粒子特效或音效等等。

基本步骤:

1.创建Cue蓝图并把蓝图指定给对应的Tag:

7.webp.jpg

2.打开Effect蓝图指定Cue;

8.webp.jpg

3.Cue蓝图编辑效果(触发粒子特效什么的);

注意gameplaycue服务器不创建,由Rpc调用各个客户端的GAS在每个客户端创建。

三、优缺点

优点:

1.基于UE4蓝图继承,使匹配类型的大型多人互动游戏可以节省很多开发时间;

2.我们开发类似模块的参考:哪些逻辑放在c++里好哪些放在蓝图里好,主要是方便项目迭代;

3.基本做到了面向数据的实现方式,策划自由度高。

缺点:

1.做一些扩展功能和改变细节时需要写c++,比如基础modify配置无法满足时要自己派生calculation;

2.对于各种不同类型的项目细节支持度不够,比如创建只有自己看得见的Cue也要改代码等等。

四、与传统mmd做法的区别

1.将Damage和Buff的概念合为Effect,个人觉得在性能上略差,但对策划更友好。

2.蓝图可视化编辑战斗流程,节约程序员的开发时间。

作者:Tigger

来源:腾讯GWB游戏无界

学员作品赏析
  • 2101期学员李思庭作品

    2101期学员李思庭作品

  • 2104期学员林雪茹作品

    2104期学员林雪茹作品

  • 2107期学员赵凌作品

    2107期学员赵凌作品

  • 2107期学员赵燃作品

    2107期学员赵燃作品

  • 2106期学员徐正浩作品

    2106期学员徐正浩作品

  • 2106期学员弓莉作品

    2106期学员弓莉作品

  • 2105期学员白羽新作品

    2105期学员白羽新作品

  • 2107期学员王佳蕊作品

    2107期学员王佳蕊作品

专业问题咨询

你担心的问题,火星帮你解答
×

确定