スプライトシート分割ツール

スプライトシート分割ツールを読み込んでいます...

画像をアップロードせずに、1枚のスプライトシートを再利用可能な個別のPNGフレームに分割します。等間隔のアニメーションフレームやタイルには正確なグリッドを使い、透明または単色の背景上で離れているスプライトは自動検出できます。提案された範囲はすべて編集できるため、見落とされた端の修正、結合された結果の分割、不要な領域の削除、フレーム名や順序の確認を行ってから、個別のPNGまたはframes.jsonの座標を含むZIPをダウンロードできます。

スプライトシートを分割する手順

  1. 1

    スプライトシートを選ぶ

    端末からPNG、JPG、WebPファイルを開きます。画像はブラウザー内でデコードされ、アップロードされません。

  2. 2

    分割方法を設定する

    固定の行、列、セルサイズ、開始位置、間隔にはグリッドを、透明または抽出した背景色上の離れた画像には自動検出を選びます。

  3. 3

    フレームを確認して修正する

    番号付きの範囲を確認し、切り出しの追加、除外、削除、移動、サイズ変更、名前変更、並べ替えを行います。

  4. 4

    結果をダウンロードする

    フレームを1枚ずつ保存するか、選択したPNGと座標一覧`frames.json`を含むZIPをダウンロードします。

シートに合う分割方法を選ぶ

スプライトシートには、アニメーションフレームを正確な行列に並べたもの、一定の余白を持つタイルセット、アイコンを不規則に配置したものがあります。配置によって適した検出方法は異なります。このツールでは各方法を一つの作業手順にまとめつつ、最終判断は利用者が行えます。

方法 適している場合 主な設定 よくある修正
行と列によるグリッド 横と縦のフレーム数が分かる 列、行、開始位置、横と縦の間隔 グリッドがずれたら開始位置や間隔を調整
セルサイズによるグリッド 各フレームのピクセル幅と高さが分かる セルの幅と高さ、開始位置、間隔 順序を変えずに空のセルを残す、または除外
自動検出 透明部分や一色の背景でスプライトが分かれている 空きピクセルの検出:透明部分または隅の背景色 広すぎる範囲を縮める、または接触したスプライトを分離
手動修正 配置が不規則、または検出結果に手直しが必要 追加、移動、サイズ変更、削除、選択、除外 抜けたフレームを正確に囲む、または誤検出を削除

これらの設定は一般的なスプライト作業に沿っています。UnityのSprite Editorは、自動分割、セルサイズまたはセル数によるグリッド、開始位置、余白、空の矩形、ピボットの設定に対応しています。Asepriteのスプライトシート読み込みでも、x/y開始位置、スプライトの幅と高さ、余白、読み取り順を指定します。このツールは画像の切り出しに特化しているため、切り出し座標は出力しますが、Unity、Godot、Asepriteのプロジェクトファイルは作成しません。

自動検出は出発点であり、結果を保証するものではありません

自動検出は、互いにつながっていない可視領域を探します。スプライトの間に透明な空間があれば素早く動作しますが、どの検出方法でもすべてのシートで作者の意図した境界を推測することはできません。接触した2体のキャラクターは一つの領域に見え、離れた影や火花は別の領域として扱われる場合があります。Phaserの抽出ガイドも同じ連結ピクセルの制約を説明しており、接触したスプライトはまとめて検出されます。

書き出す前に、番号付きの範囲を必ず確認してください。自動検出には許容値、最小サイズ、結合距離を調整するスライダーがないため、結果は手動で修正します。単色の背景が画像として誤検出される場合は、空きピクセルの検出を隅の背景色に設定するか、検出をオフにして格子で分割します。結果が細かく分かれすぎる場合は、余分な範囲を削除し、スプライト全体を囲む範囲を1つ描きます。2つのフレームが接している場合は、結合された候補を手動の範囲に置き換えます。元のシートは変更されません。

ZIPとframes.jsonの内容

PNGはピクセルと透明度を正確に保持するため、既定の出力形式です。選択した各フレームには、指定した名前または接頭辞を基に、安全で重複しないファイル名が付きます。ZIPにはこれらのPNGとframes.jsonの一覧が含まれます。各項目にはフレーム名、順序、元画像上の矩形が記録されます。

{
  "name": "player-run-03",
  "x": 128,
  "y": 64,
  "width": 32,
  "height": 48
}

座標は元画像の左上を起点とするピクセル値です。スクリプトや独自の処理に利用できますが、意図的に汎用形式としており、特定のゲームエンジン用アトラスや読み込みファイルではありません。

復元期限を設けた非公開のローカル処理

画像のデコード、検出、編集、切り出し、ZIPの作成はブラウザー内で行われます。画像データとファイル名はサーバーへ送信されません。複数手順の作業を復元できるよう、使用中のタブは容量を制限したローカル作業コピーと設定を最長2時間保持できます。最初からやり直すを選ぶと、使用中のタブのプロジェクトは直ちに削除されます。別に開いたタブには独立したコピーがあり、ほかのタブを初期化しても2時間以内に自動削除されます。

大きなシートを扱う場合は、画像を多く使うほかのタブを閉じ、空のフレームを何百個も作らないようにしてください。品質を無断で下げるのではなく、サイズまたはフレーム数の上限に達したことを通知します。ダウンロードには一時的なブラウザーのオブジェクトURLを使い、MDNの案内に従って使用後に解放します。

書き出し前の確認項目

  • 読み取り順がアニメーションまたはタイルの順序と一致するか確認します。
  • 拡大し、最初、中間、最後のフレームに1ピクセルのずれがないか確認します。
  • 位置自体に意味がない限り、空のセルや意図しない孤立ピクセルを除外します。
  • 異なる名前を付け、ZIPを作る前に重複を確認します。
  • コントラストのあるプレビュー背景で透明な端を確認します。
  • 正確なドラッグが難しい場合は入力欄やボタンで範囲を修正します。W3Cのキーボード操作指針に沿って、キーボードでも操作できます。

よくある質問

フレームが規則的な行と列に並んでいる場合やセルサイズが分かる場合はグリッドを使います。透明部分または一定の背景色で可視スプライトが分かれている場合は自動検出が適しています。どちらも範囲を後から編集できます。

いいえ。離れた可視領域を囲む候補を作りますが、各シートの制作意図までは分かりません。接触したスプライトは結合され、離れた細部は別の範囲になることがあります。表示を確認して必要な箇所を修正してください。

一つの連結領域として検出される場合があります。どの設定でも、ピクセルに存在しない境界は作れません。結合された候補を削除または除外し、目的のフレームを手動で囲んでください。

はい。グリッドではx/y開始位置と個別の横・縦間隔を指定できます。行と列、またはセルの幅と高さを設定し、番号付きセルを確認して、空のセルを書き出すか選べます。

選択したフレームをPNGで個別に、または選択対象をまとめたZIPでダウンロードできます。ZIPには安全な名前、順序、元のx/y/幅/高さを記録したframes.jsonも含まれます。特定エンジンのプロジェクトファイルではありません。

いいえ。ブラウザーがデコード、検出、修正、切り出し、ZIP作成を端末上で行います。復元のため、制限された作業コピーと設定が使用中のタブの端末内に最長2時間残る場合があります。

現在のタブのローカルプロジェクトが直ちに削除されます。他のタブは独立しているため、別のタブで開いたコピーは現在のタブから操作されず、2時間以内に期限切れとなって自動削除されます。

いいえ。一定の結果を返すグリッド計算と可視領域の検出を行い、その後に利用者が修正します。PNGフレーム、ZIP、汎用JSON座標を出力し、Unity、Godot、Phaser、Aseprite固有のメタデータは提供しません。

関連ツール

このツールは他の言語でも利用できます