Unity重置Animator到初始状态和重复播放同一个Animation
生活随笔
收集整理的這篇文章主要介紹了
Unity重置Animator到初始状态和重复播放同一个Animation
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遇到問題
特效同事給的Animation更改了物體的很多屬性,如Active,Alpha, Scale,Position等等,物體本身需要重復利用,因此使用對象池技術不直接銷毀而是隱藏等需要時再顯示,但是在隱藏后發現再次顯示的時候有些屬性不會自動復原。
解決辦法
重復播放
m_animator.Play("attack_1",0,0f);狀態重置
當動畫播放完成后,重置狀態
// 重置Animator public void ResetAnimator(){m_animator.Play ("New State"); }如上所說在用對象池銷毀之前(即acitve設為false之前)把動畫狀態機(Animator)設置為播放第一個動畫(Animation),然后刷新狀態(調用ResetAnimator())即可。
其它信息
部分參考:https://blog.csdn.net/u013236878/article/details/52813994,但作者提到的方法我測試不可行。
m_animator.Play ("New State"); m_animator.Update (0);補充:使用這種方法也可以讓動畫停在第一幀
// 重置Animator public void ResetAnimator(){ animator.Play(aninName, 0, 0);animator.Update(0);animator.enabled = false; }我的Unity版本: Unity5.3.7
總結
以上是生活随笔為你收集整理的Unity重置Animator到初始状态和重复播放同一个Animation的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R和中心度、中心势
- 下一篇: selenium+chromedrive