Posted at

[Unity de Spine] 落下から着地時の補間アニメーションからループアニメーションへのつなぎ方

個人開発でSpineを使うかもしれないので備忘録

Spine SDK version: spine-unity-3_7-2019-04-18

Unity version: 2018.3.2f1


補間有りと無しの違い

Exampleでは高いところから落下するとしゃがみアニメーションに遷移します。

補間ありの方は落下からしゃがみへの遷移するアニメーションがありますが無い方は落下からしゃがみアニメーションにすぐに切り替わっています。


補間アニメーションあり

https://youtu.be/nBEmVMdij5Q


補間アニメーションなし

https://youtu.be/ShOrilYra34


補間アニメーションありの実装の仕方

Spineでは連続したアニメーションの再生ができる為、次のようにすると補間アニメーションの後に通常のアニメーションが再生されるようになります。

skeletonAnimation.AnimationState.SetAnimation(0, transitionAnimation, false);

skeletonAnimation.AnimationState.AddAnimation(0, nextAnimation, true, 0);


 補間無しの場合

補間無しの場合はこんな感じでやればとりあえず出来ます。

var trackIndex = 0;

var isLoop = true;
skeletonAnimation.AnimationState.SetAnimation(trackIndex, nextAnimation, isLoop);


参考

https://github.com/pharan/spine-unity-docs/blob/master/spine-unity-animation.md