Spineとは?

Spineは主に2Dアニメーションゲームに特化したアニメーションツールです。エディターを使ってアニメーションを作成したり、Spineランタイムを使ってゲーム内でアニメーションを利用したりするための、効率的で合理的なワークフローを提供します。

利点

Spineのアニメーションは画像をボーンにアタッチし、ボーンをアニメーションさせることで作成されます。このプロセスはスケルタルまたはカットアウトアニメーションと呼ばれ、従来のフレームごとのアニメーションに比べ、多数の利点があります:

  • 小容量 従来のアニメーションは各フレームごとに画像を必要としましたが、Spineアニメーションは非常に小容量なボーンデータだけ保存します。このため豊富でユニークなアニメーションをゲームに搭載することができます。

  • アート要件 Spineアニメーションは少数のアートアセットしか必要としないため、コストと時間をゲーム制作に集中させることができます。

* スムーズ Spineのアニメーションは補間を使用しているため、フレームレートに応じて常に滑らかなアニメーションを実現できます。また、品質を落とすことなくスローモーションで再生することができます。

* アタッチメント ボーンにアタッチされている画像を切り替えて、異なるアイテムやエフェクトを持つキャラクターに着せ替えることができます。アニメーションを異なる外見のキャラクターに再利用することができ、膨大な時間を節約できます。

* ミキシング アニメーションはブレンドすることができます。例えば、キャラクターが「撃つ」アニメーションを再生しながら、「歩く」「走る」「泳ぐ」アニメーションも再生することができます。また、あるアニメーションから別のアニメーションへの切り替えもスムーズにクロスフェードさせることができます。

* プロシージャルアニメーション ボーンはコードによって操作することができ、マウスの位置に向かって射撃したり、近くにいる敵を見るようにしたり、坂道を駆け上がる時に前のめりになるなどを可能にします。

機能

Spineには、魅力的なアニメーションを作りながらも生産性を高められる機能がたくさんあります。後述する多くのエディタ機能に加え、Spineランタイムのライブデモでは、アニメーションをレイヤー化してブレンドしたりして、あらゆる種類のダイナミックな動作を実現する方法を紹介しています。

ド―プシート

ド―プシートはアニメーションの中核です。アニメーションを構成する全てのタイムラインの詳細を示し、アニメーションのタイミングの微調整を可能にします。

Dopesheet

グラフエディター

グラフはキー間の補間のベジエカーブを定義し、よりリアルな動きを可能にします。

Graph Editor

プレビュー

ランタイムでの動作を確認しながらアニメーションの編集を行うことができます。これは、アニメーション間のトランジションやクロスフェード、さらには複数のアニメーションを同時に適用する(例えば、「走りながら撃つ」「泳ぎながら撃つ」など)際に重要です。

Preview

インバースキネマティクス

インバースキネマティクス(IK)を使用してアニメーションを行うためのコンストレイント(制約)を定義することができます。また、ポーズツールではマルチボーンIKを使用してスケルトンのポーズを素早く作成することができます。

IK Posing

パス

合成ベジエ・スプラインを使ってパスを定義し、それに沿ってボーンを制約することができます。パスは複雑な動きを容易にし、多数のボーンを直感的にコントロールできるようにすることで高度なリギングを可能にします。

Paths

スキン

スキンはアタッチメントのセットを切り替えることができます。アタッチメントをグループ化することで、アタッチメントを変更するアニメーションを他のキャラクターに再利用できます。

Skins

境界ボックス

境界ボックスはボーンにアタッチできるポリゴンです。このポリゴンは画像と同様にボーンの動きにより操作され、ヒット検出や物理学統合に使用できます。

Bounds

メッシュ

メッシュは矩形を描画する代わりに、イメージ内部にポリゴンを指定します。ポリゴン外部ではピクセルが描画されないためフィルレート(fill rate)を改善することができます。これはモバイルゲームでは特に重要な点です。また、メッシュはFFDやスキニングも可能にします。

Meshes

フリーフォームデフォメーション

フリーフォームデフォメーション(FED)を利用するとメッシュの各頂点を動かして画像を変形させることができます。FFDは矩形イメージには不可能な方法でメッシュの伸張、押し潰し、折り曲げ、跳ね返りを可能にします。

Free-Form Deformation

ウェイト

ウエイト(「スキニング」とも呼ばれます)はメッシュ内の個々の頂点を色々なボーンに結び付けます。ボーンが動くと頂点も一緒に動き、メッシュが自動的に変形されます。これにより、ボーンを配置するだけで、画像が曲がって動くキャラクターを簡単に作ることができます。

Weights

エクスポート形式

SpineはSpineランタイムとの使用に最適な独自のJSONとバイナリ形式でアニメーションデータをエクスポートします。また、アニメーションGIFや、PNGおよびJPEGイメージシークエンス、AVIおよびQuickTime形式のビデオもエクスポートできます。

Export formats

インポート

SpineはJSONまたはバイナリ形式を使用してデータをインポートすることができるため、他のツールからSpineへのデータインポートが可能です。また、他のプロジェクトファイルからスケルトンとアニメーションもインポートすることもできます。

importing

テクスチャパッカー

Spineはテクスチャアトラスやスプライトシートにイメージをパックすることができ、ゲーム内でのより効率的なレンダリングを実現します。Spineのテクスチャパッカーは空白除去、回転、自動スケーリングなど多数の機能を提供します。

Texture Packer

ランタイム

素晴らしいアニメーションをデザインするのは作業の一部でしかありません— これらのアニメーションはゲームの中でレンダリングする必要があります。Spineランタイムは、Spineランタイムは、ゲームツールキットがアニメーションをロードし、Spine上と同じようにゲーム内でレンダリングできるようにするためのライブラリです。

Spineランタイムは19ゲームのツールキットと7つのプログラミング言語に公式にサポートしています。また40以上のサードパーティ製ランタイムもご利用いただけます。詳しくはSpine ランタイム をご覧ください。

開発 

Spineでは活発な開発が行われています。毎週、複数の新リリースを発表することも頻繁にあります。当社の進捗の詳細は変更履歴でご確認いただけます。当社のロードマップ計画の詳細にご興味がある方は、Spine Roadmapをご覧ください。各タスクにコメントしたり、タスクが完了したときにメールを受け取るように登録することができます。

当社は定期的に新機能を実装するだけではなく、ソフトウェア全体を改善し、改良し続けています。改善にはユーザーの皆様によるフィードバックがきっかけになることも多々あります。どの機能がうまく動く、または動かないかなどをぜひ伺いたいので、Spineフォーラムにてお気軽にご意見をお聞かせください。