(Animator详解三) 动画状态转换

如图所示 转换的三个箭头代表此动画过渡到下一个动画的条件有多个

这里的Transitions就是转换 

Solo:勾选代表转换优先执行,如果转换条件有2个或三个以上,并且都勾选了solo,那么满足哪个转换条件,就优先执行哪个过渡,如果同时满足两个条件,那么优先执行最上面的solo转换

(注意:在动画片段这里拖动转换的条件可改变顺序,而转换不可更改顺序)

Mute:勾选表示此状态永远不会被过渡

 


Has Exit Time :表示动画状态执行到某个时间自动跳转到下一个状态;如果有条件那么这个可以不勾选,满足条件后执行;如果既勾选,又满足条件,那么动画执行到exit time后判断条件,满足条件后执行;

Settings 

        Exit Time:动画执行多长时间之后跳转 在时间轴表示左边箭头 0:表示在动画的第一帧开始执行转换,0.5:表示在该动画片段的中间开始转换,如果是1表示在动画的结束帧执行转换,>1表示执行完一个片段在下一个片段的某个时间执行转换

        Fixed Duration:指的是转换的持续时间是按秒计算还是按百分比计算 如果勾选表示按秒,如果不勾选则是按照百分比计算

扫描二维码关注公众号,回复: 14661770 查看本文章

        Transition Duration(s):勾选Fixed Duration 时激活,是按秒计算,这里的过渡时间就是下方动画轴的区间,

        Transition Offset:进入下一个动画状态时的偏移量,为0时,代表转换后从下一个状态的第一帧开始播放,如果是0.5,表示从下一个状态的中间播放

        Interruption Source:表示有哪些转换可以打断当前的这个转换

( 这个属性在官方有个非常详尽的文章,感兴趣的可以去参考一下)Wait, I’ve changed my mind! State Machine Transition interruptions | Unity Blog

                                        none  :不可被打断

                                        Current State:当前状态可打断

                                        Next State:下一个状态可打断

                                        Current State Then Next State:当前状态过渡到下一个状态之间都可被打断 当前状态优先级高(这里的打断并不是没有优先级,例子里,A→C的优先级最高,优先打断)

                                        Next State Then Current State:下一个状态过渡到当前状态之间可被打断 下一个状态优先级高

        Ordered Interruption:勾选表示按照顺序打断,只有优先级比当前转换更高的转换才可以打断当前的转换;不勾选表示任意状态都可打断当前状态

这里举个例子方便理解,比如有4个动画状态分别设置过渡条件

A→B ;A→C ;A→D;B→C;B→D;C→D 

如果是CurrentState  那么当A 执行到B的过程中可以被A→C打断   越靠上的转换优先级越高


下方的时间轴就是动画状态过渡的融合图 蓝色表示会被播放的片段

动画的状态图中的白线就是root motion在水平方向的位移

Conditions 就是所满足的条件,与Animator的Parameters对应,可以设置多个条件,他们的关系是逻辑与 也就是都满足之后才会执行动画转换 

猜你喜欢

转载自blog.csdn.net/qq1084327456/article/details/127643299