【Unity】動畫播放與GameObject.SetActive()的坑

林骁發表於2024-06-28

眾所周知,在停止播放一個物體的動畫後,該動畫對物體的修改會被“撤銷”,物體會回到播放動畫之前的預設狀態。

然而最近遇到了“停止播放動畫後物體無法返回正確的預設狀態”的問題。。。

測試後發現原來是中途有開關GameObject的行為。在GameObject被SetActive(false)時,該GameObject會保留此時的狀態並將其視為物體的預設狀態(即,如果一個“人”在播放行走動畫的時候被關閉,再次開啟時,這個“人”的預設狀態就變成了行走的某一幀,無論行走動畫是否播放)

解決方案:在關閉物體前先使其回到預設狀態(停止動畫的播放)

相關文章