Unity-Animator深入系列---测试CrossFade和CrossFadeInFixedTime
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