スプライトシートとは?ゲーム開発での活用方法
スプライトシートは複数の画像を1枚のPNGにまとめたもので、ゲームエンジンでのテクスチャ管理・描画パフォーマンス最適化の基本手法です。
スプライトシートがゲームパフォーマンスを改善する理由
個別の画像ファイルを100枚ロードするには100回のI/O処理が必要ですが、1枚のスプライトシートにまとめれば1回のロードで済みます。GPUへのテクスチャアップロードも1回になるためドローコールが削減され、描画パフォーマンスが向上します。Unity・Phaser・PixiJSなどのゲームフレームワークはスプライトシート(テクスチャアトラス)を標準でサポートしています。
Packer(パック)の仕組み
Sheet StudioのPackerは複数の画像ファイルをアップロードし、1枚のキャンバスに自動配置します。パディング(画像間の余白)・2のべき乗サイズ(WebGLで推奨)・透明トリム(透過領域を切り詰め)のオプションを設定して最適化できます。出力はPNG画像と各スプライトの座標データを含むJSONのペアで、ゲームエンジンにそのまま読み込めます。
Slicer(スライス)の使い方
Slicerは逆の操作で、1枚のスプライトシートを各スプライトに分割します。分割数またはセルサイズを指定するグリッドスライス方式と、手動で範囲を指定する方法(デスクトップ版)があります。既存のゲームアセットやフリー素材のスプライトシートを個別ファイルに書き出したいときに使います。
アニメーションプレビューで動作確認(デスクトップ版)
デスクトップ版Sheet Studioではパックしたスプライトシートをアニメーションプレビューで確認できます。FPS(フレームレート)を調整してキャラクターアニメーションの速度感を確認しながらスプライトの並び順を最適化できます。