MMO中的技能系统实现

使用了一套基于蓝图的节点式技能系统。使用了节点图,每个节点内使用时间线。

蓝图基本结构

基本结构如下:

out
active
finish
out
out
out
SkillStart
PlayAnimator
CylinderSummon
SomeThingFinish
PlayEffect
DamageHP
HitBack

蓝图节点从入度为0的节点开始执行。
节点内的逻辑会触发不同的输出信号
输出型号传递给下游的节点执行逻辑
一般来说单个节点只执行一件简单的事情。
节点类型大致分为:

节点说明
动画节点主要包含播放动画,
检测节点主要用于检测,比如检测CD,检测输入,
目标筛选主要用于目标筛选,比如圆形法术场,锁定当前选择目标等
功能性节点主要是技能开始,相机轨迹等

节点同步

在节点运行时,分三部分,本机,本机的其他客户端,服务器,彼此间只同步非正常结束的消息。
技能节点在执行时,会产生一个令牌,由本机或者服务器所有。消息同步由令牌发起端发起,接受者执行。

  1. 对客户端判定机制的,令牌由客户端所有
  2. 结算相关由服务器所有
  3. 除了1,2的其他节点,主机触发的技能(输入信号)由本级所有。非主动触发技能由服务器所有。
one
in
SkillStart
SkillCast

蓝图技能系统的优势

高度可定制化

每一个节点只需关注自身的逻辑和输入输出。节点间的关系可以由不同的需求进行连线,高度的可定制化。

同步开销小

只同步了需要同步的信息,同步的开销比较小

编辑器友好

可以支持编辑器在线调试

支持强表现

可以把部分节点放在客户端执行,较好实现强表现的技能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值