標籤:
Animator視窗視圖Project視圖PlayerIdleAnimation和PlayerWalkingAnimation
通過上一小節的操作,我們建立了2個動畫:PlayerIdleAnimation和PlayerWalkingAnimation。而且在單擊Animation視圖裡的播放按鈕時,也看到了動畫的效果。但是現在還需要管理這兩個動畫,也就是說需要能夠指定精靈當前進入的動畫狀態,為此就需要對動畫控制器展開一些設定和操作,具體的步驟是本文選自Unity 2D遊戲開發從入門到精通清華大學出版社:
(1)在Project視圖裡,找到在建立動畫時一併產生的動畫控制器,在本樣本中它的名字是PlayerAnimatorController。雙擊它,然後會彈出Animator視窗視圖,此視圖中包含3個動畫狀態,名為Any State的動畫狀態是系統產生的,其它兩個動畫狀態是我們在上一小節裡定義的,1-23所示。
圖1-23 Animator視圖裡的3個動畫狀態
(2)在PlayerIdleAnimation動畫狀態上右擊滑鼠,然後在彈出的捷徑功能表中選擇Make Transition,最後再單擊PlayerWalkingAnimation動畫狀態。這樣就添加一條從前者指向後者的箭頭,此箭頭表示兩個動畫狀態的過渡,即從前者表示的動畫狀態過渡的後者表示的動畫狀態。使用同樣的方式,添加從後者到前後的過渡,1-24所示。
圖1-24 建立兩個動畫狀態的過渡
(3)單擊Unity工具列裡的開始遊戲按鈕,然後查看Game和Animator視圖,你會發現精靈在反覆的播放這兩個動畫狀態,1-25所示,但是我們目前還無法指定其進入哪種動畫狀態本文選自Unity 2D遊戲開發從入門到精通清華大學出版社。
圖1-25 Game和Animator視圖
(4)要想指定當前精靈所進入的動畫狀態,就需要設定兩個動畫狀態的過渡條件。在Animator視圖的左下角有個名為Parameters的小視窗,單擊其右側的 按鈕,可以添加參數。在本樣本中,需要添加名為Walking的Bool類型的參數,1-26所示。
圖1-26 在Animator視圖裡,添加一個Bool類型的參數
(5)然後在Animator視圖裡,單擊表示動畫狀態從PlayerIdleAnimation過渡到PlayerWalkingAnimation的箭頭(箭頭的顏色由白色變為藍色),再查看Inspector視圖,1-27所示,在視圖靠下面的地方有個Conditions,它用於設定動畫過渡的條件,此時系統所設定的動畫過渡條件是,在動畫播放1秒後,進入另一個動畫狀態,因此之前我們播放動畫的時候發現,精靈一直在兩種動畫狀態間跳轉。
圖1-27 Inspector視圖裡,動畫狀態的過渡屬性設定
(6)單擊Condition下的Exit Time,從中選中我們剛才定義的參數Walking,然後設定其後面的屬性為true,1-28所示。表示只有在參數Walking為true時,動畫狀態才會從PlayerIdleAnimation過渡到PlayerWalkingAnimation。
圖1-28 設定動畫狀態的過渡條件
使用同樣的方式設定,從PlayerWalkingAnimation到PlayerIdleAnimation的過渡條件為Walking,設定其屬性為false,表示Walk為false時,動畫狀態的過渡才會發生。
(7)運行遊戲,然後查看Game和Animator視圖,1-29所示。預設情況下,Walking的值為false,因此Game視圖裡,一直在播放PlayerIdleAnimator動畫。
圖1-29 Game和Animator視圖
單擊Animator視圖左下角Parameters下的Walking參數的複選框,即設定Walking為true,再次查看Animator視圖,此時Game視圖中的精靈則是一直在播放PlayerWalkingAnimation動畫,1-30所示本文選自Unity 2D遊戲開發從入門到精通清華大學出版社。
圖1-30 Game和Animator視圖
Animator視窗視圖Project視圖PlayerIdleAnimation和PlayerWalkingAnimation