(一)簡單動畫控制播放
很久之前講述過animation動畫播放https://www.cnblogs.com/llstart-new0201/p/7294373.html,現在研究一下animator
(一)Project檢視新建AnimatorController
(二)在上述介面右鍵Create state->Empty,並命名為Init,重複上述步驟並命名為State01,在Empty上右鍵Make Transition並在State01上左鍵點選,如下圖所示。至此建立了兩個動畫狀態Init和State01,並且創立了init狀態到State01的兩個切換開關(箭頭)。由於Init狀態與Extry相連,所以屬於初始狀態,即執行即啟用Init動畫。
(三)點選Init狀態,並在Inspector面板中繫結動畫,如下圖所示,同理設定State01動畫。動畫為其他軟體如Maya等匯出,也可以自己通過animation簡單製作一下。
(四)設定開關,如下圖所示。點選+可以選擇開關型別,在此選擇int並命名為Switch
(五)選擇(二)中init到State01的箭頭,在inspector面板中點選Conditions中+,選擇switch,中間選項選為Equals,並把數值設為1。同樣的設定應用到State01到Init的箭頭,並把數值設為2。至此兩個動畫狀態的開關設定好了。即switch=1時動畫從init切換到State01, switch=2時動畫返回到Init(因為init與entry相連,所以一般init狀態動畫為靜止動畫,如站立)。注意HasExitTime引數,如果動畫切換時,需要當前動畫播放完成後切換,則勾選上,而且一連串動畫播放時也需要勾選上。
(六)程式碼控制
在某一遊俠物體上新增animator元件,並將上述建立的animatorController賦值給他,通過animator控制switch引數即可實現控制動畫播放
animator.SetInteger("switch", 1)
可以通過state名字單獨控制動畫播放,此種播放可以不用設定transition
animator.Play("State01", 0, 0f);
以後有時間會陸續更新,更復雜詳細介紹參考https://www.cnblogs.com/lancidie/p/7818559.html