開源可視化有限狀態機編輯器


用過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": 1
13                         }
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": 1
31                         }
32                     ],
33                     "nextState": "idle"
34                 }
35             ],
36             "animation": "run_animation"
37         }
38     ]
39 }

 

后續再給出demo和針對egret的dragonBones的一些便捷用法,這篇先到這里吧:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM