【Unity】动画播放与GameObject.SetActive()的坑
众所周知,在停止播放一个物体的动画后,该动画对物体的修改会被“撤销”,物体会回到播放动画之前的默认状态。
然而最近遇到了“停止播放动画后物体无法返回正确的默认状态”的问题。。。
测试后发现原来是中途有开关GameObject的行为。在GameObject被SetActive(false)时,该GameObject会保留此时的状态并将其视为物体的默认状态(即,如果一个“人”在播放行走动画的时候被关闭,再次打开时,这个“人”的默认状态就变成了行走的某一帧,无论行走动画是否播放)
解决方案:在关闭物体前先使其回到默认状态(停止动画的播放)