1. 游戏技能系统(Gameplay Ability System,简称GAS)插件介绍

这里先引用虚幻官方文档中的一段话:

游戏技能系统是一个高度灵活的框架,可用于构建你可能会在RPG或MOBA游戏中看到的技能和属性。你可以构建可供游戏中的角色使用的动作或被动技能,实现各种属性累积或损耗的状态效果,实现约束这些动作使用的"冷却"计时器或资源消耗,更改技能等级及每个技能等级的技能效果,激活粒子或音效,等等。简单来说,此系统可帮助你在任何现代RPG或MOBA游戏中设计、实现及高效关联各种游戏中的技能,即可以包括跳跃等简单技能,也包括任何你喜欢的角色的复杂技能集合。

GAS插件是由Epic Games开发,并随着Unreal Engine 4一并推出的。其用法已经在3A级商业游戏(比如Paragon和Fortnite等)中进行了测试和验证。

这个插件针对单人及多人游戏提供了一套开箱即用的方案,其内容主要包括:

  • 实现了基于等级的角色能力或技能,并可以配置相应的消耗和冷却时间(参见GameplayAbilities相关章节)
  • 操作actor的 Attributes (属性,参见Attributes相关章节)
  • 为actor施加状态效果(参见GameplayEffects相关章节)
  • 为actor标记GameplayTags(Gameplay标签,参见GameplayTags相关章节)
  • 生成视觉或是声音效果(参见GameplayCues相关章节)
  • 针对上述所有内容的网络复制

在多人游戏中,GAS针对客户端预测(client-side prediction )也做了一些方面的支持:

  • 技能的激活
  • 播放动画蒙太奇
  • 修改Attributes
  • 应用GameplayTags
  • 生成GameplayCues
  • 通过连接到 CharacterMovementComponentRootMotionSource函数进行运动

GAS必须使用C++来进行设置,但是GameplayAbilitiesGameplayEffects可以由设计师通过蓝图来进行创建。

GAS目前也存在的一些问题:

  • GameplayEffect延迟调节(不能预测技能冷却时间而导致高延迟的玩家与低延迟的玩家相比,其低冷却的技能频率是更低的)
  • 无法预测GameplayEffect的移除操作。但是,我们可以预测添加GameplayEffects的操作,从而预测其反向效果,从而高效得对效果进行清除。但这也并不总总是是合理或可行的,所以这一块目前仍然是一个问题
  • 缺少规范性的模板,多人游戏的示例,以及相应的文档。希望本文能够有助于解决这个问题
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值