引言
2D Animation是Unity2018版本之後出來的新功能,我們可以用其在2D圖片上製作骨骼動畫。
例如我們可以將下面這張2D圖片添加一個動畫。
由於是簡單的一張圖片,所以效果不是特別好,我們也可以在PhotoShop中一張完整的圖片切割成好幾個部分(圖層),然後導出一個PSB文件(PSD文件暫時不支持)來單獨處理每個圖層的動畫效果。
接着跟着一起,讓圖片動起來吧。
準備工作:
官方文檔:https://docs.unity3d.com/Packages/[email protected]/manual/index.html
打開Window->Package Manager,安裝2D Animation,如果需要支持PSB文件,需要安裝2D PSD Importer。
個人使用的Unity版本爲2019.3,2D Animation版本爲3.1.1。
挑一張你喜歡的圖片,放進Unity工程當中。
Skinning Editor介紹
首先我們將圖片的Texture Type設置爲Sprite(2D and UI),點擊Sprite Editor按鈕,打開編輯界面
然後我們選擇Skinning Editor
在Skinning Editor中,我們可以進行骨骼網格以及權重的編輯。
在這裏簡單的介紹下界面中這些按鈕的功能
按鈕 | 快捷鍵 | 功能 |
---|---|---|
Reset Pose | Shift + 1 | 將角色的骨骼關節恢復到原始的位置 |
Visibility | Shift + P | 打開一個新的面板,在裏面可以設置骨骼和圖片的可見性 |
Preview Pose | Shift + Q | 設置好後可以在這通過旋轉骨骼預覽效果 |
Edit Bone | Shift + W | 編輯骨骼,可以調整骨骼的位置方向和大小等 |
Create Bone | Shift + E | 創建新的骨骼 |
Split Bone | Shift + R | 拆分骨骼,即將原有骨骼拆分爲兩個新的骨骼 |
Auto Geometry | Shift + A | 自動生成網格 |
Edit Geometry | Shift + S | 編輯網格,可以調整頂點和邊緣線的位置 |
Create Vertex | Shift + J | 添加新的頂點 |
Create Edge | Shift + G | 添加新的邊緣線,先選中一個頂點然後拖動即可 |
Split Edge | Shift + H | 拆分邊緣線 |
Auto Weights | Shift + Z | 自動生成幾何權重 |
Weight Slider | Shift + X | 通過滑動條調整權重 |
Weight Brush | Shift + N | 通過筆刷調整權重 |
我們可以通過雙擊圖片來顯示網格和骨骼,或者雙擊空白處來隱藏這些。也可以通過按住鼠標左鍵拖動來進行多選,若要取消當前選中,單擊鼠標右鍵即可。
編輯圖片
首先我們先簡單的添加一些骨骼,如圖
骨骼添加好後,我們選擇Auto Geometry,爲其添加網格與權重。
Outline Detail | 值越大,生成的邊緣線越多,細節越好 |
Alpha Tolerance | 當像素的透明度低於設置的值,在邊緣線生成檢測時,該像素當透明處理 |
Subdivide | 值越大生成的頂點越多,劃分的更細 |
Weights | 選中時,同時生成權重 |
調整數值後,生成的效果如下:
權重生成出一堆五顏六色的區塊,一開始有點懵,後面通過旋轉骨骼後發現,這些顏色區塊都是對應一個骨骼,當一個骨骼旋轉時,與其顏色相近的部分都會受到影響,進行旋轉。
選中Edit Geometry,可以看見生成的頂點以及邊緣線
此時我們點擊Preview Pose,把骨骼進行簡單的旋轉,發現變形的厲害,這也印證了前面權重的意義。
點擊Reset Pose恢復到原始樣子,重新編輯下我們的骨骼頂點和權重,可以自己添加一些頂點,也可以將自動生成的幾個參數調大一點重新生成。調整後大致如下
然後再去轉動骨骼會發現基本效果就好了很多。
點擊Visibility按鈕會打開一個新的面板,如圖
上面兩個滑動條分別控制骨骼和權重的可見性,也就是透明度,然後兩個按鈕Bone和Sprite分別顯示當前的骨骼和圖片。然後我們可以在下面的列表中去隱藏骨骼或者貼圖。(由於我只用了一張圖片,所以沒有Sprite選項)
全部搞好之後,記得點擊Apply提交一下。
導入場景中
接着我們可以直接將圖片拖到場景中,然後爲其添加Sprite Skin組件,點擊該組件的Create Bones按鈕即可在子節點下自動生成骨骼。旋轉這些骨骼,圖片也會跟着相應的轉動。
添加動畫
最後我們只需要添加上動畫文件就可以讓其動起來了。
在組件上繼續添加一個Animator組件,然後在Project面板中Create一個Animator Controller文件,關聯到該組件上。然後再Create一個Animation文件,雙擊Animator文件,關聯上我們的Animation。
雙擊Animation文件打開編輯面板,然後Hierarchy中選中我們的圖片,爲我們的骨骼添加動畫。
全部搞好後,點擊運行,我們的圖片就會動起來啦。