Unity-Animator深入系列---测试CrossFade和CrossFadeInFixedTime

回到 Animator深入系列总目录

 

CrossFade是按照动画的自身时间进行混合。如果动画10秒,混合持续时间0.2,会在2秒后混合完成

CrossFadeInFixedTime是按照实际时间进行混合。如果动画10秒,混合持续时间0.2,会在0.2秒后混合完成

 

使用CrossFade或CrossFadeInFixedTime混合时,如果混合时间大于动画自身长度,动画自身会被滞留在最后一帧,直到混合结束

 

 


 

以下是对此进行实际测试的结果:

 

 

测试脚本

void OnEnable()
{
    //anim.CrossFadeInFixedTime("A2", 0.2f); test
    anim.CrossFade("A2", 0.2f);
}

void Update()
{
    if (anim.GetCurrentAnimatorStateInfo(0).IsName("A2"))
    {
        Debug.Log(Time.time);
        enabled = false;
    }
}

 

 

测试结果:

CrossFadeInFixedTime

 

 

CrossFade

posted @ 2016-08-16 21:11  HONT  阅读(18881)  评论(0编辑  收藏  举报