Unity3D插件 AnyPortrait 2D骨骼动画制作
一、前言
AnyPortrait是一個創(chuàng)建2D角色動畫制作的Unity拓展編輯器插件。
AnyPortrait提供了很多功能,讓你可以在Unity里面就完成動畫的制作。
使用AnyPortrait插件輕松創(chuàng)建2D網(wǎng)格,并且實現(xiàn)各種動畫技術(shù)。
AnyPortrait關(guān)鍵特性:
用戶創(chuàng)建的網(wǎng)格
通過解析PSD
自動創(chuàng)建字符頂點變形動畫
色彩和變換動畫
使用控制參數(shù)的組合狀態(tài)控制
骨操縱動畫
基于張力的頂點物理效應(yīng)關(guān)鍵幀動畫
為用戶提供備份、數(shù)據(jù)導出/導入、捕獲等多種功能。
支持8種語言(英語、韓語、法語、德語、西班牙語、丹麥語、日語和漢語)
先放一張效果圖:
?
這是本系列文章的第二篇:
【Unity3D插件】(一)使用AnyPortrait插件制作史萊姆動畫(AnyPortrait插件教程)
【Unity3D插件】(二)使用AnyPortrait插件制作角色動畫(AnyPortrait插件教程)
二、教程分享
本教程基于插件包中的PSD文件。
學習如何通過PSD文件創(chuàng)建網(wǎng)格組。
以及如何添加骨骼和創(chuàng)建動畫。
2-1、導入PSD文件
讓我們新建一個場景,保存場景后,在菜單欄選擇“Windows→AnyPortrait→2D Editor”,點擊新建肖像,命名為PeacockTheAria:
按下 導入PSD文件 按鈕導入新的PSD文件:
確保文件正常打開,然后單擊Next按鈕:
進入第二個頁面,“圖層”頁面,加載的圖層圖像就會出現(xiàn),接著就選擇文件層:
接下來,需要將PSD文件里面的若干圖片制作成資源:
設(shè)置完地圖集Atlas后,點擊Complete按鈕:
可以看到所有的圖像、網(wǎng)格和網(wǎng)格組都是自動創(chuàng)建的:
使用PSD文件,自動創(chuàng)建網(wǎng)格和網(wǎng)格組,非常方便。
2-2、編輯骨骼動畫的網(wǎng)格
因為自動創(chuàng)建的網(wǎng)格比較粗糙,所以需要優(yōu)化一下網(wǎng)格。
選中要優(yōu)化的網(wǎng)格,刪除所有頂點:
接著,就重新設(shè)置網(wǎng)格:
重復上面操作,重新設(shè)置所有的網(wǎng)格:
2-3、剪切層
打開網(wǎng)格組后,可以在層級列表看到一個箭頭形狀的圖標,Teeth和Tongue,如果選擇這兩個網(wǎng)格,可以看到網(wǎng)格只渲染了一部分,這是因為Teeth和Tongue具有剪切層屬性:
下面的圖片演示了剪切層屬性的效果,可以看到圖片的隱藏部分:
剪切功能是通過指定另一個網(wǎng)格作為蒙版來渲染網(wǎng)格的一部分。
主要用于眼睛、嘴巴等部位。
但是,請注意以下幾點:
剪輯功能導致過程變慢,所以它減慢了Game。只在必要的部分使用。
如果你創(chuàng)建并使用一個自定義著色器,你還必須編寫與剪輯功能相關(guān)的代碼。
2-4、添加骨骼
AnyPortrait支持骨骼IK(逆運動學)和支持骨骼插槽。
接下來,就演示如何為骨骼動畫添加骨骼:
在身體重心位置添加一塊骨骼,方向不是很重要:
修改這個骨骼的名字和形狀:
繼續(xù)添加骨骼,命名為Bone Spine 1:
繼續(xù)添加骨骼,命名為Bone Spine 2,顏色和大小跟上一根骨骼相似:
給角色的帽子耳朵上也添加一塊骨頭:
重復上面的步驟,創(chuàng)建下面圖片設(shè)置的骨骼樣式:
接下來需要將骨骼都連接到一起,這樣就可以像真人一樣移動:
這樣,Bone Spine 1就成了Bone Pelvie的子對象了。
用同樣的方法,連接頭和雙臂,耳朵等:
2-5、使用綁定修改器
設(shè)置完骨骼,就可以使用綁定修改器了,綁定修改器的作用就是連接頂點到網(wǎng)格。在頂點處輸入骨骼不同的重量,這樣頂點就會跟隨骨骼移動。
在上面左圖中,所有頂點的權(quán)重都是1:0.0,因此它不依賴于綠色的骨骼移動。
右圖中,頂點的權(quán)重依次遞增給綠色骨骼,可以看到綠色骨骼在平滑移動。
也就是說綁定修改器是設(shè)置頂點+骨骼的連接權(quán)重的過程。
下面,就添加一個綁定修改器:
將Hood網(wǎng)格的頂點添加到綁定修改器:
點擊左下角的開始綁定按鈕,開始綁定頂點和骨骼,選擇所有頂點,然后選擇Bone Head骨骼:
設(shè)置頂點的權(quán)重:
2-6、創(chuàng)建動畫片段
接著添加一個與動畫關(guān)聯(lián)的修飾符:
在左邊菜單選擇添加動畫剪輯,然后設(shè)置動畫的名字,然后選擇網(wǎng)格組PeacockTheAria:
注意:動畫名稱用于在游戲過程中播放動畫,名稱重復或錯誤無法刪除。
動畫片段屬性:
動畫剪輯和網(wǎng)格組的名稱
動畫剪輯的開始和結(jié)束幀
是否循環(huán)
每秒幀數(shù)
動畫事件
導出/導入動畫文件
2-7、添加時間
要創(chuàng)建關(guān)鍵幀動畫,必須向動畫剪輯添加時間軸:
添加了變換(動畫)時間軸:
接下來,給時間軸動畫添加一個骨骼:
點擊開始編輯,在關(guān)鍵位置添加關(guān)鍵幀:
當打開編輯模式并選擇關(guān)鍵幀時,你可以變換對象。這個狀態(tài)記錄在關(guān)鍵幀中。
接下來,在生成的關(guān)鍵幀中,移動選定的骨骼并記錄它:
播放動畫:
2-8、動畫曲線設(shè)置
插值是理解關(guān)鍵幀動畫時最重要的原則。
插值是計算關(guān)鍵幀和關(guān)鍵幀之間的形式的過程。
根據(jù)插值方法,即使你有相同的關(guān)鍵幀,動畫的結(jié)果也可能是不同的。
這一節(jié)就介紹動畫曲線處理插值方法。
選擇一個關(guān)鍵幀,設(shè)置動畫曲線:
設(shè)置動畫曲線:
2-9、創(chuàng)建骨骼動畫
接下來,就根據(jù)上面的內(nèi)容,做一個骨骼動畫。
創(chuàng)建一個新的動畫剪輯之間,先刪除之間創(chuàng)建的動畫關(guān)鍵幀:
選擇所有的骨骼并將它們加入到時間軸是很麻煩,可以將所有骨骼一次性添加到時間軸:
所有骨頭都在時間線上了:
設(shè)置動畫循環(huán):
如果在一幀動畫中有多個時間軸,這設(shè)置起來很麻煩,這時候就可以使用 將關(guān)鍵幀添加到所有層, 批量創(chuàng)建關(guān)鍵幀:
移動時間滑動到生成的關(guān)鍵幀所有位置,打開編輯模式,制作動畫。
動畫制作完成后,需要將動畫移動到場景中,先設(shè)置根目錄:
設(shè)置根節(jié)點后,選擇動畫,并播放動畫,就可以看到設(shè)置后的動畫了:
點擊烘焙,將動畫烘焙到場景中:
運行程序,就可以看到設(shè)置的動畫了。
三、后言
可以看出來AnyPortrait插件還是很強大的。
可以做很多的效果跟動畫。
但是,如果想要做出精細的動畫效果,還需要專業(yè)的美工人員去制作。
————————————————
?https://blog.csdn.net/q764424567/article/details/120408847
總結(jié)
以上是生活随笔為你收集整理的Unity3D插件 AnyPortrait 2D骨骼动画制作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最近大火的C4D,为什么游戏影视建模不用
- 下一篇: 用Kali进行ARP断网攻击