Unity3D的Animator中的animation transition参数细节

请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

动画剪辑之间的transition

选项 描述
Has Exit Time 如果设置为true,则仅在指定的动画剪辑已经播放了给定百分比之后,才启用动画剪辑过渡(transition)。 如果禁用,则将在满足其过渡条件后,立即进行切换。 如果要创建由若干个动画剪辑组成的序列,请将其设置为true。
Exit Time 这是满足“Has Exit Time”选项勾选后,指定的播放动画长度的百分比(0-1范围)。 例如,如果将其设置为0.5,则在播放了50%的动画剪辑后,当满足转换条件后,动画的状态将转换。
Fixed Duration 这个属性将和下一个属性“ Transition Duration (s)”结合使用。如果本选项启用,的财产与下一个过渡期间结合在一起。 如果启用,则Transition Duration (s) 项以为单位;如果关闭,则以动画播放时间的百分比表示。
Transition Duration (s) 动画状态过渡所需的时间。 这是从一个动画剪辑过渡到另一个所用的时间。 在过渡期间动画剪辑会被混合在一起。 过渡时间越长,会让动画剪辑转换得更平滑些,否则就转换得更锐利。一个好的默认值是大约0.25。
Transition Offset 选项会把待处理的目标动画开始时刻做偏移。该值以动画剪辑的播放百分比表示。 比如将其设置为0.3。意思是说,当从动画剪辑A过渡到动画剪辑B时,那么A过渡到B之后,会从B的30%处开始播放,而不会从B的开始刻度处开始播放。
Interruption Source 此设置告诉Unity某个动画剪辑过渡。是否可以被其他过渡打断。 例如动画系统下有一个默认的Idle动画,Idle动画有Jump动画分支和Walk动画分支,而Walk动画分支下又有一个Jump1动画分支,当我们同时满足两个Jump动画的切换条件时,Interruption Source就可以判断优先从哪个动画源切换到Jump或Jump1。Interruption Source中四个选项如下表中的几个选项的一个

Interruption Source的各个选项表

选项 描述
None 关闭Interruption Source选项
Current State: 从当前源打断
Next State 从下一个源打断
Current State then Next State 优先从当前源打断,如果当前源不能切换到下一个状态则从下一个源打断。
Next State then Current State 和上一个选项相反
Ordered Interruption If set to false, this lets the transition be interrupted by other transitions independently of their order. If set to true,the order of the transitions matters.

从上面的表可以看出,Interrupiton Source的选项的细节说明,Unity3D提供的官方文档是极度反人类的。要彻底弄懂它,必须读这个文章:Wait, I’ve changed my mind! State Machine Transition interruptions

参考链接

Unity动画过渡 Animator- Interruption Source用法 Unity - Mecanim Transitions interruptions - Unity Mecanim状态机转换中断(主要是Intteruption Source) Wait, I’ve changed my mind! State Machine Transition interruptions