首页 > 编程知识 正文

可视化编辑器开发,可视化编辑器原理

时间:2023-05-04 12:30:06 阅读:271971 作者:3927

用过Unity开发的工程师们一定对Mecanim的方便快捷印象深刻,用过之后再也不想回到刀耕火种的时代了。

目前在做egret项目,首先就动手做了一个仿制Mecanim的FSM编辑器。工具做得越早,受益越多。

仓库地址:https://github.com/wonderyue/Animator,欢迎star和fork。

 

简要说明:

State:状态。成员变量中包含Transition数组。

Transition:状态跳转。成员变量包含from(初始状态)和to(跳转状态),以及condition数组。

Condition:跳转条件。成员变量包含Parameter,和logic(因Parameter而异,如number型逻辑包括">","<","=","≠"),value(如bool型value可为true或false)

Parameter:参数。成员变量包含类型(bool,number,trigger,complete,其中complete相当于Mecanim中的exitTime,代表跳转条件为动画播放结束)

 

 

 

示例:

 

 


导出json文件格式:

大概就是下面这样事儿的。为了方便理解,只与编辑器有关的字段我没有给出,如果是用在动画以外的情景使用状态机,animation字段也可以忽视。

1 { 2 "state": [ 3 { 4 "state": "idle", 5 "transition": [ 6 { 7 "condition": [ 8 { 9 "value": 1,10 "logic": 0,11 "id": "run",12 "type": 113 }14 ],15 "nextState": "run"16 }17 ],18 "default": true,19 "animation": "idle_animation"20 },21 {22 "state": "run",23 "transition": [24 {25 "condition": [26 {27 "value": 0,28 "logic": 0,29 "id": "run",30 "type": 131 }32 ],33 "nextState": "idle"34 }35 ],36 "animation": "run_animation"37 }38 ]39 }

 

后续再给出demo和针对egret的dragonBones的一些便捷用法,这篇先到这里吧:)

转载于:https://www.cnblogs.com/wonderday/p/4440118.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。