nav分隔線 nav分隔線

Unity 2D介紹(五)-角色控制與動畫

icon_fb icon_twitter icon_google
Unity 2D介紹(五)-角色控制與動畫

文/圖:林昭自

 


前言
在上一篇的介紹中,我們完成了場景的設置,同時也把角色身體的部位準備好(利用Sprite Editor來切割),在本篇技術文章中,我們將設置好角色物件,並且利用Animator來編輯。

20140902 1pic000
組合出基本移動的動畫轉移
      為了組合出待機,移動,跳躍等三種動畫的轉移,我們先利用Animator將Hero的Animator Controller開啓,接著我們直接從Project視窗中,將Idle,Run,以及Jump這三個動畫直接拖拉到Animator之中,下一步我們要指定在這三個動畫(狀態)中,那一個是初始狀態,一般在製作角色動畫時,待機通常都是預設的初始狀態,因此我們可以在Idle上按右鍵,選擇:Set As Default,你會發現Idle變成橘色,代表Unity現在知道Idle是初始的狀態。接著在畫面的左下角,我們可以找到Parameter(參數)的設定匡,點一下加號可以讓我們新增參數,我們來新增一個速度參數,命名為Speed用這個速度參數來控制待機跟跑步。接著在Idle上面右鍵,選擇Make Transition,接著你可以拖出一條箭頭,把這個箭頭移到Run的上方,放開滑鼠左鍵,這個動作是建立一個動畫的轉移,換句話說就是告訴Unity這個角色可以從待機轉換到跑步,同理,重複上面的動作,將跑步回到待機也聯結起來。

20140902 1pic001

20140902 1pic002

20140902 1pic003  

     接著先選擇由待機到跑步的箭頭,在Inspector視窗中,找到Condition欄位,這個欄位可以把它想成是事件,某件事件或是條件發生或是成立時,動畫便會發生轉移,以待機到跑步的例子來說,我們在Condition中,選擇之前新增的Speed變數,接著要描述速度大於0,才轉移,所以我們選擇Greater(大於),數值欄位輸入0.1,相同的道理,跑步回到待機一樣找到Condition,指定成Speed參數,但是改成Less 0.1(小於0.1)。但是我們還需要從腳本中來設定這個變數,因此可以新增一個Player.js腳本,當玩家按下移動按鈕時,我們可以透過Animator.SetFloat(“Speed”, 1),的語法,來讓Animator自動做動畫的狀態轉移,同理,當玩家放開按鍵時,再透過Animator.SetFloat(“Speed”, 0),來讓Animator回到待機狀態。 

結論
Animator是Unity下一代的動畫控制技術,它結合了有限狀態機的概念,讓動畫的編輯過程更加人性化。

 

痞客邦Blog:http://lccnetvip.pixnet.net/blog
FB粉絲團:https://www.facebook.com/lccnetzone
菜鳥救星:https://www.facebook.com/greensn0w

 

 

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策