本文へスキップ

スプライトシート作成

Sprite Sheet Packer

多数の画像を1枚のアトラスに詰め、対応するCSSかJSONの座標表を一緒に書き出します。

アトラス1枚と、それを使えるものにする座標です。フレームの対応表がないスプライトシートは、ただのアイコンの写真だからです。パッカーは充填率を報告します。そのアトラスに持つ値打ちがあるのかを教えてくれる数字が、それです。

🔒 ブラウザの中だけで動きますspriteatlascssgame

まとめたいアイコンを置いてください

アトラス1枚と、それを使えるようにするフレームマップを作ります。

使い方

  1. アイコンを置きます

    ファイル名がそのままスプライトの名前になり、CSSのクラス名やJSONのキーになります。

  2. 隙間は最低2ピクセル空けます

    シートを拡大縮小して描いたり、バイリニアで補間したりしたときに、隣のスプライトがにじみ込むのを止めるのがそれです。アイコンの端に出る、誰にも説明できないあの線です。

  3. 対応表の形式を選びます

    JavaScriptが要らないのはCSSだけです。JSONはTexturePackerのhash形式に従うので、よく使われるゲームエンジンならそのまま読めます。

  4. 素材が@2xならピクセル比を設定します

    対応表の数値をすべて割るので、CSSがデバイスピクセルではなくCSSピクセルを記述するようになります。

よくある質問

充填率とは何のことですか

アトラスのうち、空白ではなくスプライトである割合です。半分を切るあたりからは、形の大きく違うスプライトを詰め込もうとして負けており、大量の透明部分をダウンロードさせていることになります。2枚に分けるほうが、たいてい勝ちます。

HTTP/2でもスプライトシートを使うべきですか

ウェブでは、たいてい使わないほうがいいです。アトラスを正当化していたリクエストの費用はほぼ消えましたし、SVGスプライトや個別ファイルのほうが手入れしやすくなります。canvasやWebGLのゲームでは今も正解です。テクスチャのバインド1回は、50回に勝ちます。

アトラスの大きさが2の累乗でないのはなぜですか

場所を食いますし、いまのGPUの多くは必要としないからです。ミップマップを作るときや古いテクスチャ経路を相手にするときは、無駄になる面積を受け入れたうえで設定を入れてください。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。