例如:
我有10个动画可以玩,而他们所做的只是动画一只手
在第一个 3 动画中,长度 2.5 ,我将fadeLength设置为0.6。 (第一)
下一个 4 动画的长度 1.333 ,我将fadeLength设置为0.3。 (第二)
在最后 3 动画中,长度 2.5 ,我也将fadeLength设置为0.6。 (第三次)
当我点击播放时,它会以Animation.CrossFadeQueued(name, fadeLength, QueueMode.CompleteOthers)
播放每个动画
前三个是正确播放的(第一个)。然后是最后三个(第三个)
这是问题,跳过了fadeLength 0.3的4个动画( second )。就在那些6(第一个和第三个)动画结束时,播放了必须播放的4个( second )动画,但它不会结束,它会冻结。
如何在动画队列中使用不同的fadeLength?他们真的必须排队,以便他们可以在他们之间褪色。
GameObject HERO = GameObject.FindGameObjectWithTag("hero");
Animation ANIM = HERO.GetComponent<Animation>();
// first
ANIM.CrossFadeQueued("long_move0", 0.6F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("long_move1", 0.6F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("long_move2", 0.6F, QueueMode.CompleteOthers);
// second
ANIM.CrossFadeQueued("small_move0", 0.3F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("small_move1", 0.3F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("small_move2", 0.3F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("small_move3", 0.3F, QueueMode.CompleteOthers);
// third
ANIM.CrossFadeQueued("long_move3", 0.6F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("long_move4", 0.6F, QueueMode.CompleteOthers);
ANIM.CrossFadeQueued("long_move5", 0.6F, QueueMode.CompleteOthers);
播放时,遵循以下顺序: