[toc]

# 前言

之前学习过一个技能系统的实现,主要是基于 Prefab 并且自己编写一大堆 Action 然后绑在预制体上来实现的.
但是在游戏开发中有一个问题,就是如果一切基于 Unity 预制体的拖拖拽拽,则最后一定会产生一些难以维护的问题。而且程序的工作量会变得繁大 而且技能依赖于 Buff, 这样互相依赖来依赖去最终会很难管理,自己都不知道那个 Buff 和那个技能依赖起来,虽然可以通过引用关系找到。但是仍然显得很乱很乱 所以想要基于原本的 Action 机制将技能系统抽象出来,抽象成 Data-Origin, 虽然编写 Action 的方式不会发生改变,但是会将其彻底抽象成数据集合来进行技能的配置。 并且基于这个,还需要在编辑的时候考虑到一些边角的问题,比如做技能的时候需要考虑如何更好的可视化,暂时思考以下几个方案
- 先预制体 Mono 配置 -> 转数据 - 自行做技能,所有效果确认无误,直接填数据 - 填数据后可视化演示 (工具工作量有点大) 但是无论哪种方案都逃不过数据结构的确定,所以先在这里确定数据结构

在之前翻知乎时,看到了一张图,能够比较直白且简单的介绍一个技能流程中会发生什么事情

即,角色系统与技能系统的触发关系极其简单,其实重点麻烦的地方在于后面检测和效果等部分的调参和内容的填写 又找到一篇文章,https://www.pianshen.com/article/19441851701/ 后面将根据这些和原有内容进行技能系统的短期迭代,直到脉络清晰为止