Spineランタイム:アニメーション再生タイムライン(トラック)の構成
以前にFlashとSpineのタイムラインの違いについて簡単にまとめましたが、Spine側をもう少し詳しく掘り下げてみようと思います。
以下、Spineツール4.3、ランタイムはSpine-Stralingの4.3を利用した場合で解説しますが、どの言語ランタイムでも基本は同じです。
Spineランタイムのタイムラインは映像編集ソフトのそれに似ている
Spineランタイムでは1キャラクターに対して、アニメーションの再生を同時にいくつでも行う事ができ、並列にアニメーションタイムラインが並んでいる状態になります。(対して、Spineツール上のタイムラインは1本です)。それぞれのタイムラインはトラック
と呼ばれ、トラックは1つづつ個別のスピードで再生できます。各トラックのアニメーションで同じパーツを操作していても、うまい具合に全てが合成されて再生されます。
アニメーション再生命令の第一引数にはトラック番号が指定できます。これで複数のアニメーションを同時に制御できます。アニメーションの停止命令のclearTrack
もトラック番号が指定できます。
var trackIndex:int = 0; // これがトラック番号
// 再生
var animName:String = "hoge";
var loop:Boolean = false;
animationState.setAnimationByName(trackIndex, animName, loop);
// 停止
animationState.clearTrack(trackIndex);
その他、トラック番号が指定できる命令はいくつかあります。
連続アニメーションとアニメーション切り替え時のMixing
addAnimation
などの命令で連続アニメーションを指定した際は、指定トラックに複数のトラックデータが並ぶ状態になります。トラックデータ同士の合間に間を設けることも、それぞれのアニメーションをクロスフェードさせるような感じで、スムーズに切り替えることもできます。
この、アニメーションのmixingについては別途投稿にまとめます。
まとめ
アニメーションスピードの個別で調整や、合成するアニメーションの動的な追加など、Spineは他ツールと比較して、高度で柔軟な作業ができると言えます。弱点としては現在アニメーションツール側では複数のアニメーションを合成再生プレビューする機能が(おそらく)ない点です。しかし、ここはそのうち改善されると思いますし、SkeletonViewrを立ちあげつつ作業することで、ある程度カバーできそうです。
今回は以上です。
Author And Source
この問題について(Spineランタイム:アニメーション再生タイムライン(トラック)の構成), 我々は、より多くの情報をここで見つけました https://qiita.com/harayoki/items/05544f90ccc600119f9c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .