KDOC 485: asepriteでパッキングする

この文書のステータス

  • 作成
    • 2025-11-10 貴島
  • レビュー
    • 2025-11-10 貴島

概要

2Dゲームでは小さな大量の画像を使う。それらを効率的に扱うためにはスプライトの管理が重要である。1ファイルに結合することで、ファイル読み込みを減らして高速化できる。

asepriteはゲーム用のピクセル画像やアニメーションを描くツールであるが、コマンドラインツールとしても使える。ディレクトリ内の画像をまとめて1つの画像にし、それらの対応関係をまとめたJSONを作ってくれるので、コードから読み込みやすくなる。

aseprite \
    --batch ./tiles/*.png \
    --sheet ./dist/tiles.png \
    --data ./dist/tiles.json \
    --sheet-type packed \
    --format json-array \
    --filename-format "{title}"
{
  "frames": [
    {
      "filename": "tree",
      "frame": {
        "x": 32,
        "y": 64,
        "w": 32,
        "h": 32
      },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": {
        "x": 0,
        "y": 0,
        "w": 32,
        "h": 32
      },
      "sourceSize": {
        "w": 32,
        "h": 32
      },
      "duration": 100
    },
    {
      "filename": "doctor",
      "frame": {
        "x": 32,
        "y": 128,
        "w": 32,
        "h": 32
      },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": {
        "x": 0,
        "y": 0,
        "w": 32,
        "h": 32
      },
      "sourceSize": {
        "w": 32,
        "h": 32
      },
      "duration": 100
    }
  ]
}

関連

なし。