天天看點

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

Unity-Animator深入系列---測試CrossFade和CrossFadeInFixedTime

CrossFade

Unity-Animator深入系列---測試CrossFade和CrossFadeInFixedTime