咨询电话:400-810-1418服务与监督电话:400-810-1418转接2
  • 相关推荐
  • Unreal地形高级材质之根据斜率分配材质
  • UE4偏门实用技巧分享
  • 如何在UE4中制作非写实水面
  • 实用基础小脚本批处理命令Batch
  • HZB是什么?如何在UE4移动端中实现HZB?
  • 夜光引擎的技术分享
  • 国外主流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游戏无界