在unity中使用spine動畫

2021-10-08 04:04:53 字數 987 閱讀 2774

可以使用spine製作骨骼動畫來給unity使用。spine提供了unity執行包。執行包的版本一定要和spine版本一致,不然會報錯。

匯入spine動畫:

由spine匯出的動畫檔案有3個:xx.atlas,xx.json,xx.png。將這三個檔案直接匯入unity會報錯,將xx.atlas改為xx.atlas.txt,這時會自動生成xx_atlas.asset,xx_material.mat。然後在unity裡面create spine skeletondata,指定xx_atlas.asset和xx.json。就可以用skeletondata生成動畫了。

skeletonanimation skeletonanimation;   //gameobject的component。

spine.animationstate spineanimationstate = skeletonanimation.state;

spine.skeleton skeleton;

spineanimationstate.setanimation(0, animationname, true);

切換動畫的bug:

由於spine在切換動畫的時候自動補償,用於動畫的平穩過度。但是會導致殘影等bug,這時候需要在setanimation前呼叫

skeletonanimation.skeleton.settosetuppose ();

spineanimationstate.cleartracks ();

來消除前乙個動畫的影響。

新增事件:

事件設定採用lambda表示式:

skeletonanimation.state.complete += (state, trackindex,loopcount) => ;

動態獲取slot的座標:

vector3 pos = skeletonanimation.skeleton.findslot("hat_1").bone.getworldposition(transform);

在stored procedure中使用動態SQL

所謂動態sql,是相對靜態sql而言的,靜態sql在編譯的時候就已經知道它的全部內容了。而動態sql指令碼是在編譯的時候還不完整,直到執行過程中才能確定的sql語句。在db2 400中實現動態sql的方式很多,但一般都採用prepare的方式來實現,下面是在sqlc中實現動態sql的例項 exec ...

spine之五 在程式中使用動畫

遊戲中人物的走動,跑動,攻擊等動作是必不可少,實現它們的方法一般採用幀動畫或者骨骼動畫。幀動畫與骨骼動畫的區別在於 幀動畫的每一幀都是角色特定姿勢的乙個快照,動畫的流暢性和平滑效果都取決於幀數的多少。而骨骼動畫則是把角色的各部分身體部件繫結到一根根互相作用連線的 骨頭 上,通過控制這些骨骼的位置 旋...

Unity使用spine製作換裝系統

換裝系統很簡單,無非把握好兩點 1.對資料的處理。2.熟悉api。無論是spine還是龍骨亦或者是unity自帶的骨骼動畫系統皆是如此。熟悉api最快的方式就是看官方給的demo,了解常用的api即可。下面大致介紹下我用spine實現換裝的內容。換裝一般用到的是區域性換裝和整套換裝,區域性的話切換插...