基于Flux扩展开发的UnityAct技能编辑器, 集成Mirror支持局域网联机,实现只通过配置就可以制作技能
基本思路是在编辑器时将技能的数据序列化,播放技能时是读取所有事件组成序列Sequence.然后根据事件的start帧触发事件,直到所有事件完成
Unity版本建议2020.3以上
项目内的美术素材仅供演示使用, 禁止用于商业相关.
目前项目的代码和 Mirror高度绑定,耦合性比较高,不推荐移植...
由于只想做战斗系统,框架上就做得比较随意了。等有时间想学习下其他人的框架,完善下网络系统。
别人的优秀框架:YooAseet ,猫刀刀的MDDSkillEngine ,烟雨的et7 ,MotionFramework
对项目有什么建议的话,欢迎留言
Flux ,Mirror, NaughtyAttributes , XiaoCaoTool ,QianMo/X-PostProcessing-Library ,Luban,DoTween
Mirror: 网络框架 ,优点是不用写服务器代码, 缺点只适用于小型项目,如果只想单机逻辑改起来有难度。
NaughtyAttributes: 是一个轻量级的编辑器扩展,强烈推荐,也推荐它的作者的开源项目
XiaoCaoTool: 受NaughtyAttributes启发,制作的XiaoCaoWindow编辑器扩展,快速搭建编辑器窗口,也包含部分开发小工具
效果demo展示: https://www.bilibili.com/video/BV18m4y1675a
pc试玩demo: https://share.weiyun.com/ik4O15hD)
打开SkillEditor.scene
然后打开Flux:菜单Window/Flux/Open Editor
在Flux窗口选择一个技能就可以编辑了
编辑完成,就可以保存了.
保存:右上角的保存按钮 或者 在Scene里选中Sequence 右键/Xiaocao/保存选中Seq
(1)一个角色有两个Animator, 是为了防止Flux编辑时乱连, 在Editor场景中使用editor
(2)技能id和额外的配置
一般放于Resources/SkillEffet下,当然你也可以修改成别的加载方式
加载代码可以看RunTimePoolManager的LoadResPoolObj()
分玩家坐标系和世界坐标
玩家坐标系(默认): 生成物体时,以玩家的相对坐标系生成物体
世界坐标: 技能触发时刻的玩家坐标系,不受之后玩家移动的影响
对于玩家坐标系的物体,需要放在PlayerConstraint下
更改坐标系:
菜单Window/Flux/Open Inspector
然后选中一个Timeline
Resources/Charecter 角色
Resources/ResUsing 配置
其中SkiillKeyCodeSo是配置技能按键和图标和cd,没配置按键的技能则为被动技能
技能的excel配置(Luban): 菜单Tools/配置
使用的Luban,所以应该需要安装.net 4.0
收藏夹:菜单Tools/XiaoCao/收藏夹
动画预览窗口:菜单Tools/XiaoCao/动画预览窗口