好記性不如爛筆頭啊,還是記錄一下!
Unity從2018版本開始引入不少2D的新功能场勤,在資源包里加入很多新功能和媳,一定要開啟預(yù)覽模式
可以看到新功能留瞳,2D Animation
她倘,2D IK
,2D Pixel Perfect
前硫,2D SpriteShape
等等开瞭。
這篇博客主要介紹的是2D Animation
:
1. 安裝 2D Animation
安裝很簡單點擊install
就可以安裝了:
我裝的是最新的2.0.0-preview.3
:
安裝成功后有興趣的同學(xué)可以直接看看unity的官方例子教程:
https://github.com/Unity-Technologies/2d-animation-v2-samples
需要unity 2018.3.x
以上才能運行
插件的詳細(xì)介紹,不過是英文版的:
https://docs.unity3d.com/Packages/com.unity.2d.animation@2.0/manual/index.html
2. 創(chuàng)建骨骼
隨意導(dǎo)入一張圖片:
我用的碧藍(lán)航線的
標(biāo)槍
Sprite Mode
選擇Single
:
然后點擊Sprite Editor
進(jìn)入Sprite Editor
:
選擇Skinning Editor
進(jìn)入Skinning Editor
,注意1.0.x叫Bone Edito
:
在編輯器右側(cè)有一排按鈕娘香,依次為:
工具名 | 快捷鍵 | 用途 |
---|---|---|
Preview Pose | Shift + Q | 預(yù)覽模式,可以預(yù)覽動作并不會真正的改變設(shè)置淋昭。 |
Edit Joints | Shift + W | 改變骨骼的位置翔忽,長度歇式,方向材失,名稱,層級等等硫豆,這些改變會影響使用者龙巨。 |
Create Bone | Shift + E | 創(chuàng)建骨骼 |
Split Bone | Shift + R | 把一個骨骼分成兩根 |
Reparent Bone | Shift + T | 瀏覽骨骼的層次結(jié)構(gòu),可以在這里改變層級和名稱熊响。 |
Auto Geometry | Shift + A | 自動蒙皮恭应,這個好用 |
Edit Geometry | Shift + S | 編輯蒙皮的點 |
Create Vertex | Shift + D | 創(chuàng)建新的頂點 |
Create Edge | Shift + G | 創(chuàng)建新的邊 |
Split Edge | Shift + H | 用一個新的頂點分離一個邊 |
Auto Weights | Shift + Z | 自動賦予權(quán)重 |
Weight Slider | Shift + X | 編輯頂點,邊的權(quán)重 |
Weight Brush | Shift + C | 用畫刷賦予權(quán)重 |
Bone Influence | Shift + V | 選擇骨骼用到的Sprite |
首先要使用Create Bone
耘眨,Reparent Bone
創(chuàng)建骨骼和設(shè)置骨骼層級昼榛,這里就不在說明具體的使用方法了,骨骼創(chuàng)建為應(yīng)該為這個樣子:
創(chuàng)建骨骼時可以選中一個骨骼再進(jìn)行創(chuàng)建,這樣就能直接設(shè)置新的骨骼為選中骨骼的子骨骼
3. 骨骼蒙皮
蒙皮我的理解就是怎么讓骨骼和他控制的部件綁定在一起胆屿,這樣骨骼移動、旋轉(zhuǎn)的時候环鲤,部件才能跟著骨骼運動, Unity 2D Animation這個工具蒙皮還是很好用的,在Auto Geometry
這個工具里,調(diào)整參數(shù)疗我,工具就會根據(jù)你調(diào)整的參數(shù)來進(jìn)行自動蒙皮:
如圖所示麦牺,調(diào)整紅框里的參數(shù),然后點擊Generate For Selected
就可以
注意如果自動蒙皮是正確的,骨骼顏色會和部件顏色是一樣的枕荞,也就是什么顏色的骨骼會控制什么顏色的區(qū)域
如果蒙皮的區(qū)域大小識別的和自己想的不一樣可以使用Edit Geometry
鹦肿、Create Edge
或者Create Vertex
- 如果只是調(diào)整大小使用
Edit Geometry
- 如果覺得頂點數(shù)量不足使用
Create Vertex
- 然后用
Create Edge
把頂點連接起來碌嘀。
如果部分的區(qū)域蒙皮不是很好可以使用Weight Slider
或者Weight Brush
來進(jìn)行調(diào)整,具體可以看下一節(jié)。
4. 設(shè)置權(quán)重
蒙皮表示的是骨骼影響區(qū)域
怯疤,權(quán)重表示的是骨骼對區(qū)域的影響程度
泣崩,在Weight Slider
權(quán)重編輯工具中,點擊一個頂點妨马,可以看到這個頂點受到哪些骨骼的影響,舉個例子:
比如上圖這個區(qū)域,身體這個部件我加了兩根骨骼,我們選中一個點屁擅,可以看到body
這個紫色的骨骼對這個點的影響是0.5
,waist
這個紅色的骨骼對這個點的影響是0.5
,什么意思呢奄毡?
我的理解是如果
body
這個骨骼有移動咪奖,旋轉(zhuǎn)等操作的時候,這個點只會受到50%的影響闲昭,在具體點說就是如果body
旋轉(zhuǎn)90度跋破,這個點只受到45度的影響
再來個直觀的圖方便大家理解,可以在Preview Pose
預(yù)覽模式中旋轉(zhuǎn)這個部件看看效果:
這樣賦予每個頂點不同的權(quán)重狡恬,就可以對身體產(chǎn)生不同程度的形變姥芥。
5. 組裝角色
組裝角色就比較簡單了庸追,主要先檢查下骨骼的層級:
也可以通過
Preview Pose
預(yù)覽模式中旋轉(zhuǎn)骨骼咱娶,檢查預(yù)想的部件是不是跟著旋轉(zhuǎn)了
如果層級沒問題就可以保存下逻锐,點擊右上角的Apply
按鈕。
然后我們就可以把這個Sprite
拖到Unity的場景里了,然后會看到部件仍然是分布在各個地方的,接下來我們要做的是:
- 為這個
GameObject
添加一個Sprite Skin
控件(這個控件只有安裝了2D animation
才會有)- 點擊控件下的Create Bones,會發(fā)現(xiàn)圖片上的部件的骨骼就都會顯示出來。
- 根據(jù)自己的喜好,組裝角色吧
來一張自己完成組裝的圖:
以上說法只是我的個人理解,如有不對,歡迎留言指正杏糙。