基于ParadoxNotion Slate的帧同步技能编辑器,博客链接:ParadoxNotion-Slate学习笔记与拓展计划
本项目只作为一个最小使用案例,工业级的使用案例请参见:基于ET框架致敬LOL的Moba游戏,包含完整的客户端与服务端交互,热更新,基于双端行为树的技能系统,更多精彩等你发现!
项目使用了两款插件,请自行购买并导入Assets/Plugins/目录中
- 基于帧同步的技能系统运行时
- 重写Slate创建Group的编辑器界面代码
- 部分Action库
- 技能数据的编辑与导出
- 测试用例
在Scene场景新建一个游戏物体,并添加图中组件
主要功能为编辑数据和导出数据
新建一个Skil Group
新建Action
选中Action即可在Inspector预览和编辑数据
点击导出数据
在Scene场景新建一个游戏物体,并为其添加图中组件
运行游戏,回车键为重新执行技能,空格键为暂停/恢复技能运行
下列更改内容需要您手动将链接中的文件替换到Slate插件中
由于我们需要用Odin在Inpsector绘制内容,所以需要更改Slate自带的CustomEditor绘制:
- 替换Plugins/ParadoxNotion/SLATE Cinematic Sequencer/Design/Editor/Inspectors/ActionClipInspector.cs
- 替换Plugins/ParadoxNotion/SLATE Cinematic Sequencer/Design/Editor/Inspectors/CutsceneInspector.cs
由于我们为了分离数据运行时逻辑,采用了较为复杂的引用和层级关系,所以需要借助Odin的序列化,也就需要更改Slate ActionClip的继承对象为SerializedMonoBehaviour:
出于个人喜好和可拓展性的考虑,重写了CutSceneEditor部分代码:
现在支持从搜索栏左侧的加号按钮新增Group