unity3D Animator 播放界面动画第一帧闪烁问题

Animator 播放一个界面动画,如果动画是把界面从屏幕外面移动到屏幕内部的时候。打开界面就会显示界面的默认位置,然后播放Animator,然后Animator在会去在第一帧矫正界面的位置。就会出现一个问题,界面会先出现闪一下,在执行动画过程。


【unity3D Animator 播放界面动画第一帧闪烁问题】这里有一个解决的办法,思路是打开界面,首先播放Animator第一帧,校正界面的位置,然后Animator enable false,最后利用协程或是其他方法在下一帧Animator enable true。经过测试,就可以解决第一帧闪界面的问题。



animator.Play(stateName); animator.enabled = false; animator.Update(0f); DOTween.Sequence() .AppendInterval(0) .AppendCallback ( () => { animator.enabled = true; } ) .Play();




这里代码,先播放特定的状态,然后利用Update(0)来强制校正第一帧界面的位置。 然后利用DOTween的队列延迟一帧去回复Animator的播放。当然也可以用协程就做这个事情。

    推荐阅读