位置が跳ねるスプライトアニメーションを修正:キャンバスサイズ、基準線、トリミングのオフセット

それぞれのポーズは単独では問題なく見えても、再生するとキャラクターの位置が跳ねることがあります。最初に変えるべきものが速度であることは、ほとんどありません。動きの原因が元の絵なのか、切り出しの原点の違いなのか、最後から最初へのつなぎ目なのかを見極めてください。

一時停止して、実際のフレーム範囲を比較

連続画像を読み込み、再生せずにサムネイルを順にクリックしてください。エディターで各元フレームの寸法を記録します。64 × 64のポーズの後に、ぴったり切り抜いた28 × 45のポーズがあると、同じ座標系ではなくなります。プレビューで中央に置くと自然に見えても、キャラクターの足が動く場合があります。

スプライトシートアニメーターは、GIF書き出し時に小さいフレームを最大のキャンバス内で中央配置します。足、ピボット、武器の持ち手は推定しません。正確に位置合わせするなら、自動中央配置に頼らず、アップロード前に共通の透明キャンバスを用意してください。

上に位置がずれた旅人の3ポーズ、下にブーツを共通の破線の基準線へ合わせた3ポーズ。
上の列は、基準となるフレームに対して位置がずれています。下の列は、ポーズ自体の違いを許容しながら、共通の床の基準線を保っています。すべての切り出し画像の上端ではなく、意味のある基準点をそろえてください。 フルサイズ画像を開く

動きに適した基準点を選択

連番参考情報避ける
接地した待機動作床の基準線と接地した足頭の上端を揃える
回転するUIアイコン意図した回転の中心変化する切り抜きをそれぞれ中央に置く
武器の振り持ち手または取り付け点刃先を揃える
爆発意図したエフェクトの原点非対称なすべてのポーズを、無理に中央に見せる

歩行には意図した体の動きがあります。キャラクターのすべての部分を同じ座標に固定しないでください。胴体が上がる一方で、接地している足は床にとどまることがあります。アニメーションの目的を表す基準を選び、他の部分の意図した動きはそのまま残してください。

オフセットがあればトリミング済みフレームを復元

Asepriteが64 × 64のポーズからオフセット(19, 20)にある22 × 38の切り抜きを出力したら、透明な64 × 64の画像を作り、切り抜きを(19, 20)へ戻します。対応するJSONは、spriteSourceSizeでこのオフセットを提供します。frame内のアトラス座標は、ピクセルを読む場所を示すもので、復元したポーズ内で置く場所ではありません。

メタデータがあれば展開ツールを使います。内容ぎりぎりに切ったPNGだけが残っているなら元オフセットは失われているため、エディターで参照に合わせて手動配置します。高いFPSや大きいGIFでも、切り抜きだけからその座標は復元できません。

位置合わせのずれと、順序による飛びを区別

  1. 隣り合うポーズをゆっくり確認してください。切り抜きのために同じ基準点がキャンバスに対して動く場合は、元画像の配置を修正します。
  2. 基準点が安定しているのに体のポーズが急に変わる場合は、フレームの欠落や順序違いを確認してください。
  3. 最後のポーズの直後に最初のポーズを確認してください。内部では滑らかな連続画像でも、ループ境界で破綻することがあります。
  4. これらを確認してから再生速度を選んでください。FPSを増やすと一部の跳ねは隠れますが、修復はしません。

意図した動きを不具合とせず、出力を確認

反動、小さなジャンプ、踏み込みでは、基準点が動くのが適切な場合があります。連続するフレームを静止した輪郭に揃えてしまわず、意図した動作と比較してください。位置を揃えた可逆形式のバージョンを保持し、GIFを書き出して数回ループを確認します。GIFの色の変化や遅延時間の丸めは、空間的な位置合わせとは別の問題です。

書き出しの準備完了: 必要に応じた共通フレーム寸法、意図した基準点、正しい順序、意図したループ境界、原本の保持です。元の絵自体の比率が予期せず変わるなら、再生設定として扱わず、絵柄へ戻ってください。

作業手順を試す

フレームを1枚ずつ進めて基準位置を比較し、順序を並べ替え、GIFを書き出す前にループをプレビューします。

アニメーションフレームを確認 →