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