原生编辑器_技能编辑器的设计实现

本文介绍了技能编辑器的设计思路,重点在于技能Timeline的实现,选择了Slate作为时间轴框架并进行定制,以满足配置者对技能每一时刻行为的详细配置需求。此外,还探讨了数据驱动绘制的必要性,以应对技能系统庞大的数据表和频繁的开发期改动,以及多人协作时ID分配和数据文件冲突的解决方案。
摘要由CSDN通过智能技术生成

f3e025e4ef9a78583cd5eac3fb6750ad.png

前言

记一下之前做技能编辑器的思路、不会涉及到怎么具体实现一个技能编辑器。

技能Timeline

如何配置技能?

对于配置者来说,需要明确知道技能释放过程中每一时刻(甚至需要精确到帧)会发生什么事。比如什么时候播放施法音效、施法特效、播什么动作播多久、在什么时刻进行伤害结算。所以很直观的想到需要使用到时间轴(timeline),在时间轴上进行配置。

选择什么样的时间轴框架?

Unity自带的Timeline、Slate、Flux(当时在这三个中选择)

1.Unity自带的Timeline :没有源码、黑盒开发、太重度

2.Flux和Slate都差不多,可以自己改造。因为Slate的clip上可以定制一些内容再加上界面看起来舒服、最终选择了Slate(感兴趣的可以自己研究一下Slate和Flux)

58112fbe3a1e4388012721f4611e1fc9.png
slate原生界面

定制后(去掉一些不需要的功能、增加一些需要的功能)

eedf53064cd3f484b6f2f17d6b0ce7df.png
定制后

自己定制(基于项目还有自己的理解搞的、不一定有什么参考价值、就不细说了)。

直接抽成一个比较轻量的编辑器时间轴框架(剧情对白镜头编辑器也可以接这个框架进行实现),方便定制Track、Clip。

编辑器这边只要传进来一个Sequence就可以绘制出时间轴来了。下面是整个时间轴数据Sequence的代码结构

a4cb998b4dc177278d0eeaa8e0781ff1.png
基类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值