ドキュメント 出力

ゲームエンジン向けのスケルトンのエクスポート

ファイル ▸ エクスポート ▸ スケルトン(JSON)… は、ボーンのリグとそのアニメーションを、画像にレンダリングするのではなく、ゲームエンジンが再生できるデータとして書き出します。

スプライトシートは、すべてのフレームを画像として保存します。スケルトンのエクスポートは代わりにリグを保存します。ボーン、そこに掛けた画像、そしてボーンが時間とともにどう動くかです。キャラクターはエンジンが自分で描くので、アニメーションは小さいまま、どんな大きさやフレームレートでもなめらかに再生されます。

エクスポートする

  1. ファイル ▸ エクスポート ▸ スケルトン(JSON)… を選びます。
  2. フォルダーを選びます。エクスポートは複数のファイルを書くので、ファイル名ではなくフォルダーを尋ねます。
  3. ファイルはすぐに書かれます。選ぶ設定はありません。

フォルダーには skeleton.json、ボーンに付けた画像をまとめたアトラス画像 skeleton.png、そしてメッシュごとに、メッシュレイヤーの名前が付いた PNG が一枚ずつ入ります。ファイル名に使えない文字は置き換えられ、二つのメッシュが同じ名前なら、二つ目のファイルには番号が付きます。名前は決まっているので、同じプロジェクトをもう一度エクスポートすると同じファイルが置き換わります。

ファイルの中身

構成は Spine のものを手本にしています。ボーン、スロット、アタッチメント、アニメーションです。Spine のファイルではなく、Spine の公式ランタイムでは読めませんが、形はなじみのあるものなので、エンジン向けの読み込み処理は一度書けば済みます。

部分中身
ボーンすべてのボーンレイヤーのすべてのボーンと、親に対するバインドポーズ。IK の目標になる固定のボーンは除かれます。その効果は、それが動かすボーンにすでに入っているからです
メッシュのアタッチメント各メッシュレイヤー。バインドポーズの頂点、三角形、各頂点に対する各ボーンのウェイトを持ちます
リージョンのアタッチメントレイヤーをリンクでボーンに固く付いていくレイヤー。ボーンからの決まったずれと一緒にアトラスに置かれます
アニメーションタイムラインのグループマーカーごとに一つのアニメーションで、名前はマーカーの名前です。グループマーカーがなければ、開始点から終了点までの default という一つのアニメーションになります

エンジンがなければ再現しなければならないものは、すべてただの数値に焼き込まれます。IK、ボーンのダイナミクス、操作用のボーン、アクションは、どれもふつうの回転、移動、スケールのキーになります。アクションがボーンのウェイトでは表せない形でメッシュを変えるときは、そのアニメーションは代わりにメッシュの頂点の位置をフレームごとに保存するので、エンジンはアクションの仕組みを知らなくて済みます。

まだ含まれないもの

  • 自分のキーフレームで動き、ボーンにリンクしていないレイヤー。そういうものはスプライトシートか PNG の連番でエクスポートしてください。
  • ボーンに加えて、自分の位置、回転、スケールも持つメッシュ。
  • 生きた拘束としての IK、変形、パス、物理の拘束、イベント、衣装を替えるためのスキン。
  • ボーンレイヤーの中での自動の追従。エクスポートされるのは、バインドしたか塗ったウェイトと、レイヤーをリンクでつないだレイヤーだけです。フレキシブルや領域のバインドだけでリグに付いていくレイヤーは、エクスポートでは動きません。
移動とスケールのキーが付くのは、実際に動くボーンだけです。ほとんどのボーンは回転するだけなので、そのアニメーションには回転しか入りません。これでファイルが小さく保たれます。