Unity3D研究院之使用Animation編輯器編輯動畫

 Unity提供了Animation編輯器,它能夠爲咱們編輯物理動畫。舉個例子好比場景中有一個來回搖動的鞦韆,這個鞦韆在項目中徹底只起到陪襯做用,它不會與別的遊戲對象有任何交互。若是這個鞦韆也用代碼來寫控制它來回搖動,會感受小題大作。此時徹底可使用Animation編輯器來完成。可是它目前還不能編輯 FK 和 IK動畫,因此編輯器中編輯動畫的種類仍是有限的,若是有一天FK 和 IK動畫均可以在Unity中編輯了 那就給力了嚯嚯。。。以下圖所示,首先在Hierarchy視圖中建立一個遊戲對象,這裏我就建立一個立方體Cube對象。鼠標保持選中狀態,而後在Unity導航菜單欄中選擇Window->Animation將呼出動畫編輯窗口。編輯器

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 1

 

以下圖所示,Animation窗口彈出後,點擊左上角那個「小紅點」按鈕。由於默認新建的Cube對象是沒有動畫的,因此這裏將彈出建立動畫窗口。在窗口中點擊Save,此時一個名叫New Animation的動畫文件將被保存在Project視圖中。學習

 

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 2

以下圖所示,此時動畫將處於編輯中模式, 在右上方空白處點擊鼠標右鍵,便可添加一個Frame , 點擊Frame就會出現一道豎向的紅線,上面對應着Frame的時間,這時候在左側Transform中能夠修改每一幀模型的位置,或者在編輯器中也能夠修改,數值一樣會被保存在每一幀的Transform中。動畫

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 3

 

當你的幀編輯完成後,點擊上圖左上角那個運行的按鈕。你能夠在遊戲視圖中看到這個立方體對象已經按照咱們設定的每幀的位置在播放動畫了。圖中左下角Show:all右側能夠設置動畫的播放類型。爲了看的清楚,這裏我選擇PING PONG讓動畫來回一直播放。動畫編輯完成後,點擊圖中左上角「小紅點」按鈕 退出動畫編輯模式。 spa

退出動畫編輯模式後,以下圖所示,將剛剛編輯完的動畫剪輯拖拽至立方體對象的Animation中,勾選Play Automatically自動播放。此時運行遊戲你會發現立方體對象已經按照以前編輯的方式播放動畫。code

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 4

上面介紹的方式我沒有寫任何一行代碼,若是你想動態的監聽一些播放事件, 好比當播放幾秒的時候執行幾行代碼。此時你可使用動畫的事件來完成。先建立一條普通的腳本。把它綁定在Cube對象身上。在腳本中我寫了兩個方法 Event0()和Event1()。orm

 咱們繼續呼出Animation編輯窗口,以下圖所示,在時間軸的空白處單機鼠標右鍵能夠添加一個動畫事件。 而後會彈出Edit Animation Event窗口,中間有一個Function的選項,Event0()就會對應到上面代碼中 Event0的方法。你還能夠在腳本中繼續添加方法,在Function:的下拉菜單中都會看到。圖中我在0:10處添加了一個動畫事件,對應在Event0方法中,那麼當動畫播放0.10s的時候程序將會進入Event0方法中。對象

 

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 5

 

怎麼樣?動畫事件仍是比較好理解吧。講到這裏你是否是想問我?能不能讓美術把動畫都在Unity中來完成。答案是否認的,由於它不支持FK 和IK動畫,骨骼連帶動畫仍是得在3DMAX 或maya中來完成。以下圖所示你也能夠打開一個美術在3DMAX 或者 maya中作的動畫,這裏會顯示Read-only表示只讀,你不能繼續修改它。seo

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 6

 

 

Animation編輯器只能修改當前節點的動畫,若是你想編輯它的子節點動畫的話。只需如今父節點中找到某個子節點對象,而後在window->Animation中呼出編輯器窗口便可開始編輯。遊戲

Unity3D研究院之使用Animation編輯器編輯動畫(五十四) - 雨鬆MOMO程序研究院 - 7

 

 

一口氣寫了這麼多,最後祝你們學習愉快。哇咔咔。事件

相關文章
相關標籤/搜索