回到 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
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnaugjM4QTM1cTOtEDO3cDMwETMyYTM4AjNxAjMtkDMwkTM18CX4AjNxAjMvwVOwATOxUzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.jpg)
CrossFade