欢迎光临散文网 会员登陆 & 注册

Unity笔记——Animator动画状态机中动画切换的优先级和动画切换的中断处理

2023-08-11 07:53 作者:黑白色的枫  | 我要投稿

动画切换的优先级

在unity的Animator动画状态机中,一个动画可能会有切换到多个动画的可能,这些切换具有一定的优先级,并且可以手动调整。

ground地面站立动画、jump跳跃动画、fall下落动画相互可以切换

选中jump动画,在Inspector面板中的Transitions中可以看到从jump分别可以切换过渡到ground、fall两个动画。

Transitions的部分可以看到动画有几个过渡

Transitions这个列表里的项目可以根据需要进行拖动,修改过渡的优先级,在同时满足条件的情况下,在列表上面的优先级更高。

拖动可调整过渡的优先级

动画切换的中断处理

选中动画之间的箭头,在Settings中可以找到Interruption SourceOrdered Interruption两个参数

Interruption Source的五个选项

Interruption Source规定了当前动画和下个动画哪个可以中断过渡。

jump动画切换过渡到fall动画,jump动画就是Current State当前动画,fall就是Next State下个动画。

Current State:当前状态jump动画在切换到fall动画的过程中满足了jump动画切换到ground动画的条件,就会立刻开始向ground动画切换。

Next State:下个状态,fall如果有向其他动画的切换,例如翻滚,满足条件后就会立刻中断jump向fall的过渡,开始当前状态向翻滚动画过渡。

Current State Then Next State:优先当前状态,然后是下个状态,如果jump和fall同时都满足向其他动画切换的条件,优先执行jump动画向其他动画的切换,例如站立。

Next State Then Current State优先下个状态,然后是当前状态,如果jump和fall同时都满足向其他动画切换的条件,优先执行fall动画向其他动画的切换,例如翻滚。


Ordered Interruption参数,勾上表示只有只有优先级比自己高的动画可以中断这个过渡,取消勾选表示不论优先级的高低都可以中断。

优先级

如果勾上以后,junp正在向fall过渡,同时又满足了向ground切换的条件,就会中断当前的过渡,开始向ground动画过渡。如果ground优先级比fall低,就不会中断向fall的过渡。

如果取消勾选,即使ground优先级比fall低,也可以中断jump向其他动画的过渡,开始向ground过渡。

取消勾选的情况下,如果有一个优先级比自己高,一个比自己低的两个动画同时满足条件,会根据优先级进行中断和过渡。

3D动画过渡会从当前的地方开始向目标动画进行过渡,unity会自动计算过渡的动画会怎样进行变化,这个推测对2D动画不起作用。


本文是在观看了傅老师的黑魂复刻P22后get到的知识点,并根据百度到的知乎文章加强了理解后,通过自己的理解写下的笔记,原文写的更好建议直接看原文_(:з」∠)_

Animator- Interruption Source用法 - JIANG的文章 - 知乎 https://zhuanlan.zhihu.com/p/36244526



Unity笔记——Animator动画状态机中动画切换的优先级和动画切换的中断处理的评论 (共 条)

分享到微博请遵守国家法律