2019年4月20日 星期六

anyPortrait 使用心得、簡易教學


官網在這:
https://www.rainyrizzle.com/anyportrait-eng

之前有陣子想做2d hame,用了dragon bones好一陣子,雖然demo是做出來了但dragon bones 的API有些問題一直都沒解決,更重要的是hgame最重要的乳搖用dragon bones做不出來,但spine要用free form deformation的功能的話會相當的昂貴,後來找到了anyPortrait這個軟體。


anyPortrait是韓國RainyRizzle出的一款在unity上做骨架動畫和free form deformation的軟體,在unity asset裡面可以買,約一千多塊左右,逢年過節會打折,聖誕節會打50%。

我們先來看官方demo影片



可以看得出來這家公司想把類似live2d的表情變化跟spine的骨架動畫做在一起

實際操作之後有幾個感想,RainyRizzle果然是做過遊戲的公司(雖然好像沒人玩),能想到的在unity裡面弄2D遊戲的人會想用到的功能基本上都有做( 即時的IK、把2D人物放在3D空間中、風吹頭髮的物理模擬等),但是用起來實在是很不順手,介面跟spine系列的差太多,而且很多滑鼠該要有熱鍵的功能也沒有( 按了右鍵沒得取消 ),有些功能藏在ctrl裡面要按下去才會看到等,好在這家公司的員工都不睡覺的,真的不知道怎麼做的話,寄信或留言基本上當天都匯回。

本著惺惺相惜情不自禁的初衷,寫個review算是推廣一下。


-------------------------------------------------------------------------------------------------------




裝好之後開啟2d editor,一開始點進來畫面長這樣,現在甚麼都沒有我們創一個新的人物,點下Make New Portrait


建立Portrait後你會看到頁面左邊會分成幾類,分別是
Root unit: 就是最後整隻人物的樣子

Image: 你讀進來的PSD檔會被做成texture圖貼在image上

Meshs:PSD的每一個圖層會被拆解成一個一個的mesh

Mesh group:基本上是照你PSD的layer來排,也是在做變形的時候主要操作的地方。

animation clip: 之後你做好的每個動畫會放這裡

control parameter: 這東西跟live2d控制表情的控制器有點像,你可以設定不同的controller例如這個controller數值是0的時候閉眼、1的時候是開眼,或是做成2維的數值讓眼睛跟著數值飄之類的。

然後我們先讀一個PSD進來,用的是我們的雜魚醬,按下Import PSD file

給他準備好的PSD檔後他會告訴你裡面有啥

可以一層一層檢查是不是東西都到齊了,右邊那個clipping不知道是幹嘛的


一直按下一步按到有Bake的選項出來,設好path(通常是你的專案的目錄),按下bake後,你的素材就會跑出來像框框3那樣。按下complete
你就看到那些image啊,mesh什麼的,全都在這了,預設的mesh是正方形的,假如我們想讓mesh在隨著骨架變形的時候就要考慮佈線,想佈線的話還是得一張一張去調整mesh,現在隨便點一個mesh。



我點到一個腿,左鍵是增加vertex右鍵是刪除,按住ctrl的話會自動幫你找最近的點,按shift的話會讓你可以拉一條線出來,連線上所有的交叉點都會生成vertex。


接好之後按Auto Link Edge。電腦會自動幫你把vertex連成一塊一塊的三角形(有時候沒那麼聰明連錯就得自己連了),接著按make polygons,如果你的mesh發亮的話代表有連成功。沒發亮的話等下做動畫就不會顯示了。

不過以這隻腳來說,為了能讓他在彎取的時候不會有奇怪的變型,可以試著在關節的地方做出類似這種三角形的布線。
全部做完之後,我們就可以來玩變形了。

接著來到mesh group的地方準備來綁骨架了,靜待下回分曉。