# Unity2D骨骼動畫
###### tags: `11001社課`
---
# 2D骨骼動畫介紹
----
2D骨骼動畫是什麼?
跟Live2D的區別?
Live2D主要用於立繪
2D骨骼動畫則用於遊戲中實際操控的小人
----

---
# 插件安裝
----
要使用到Unity內建的2D Animation Package來進行2D骨骼動畫的製作。
然而這個插件必須先導入到專案後,才能進行使用。
----
1.首先從Window視窗中點擊Package Manager

----
2.如果不是最新版本就進行更新

----
導入的部分還需要安裝PSD Importer
----

----

----
# [素材下載](https://drive.google.com/drive/folders/1EoKOu6hHAYah5qeQagdmiryjiC6XtbT5?usp=sharing)
----
這裡要注意的是雖然上面安裝的套件叫做"PSD" Importer
但用於2d骨骼動畫的話 只能支援.PSB格式
----

丟入Unity專案後
選取sAme.psb進行以上設定
----
# 創建骨骼
----
1.在Project視窗中點擊圖片後,再到屬性視窗點擊Sprite Editor進入到圖片編輯。

----
2.點擊視窗左上方的Skinning Editor進入到骨骼的編輯

----
3.點擊Create Bone創建骨頭。

----
3.2:點擊滑鼠左鍵生成骨頭,右鍵取消。
基本上先以身體為中心生成骨骼,之後在連到頭以及四肢製作,骨頭製作沒有一定,你想讓她可做動作的部分都可以做骨骼。

----
3.3 and 4:打開可視性可看到目前創建的骨骼,並依序對其進行命名,之後做動畫才分得出來。

---
# Sprite Mesh
Sprite Mesh的原理為將Sprite貼到一張平面的3D貼圖上以Mesh的方式呈現,而在貼圖上設定外圍與內部幾何佈點後,則可以藉由各節點的變化讓貼圖跟著做出型變而達成動畫效果。
----
只要簡單的點Generate就會跳出快速生成幾何佈點的工具。我們可以分別調整外圍精細度(Outline Detail)、透明容忍度(Alpha Tolerance)、佈點密度(Subdivide)讓工具自動生成佈點。

----
# 設置骨頭權重
----
生成網格的時候也順便令其產生權重了,如果剛剛沒生成出來的話,這邊一樣可以用Auto自動進行生成。
權重基本上就是每根骨頭對貼圖以及它的子骨頭的影響。

----

生成完後經測試發現,當移動手的骨骼時,頭部也跟著扭曲了。
----
進入骨骼影響的頁面後,雙點兩下手臂,可以看到手臂影響到的不只是手部的骨骼也包含了身體的,把它刪掉就會正常了。

----
將四肢和頭都設定完畢後,最後按下Apply將其儲存,就可以開始製作動畫了。
---
# 動畫製作
----
不過要記得錄製動畫時一開始要選取所有的骨骼並生成一個KeyFrame,就算過程中沒修改到該骨骼也記得一起選起來(可以使用快速鍵Alt +左鍵點擊Root讓所有骨架展開),這樣可以避免動畫過程中非預期的變動造成骨骼元件位置不正確。
----
直接將其拖移到場景中即可生成

----
Animaion動畫系統

----

----
Key介紹
•做動畫要先選時間軸 之後才會有影格,那個影格就是Key。
•要增加一個關鍵動作或效果的話就要ADD KEY。
•動畫就是靠每個Key所記錄的數值去調整組件或模組。

----

按下左下角的錄製功能即可進入錄製模式
----

進入錄製模式後,底下影格中有條白線,那個是代表動畫當前的位置,先拉到最前面。
----

選取起所有的骨骼後,變更其z軸即可定義下開始時所有骨骼位置的關鍵禎。
----

拉動白線至0.20的位置,變更手臂的動作,建立一個關鍵禎。
----

關鍵禎中間的動作會自己補上,變成一個揮手的動畫
----
可以嘗試弄弄看移動、跳躍、攻擊等動畫
----
# 部位換圖
----

選取黑ame,確定相關選項,並進入編輯模式
----

進入skinng editor模式,並且點擊之前的原版ame
----

點選複製
----

點擊黑ame按下貼上
----

骨骼、網格還有相關的權重就都貼過來了,按下套用即可關閉視窗
----

專案視窗右鍵建立一個sprite libary asset
----

點擊可配置屬性 可依照你要替換的圖片數量新增不同長度的清單
----

並將不同圖片放進去
----

選取場景的中的ame,並新增sprite library
----

----

點開ame的階層並新增sprite resolver的元件
----

即可任意變更貼圖
----
目前來說,這個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}]"}