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讓動畫來回一直播放。動畫編輯完成后,點擊圖中左上角“小紅點”按鈕 退出動畫編輯模式。 

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

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

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

 我們繼續呼出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表示只讀,你不能繼續修改它。

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

 

 

Animation編輯器只能修改當前節點的動畫,如果你想編輯它的子節點動畫的話。只需現在父節點中找到某個子節點對象,然后在window->Animation中呼出編輯器窗口即可開始編輯。

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

 

 

一口氣寫了這么多,最后祝大家學習愉快。哇咔咔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM