引言
在Uniity的Animator中,有一个用于连接两个动画之间进行转换的东西:Transition。就我自己的理解来记录下我所认为的ExitTime和Duration。
ExitTime
ExitTime翻译成中文就是退出时间。
其中如果需要用到ExitTime,就必须要勾选上Has Exit Time这个选项。
比如我一个动画播放到一半了,然后我的ExitTime刚刚设置到这个地方,那么当前这个动画就结束了,立即播放与这个动画用Transition连接的另外一个动画。(如果没有设置Duration)
然后ExitTime其实是个百分比,比如它的值为0.5,可以理解为当这个动画播放到百分之50的时候会被打断。当然这个值是可以大于一的,我做了下测试,当你勾选上该动画的Loop Time的时候(也就是允许该动画循环播放),你的Exit Time设置为2,那么这个动画会连续播放两边,之后再退出该动画。当然你不勾选Loop Time,不论你Exit Time设置多少,它最多只播放一遍,然后退出该动画。
所以ExitTime可以理解为打断当前动画。当然要满足ExitTime的时机。
Duration
Duration翻译为持续时间。
这个主要是用来动画过渡的。
其中Transition Duration为百分比时间段,比如该值为0.5,意思就是在该动画播放到一半的时候开始过渡动画,它会让该动画和下一个动画一起播放,就实现了过渡的效果。
可以这样想:你现在在跑步接力赛,你跑到了你的下一个队友旁边,当他刚刚起步的时候(他可以在没拿到接力棒的时候先起步)可以看作Duration被激活了(也就是刚刚到Transition Duration这个时间点),此时你们俩都在跑,相当于你们两都在进行跑步的动画,当你停下来的时候,你的动画就结束了,其中从他开始跑一直到你停下来,这个时间段就算过渡时间。
总结意思就是我还没完成我的动画,与该动画连接的动画会先执行,达到了动画过渡效果。