# Unity2D骨骼動畫 ###### tags: `11001社課` --- # 2D骨骼動畫介紹 ---- 2D骨骼動畫是什麼? 跟Live2D的區別? Live2D主要用於立繪 2D骨骼動畫則用於遊戲中實際操控的小人 ---- ![](http://i.imgur.com/l37ZdEL.gif) --- # 插件安裝 ---- 要使用到Unity內建的2D Animation Package來進行2D骨骼動畫的製作。 然而這個插件必須先導入到專案後,才能進行使用。 ---- 1.首先從Window視窗中點擊Package Manager ![](https://i.imgur.com/Y1MS9ee.png) ---- 2.如果不是最新版本就進行更新 ![](https://i.imgur.com/ibsVuUw.png =70%x) ---- 導入的部分還需要安裝PSD Importer ---- ![](https://i.imgur.com/nvvGGku.png) ---- ![](https://i.imgur.com/x8FnxfX.png) ---- # [素材下載](https://drive.google.com/drive/folders/1EoKOu6hHAYah5qeQagdmiryjiC6XtbT5?usp=sharing) ---- 這裡要注意的是雖然上面安裝的套件叫做"PSD" Importer 但用於2d骨骼動畫的話 只能支援.PSB格式 ---- ![](https://i.imgur.com/0znHikz.png) 丟入Unity專案後 選取sAme.psb進行以上設定 ---- # 創建骨骼 ---- 1.在Project視窗中點擊圖片後,再到屬性視窗點擊Sprite Editor進入到圖片編輯。 ![](https://i.imgur.com/u7gGZvZ.png) ---- 2.點擊視窗左上方的Skinning Editor進入到骨骼的編輯 ![](https://i.imgur.com/ud0jT52.png) ---- 3.點擊Create Bone創建骨頭。 ![](https://i.imgur.com/fSARYdY.png) ---- 3.2:點擊滑鼠左鍵生成骨頭,右鍵取消。 基本上先以身體為中心生成骨骼,之後在連到頭以及四肢製作,骨頭製作沒有一定,你想讓她可做動作的部分都可以做骨骼。 ![](https://i.imgur.com/fSARYdY.png =70%x) ---- 3.3 and 4:打開可視性可看到目前創建的骨骼,並依序對其進行命名,之後做動畫才分得出來。 ![](https://i.imgur.com/fSARYdY.png) --- # Sprite Mesh Sprite Mesh的原理為將Sprite貼到一張平面的3D貼圖上以Mesh的方式呈現,而在貼圖上設定外圍與內部幾何佈點後,則可以藉由各節點的變化讓貼圖跟著做出型變而達成動畫效果。 ---- 只要簡單的點Generate就會跳出快速生成幾何佈點的工具。我們可以分別調整外圍精細度(Outline Detail)、透明容忍度(Alpha Tolerance)、佈點密度(Subdivide)讓工具自動生成佈點。 ![](https://i.imgur.com/088eX5G.png =70%x) ---- # 設置骨頭權重 ---- 生成網格的時候也順便令其產生權重了,如果剛剛沒生成出來的話,這邊一樣可以用Auto自動進行生成。 權重基本上就是每根骨頭對貼圖以及它的子骨頭的影響。 ![](https://i.imgur.com/xHSuqkx.png =50%x) ---- ![](https://i.imgur.com/ladMfuH.png =70%x) 生成完後經測試發現,當移動手的骨骼時,頭部也跟著扭曲了。 ---- 進入骨骼影響的頁面後,雙點兩下手臂,可以看到手臂影響到的不只是手部的骨骼也包含了身體的,把它刪掉就會正常了。 ![](https://i.imgur.com/xRl7RmY.png =70%x) ---- 將四肢和頭都設定完畢後,最後按下Apply將其儲存,就可以開始製作動畫了。 --- # 動畫製作 ---- 不過要記得錄製動畫時一開始要選取所有的骨骼並生成一個KeyFrame,就算過程中沒修改到該骨骼也記得一起選起來(可以使用快速鍵Alt +左鍵點擊Root讓所有骨架展開),這樣可以避免動畫過程中非預期的變動造成骨骼元件位置不正確。 ---- 直接將其拖移到場景中即可生成 ![](https://i.imgur.com/QakYr9h.png =70%x) ---- Animaion動畫系統 ![](https://i.imgur.com/Nn7jY3N.png) ---- ![](https://i.imgur.com/TmB5M5z.png) ---- Key介紹 •做動畫要先選時間軸 之後才會有影格,那個影格就是Key。 •要增加一個關鍵動作或效果的話就要ADD KEY。 •動畫就是靠每個Key所記錄的數值去調整組件或模組。 ![](https://i.imgur.com/bNrn1Uf.png) ---- ![](https://i.imgur.com/LduIEAr.png =70%x) 按下左下角的錄製功能即可進入錄製模式 ---- ![](https://i.imgur.com/lDcR1K1.png =60%x) 進入錄製模式後,底下影格中有條白線,那個是代表動畫當前的位置,先拉到最前面。 ---- ![](https://i.imgur.com/pquH4WZ.png =70%x) 選取起所有的骨骼後,變更其z軸即可定義下開始時所有骨骼位置的關鍵禎。 ---- ![](https://i.imgur.com/pCwMRgB.png =70%x) 拉動白線至0.20的位置,變更手臂的動作,建立一個關鍵禎。 ---- ![](https://i.imgur.com/0oOCwtv.png =70%x) 關鍵禎中間的動作會自己補上,變成一個揮手的動畫 ---- 可以嘗試弄弄看移動、跳躍、攻擊等動畫 ---- # 部位換圖 ---- ![](https://i.imgur.com/ZAEHGmi.png) 選取黑ame,確定相關選項,並進入編輯模式 ---- ![](https://i.imgur.com/3Z485Gh.png) 進入skinng editor模式,並且點擊之前的原版ame ---- ![](https://i.imgur.com/7U5CcsF.png) 點選複製 ---- ![](https://i.imgur.com/4KsedKn.png) 點擊黑ame按下貼上 ---- ![](https://i.imgur.com/D4mmWeW.png =70%x) 骨骼、網格還有相關的權重就都貼過來了,按下套用即可關閉視窗 ---- ![](https://i.imgur.com/sZm9Y31.png =70%x) 專案視窗右鍵建立一個sprite libary asset ---- ![](https://i.imgur.com/C5q2D9t.png) 點擊可配置屬性 可依照你要替換的圖片數量新增不同長度的清單 ---- ![](https://i.imgur.com/abGpsVi.png) 並將不同圖片放進去 ---- ![](https://i.imgur.com/mwlqyqY.png) 選取場景的中的ame,並新增sprite library ---- ![](https://i.imgur.com/wmDeqh1.png) ---- ![](https://i.imgur.com/8gxVozC.png) 點開ame的階層並新增sprite resolver的元件 ---- ![](https://i.imgur.com/RM3Odpd.png) 即可任意變更貼圖 ---- 目前來說,這個2d骨架動畫,可變性還是太低了,要達到做到接近3d人物的動作,就搭配換圖。 以底下連結為例: https://forum.gamer.com.tw/G2.php?bsn=60602&sn=277
{"metaMigratedAt":"2023-06-16T15:58:32.490Z","metaMigratedFrom":"Content","title":"Unity2D骨骼動畫","breaks":true,"contributors":"[{\"id\":\"faca3329-cc98-475b-ac42-c0a846116bf8\",\"add\":5926,\"del\":2217}]"}
    1564 views