ランタイム用語集

Spineの公式ランタイム全体を通して使用されている共通用語集です。

Atlas (アトラス) : Atlas(アトラス)とは、テクスチャアトラスとも呼ばれ、テクスチャの名前の付いた領域を保存するものです。Spineはアトラスを作成するためにテクスチャパッキングを行うことができますが、Texture Packer Proなどの外部ツールを使用することもできます(ほとんどのランタイムは「libgdx」アトラスフォーマットを使用しています)。

Animation (アニメーション) : アニメーションには、タイムラインのリストが格納されています。各タイムラインには、時間と1つ以上の値を持つキーが格納されています。アニメーションが適用されると、タイムラインはキーを使ってスケルトンの操作やイベントの実行などを行います。アニメーションは処理状態を保持しません。

AnimationState : AnimationStateとは、スケルトンに1つまたは複数のアニメーションを適用するための処理状態を保持する便利なクラスです。AnimationStateは、ゼロから始まるインデックスを持つ「トラック」という概念を持っています。各トラックのアニメーションはフレームごとに順番に適用され、アニメーションを重ねて適用することができます。各トラックには、後で再生するためにアニメーションをキューに入れておくことができます。また、AnimationStateは、現在のアニメーションが変化したときにアニメーション間のミキシング(クロスフェード)を行います。

Attachment (アタッチメント) : アタッチメントとは、スロットに配置されることでボーンに取り付けられる(アタッチされる)もののことです。例えば、テクスチャ領域(領域アタッチメント)や境界ボックスなどです。

AttachmentLoader : AttachmentLoaderは、SkeletonJsonがアタッチメントを作成する際に使用されます。これは、独自のアタッチメント実装を提供するためのフックであり、例えば遅延ロードを行うためのものです。最も一般的なAttachmentLoaderは、領域アタッチメントの画像をどこから持ってくるかをカスタマイズするために使用されます。

Bone (ボーン) : ボーンにはローカルトランスフォーム(SRT)があり、子ボーンはこれを継承します。また、ボーンはワールドトランスフォームを持ち、これはすべての親ボーンのトランスフォームとローカルトランスフォームを組み合わせたものになっています。ワールドトランスフォームは、ルートボーンが定義されているのと同じ座標系を使用します。

Bounding box attachment (境界ボックスアタッチメント) : 当たり判定や物理シミュレーションなどを行うためのポリゴンを持ったアタッチメントです。

Draw order (表示順序) : Draw order(表示順序)は、スケルトンのスロットのリストです。このリストの順番は、各スロットのアタッチメントが描かれる順番で、後ろから前に向かって描かれます。

Mixing (ミキシング) : ミキシングとは、クロスフェードとも呼ばれ、現在のポーズとアニメーションのポーズを直線的にブレンド(リニアブレンド)してアニメーションを適用することです。

Region attachment (領域アタッチメント) : テクスチャ領域とオフセットSRTを持つアタッチメントで、アタッチメントのボーンに対する領域の相対的な位置を決めるのに使われます。

Slot (スロット) : スロットとは、ボーン上のプレースホルダーのことです。スロットは単一のアタッチメントを持つこともあれば、全くアタッチメントを持たないこともあります。また、カラーや、アタッチメントが変更されてからの経過時間も持っています。

Skeleton (スケルトン) : スケルトンは、スケルトンの状態を保持します。これには、現在のポーズ、ボーン、スロット、表示順序などが含まれます。

SkeletonBounds : SkeletonBoundsは、現在取り付けられている境界ボックス・アタッチメントを使ってスケルトンの当たり判定を行うための便利なクラスです。

SkeletonData : SkeletonDataには、スケルトンの情報(バインドポーズのボーン、スロット、表示順序、アタッチメント、スキンなど)とアニメーションが含まれていますが、ステート(処理状態)は保持していません。また、複数のスケルトンが同じSkeletonDataを共有することができます。

SkeletonJson : SkeletonJsonは、JSONからSkeletonDataを読み込みます。

SkeletonRenderer : SkeletonRendererは、スケルトンの表示順序のスロットを繰り返し処理し、さまざまなアタッチメントのレンダリング方法を把握しています。

Skin (スキン) : スキンとは、スロットと名前をキーとし、アタッチメントを値とするマップのことです。スキンは、スロットと名前を使って特定のアタッチメントを見つけることができる、間接的なレベルです。例えば、あるスキンのキーが[slot:head,name:head]だとして、値が[attachment:redHead]であるなどです。そして別のスキンでは、同じキーに[attachment:greenHead]のような値が設定されます。アニメーション中では非固有名が使用されることで、アタッチメント変更のアニメーションを異なるアタッチメントを持つスケルトンに再利用することができます。

SRT : Scale(スケール)、Rotation(回転)、Translation(トランスレーション)のことで、「Transform(トランスフォーム)」とも呼ばれます。

Transform (トランスフォーム) : スケール、回転、トランスレーションのことです。