2Dゲームを作ろうと最初の画像をインポートしたとき、多くの人が同じ場所でつまずきます。 せっかくのドット絵がぼやけて表示される。キャラと背景の大きさの比率がめちゃくちゃになる。——原因はどちらも、画像そのものではなくUnity側のインポート設定にあります。
この記事では、2Dゲームのビジュアルの根幹であるSprite(スプライト) の正しいインポート設定から、複数のコマを1枚にまとめたスプライトシートの分割・活用までを解説します。
この記事でわかること
- Spriteの基本設定と
Sprite Renderer- ドット絵がぼやける問題の直し方(
Filter ModeとCompression)- Pixels Per Unit——2Dの「大きさの基準」を揃える
- スプライトシートのSprite Editor分割(自動/グリッド)
- なぜ1枚にまとめるのか(ドローコールとSprite Atlas)
Spriteとは?
2Dゲームの画面に表示されるもの——キャラクター、背景、アイテム、エフェクト——は、ほぼすべてSpriteという画像アセットです。
UnityにPNGなどの画像をインポートすると、デフォルトではTexture TypeがDefault(3D用テクスチャ)として扱われます。2Dで使うにはInspectorで切り替えます。
- プロジェクトウィンドウで画像アセットを選択します。
- Inspectorの
Texture TypeをSprite (2D and UI)に変更します。 Applyを押して適用します。
tips: プロジェクト作成時に2Dテンプレートを選んでいれば、画像は最初からSpriteとしてインポートされます。3DテンプレートやURP 3Dで2Dを混ぜるときは手動変更が必要です。
シーンに配置されたSpriteはSprite Rendererコンポーネントが描画します。色(Color)による着色や、Flip X/Yによる反転(左右の向き変え)もこのコンポーネントで行えます。
ドット絵がぼやける:Filter ModeとCompression
「元の画像はカリカリのドット絵なのに、Unityに入れるとぼやける」 ——2Dで最も多い相談です。原因は2つの設定にあります。
Filter Mode: 画像を拡大縮小するときの補間方法です。デフォルトのBilinearは隣のピクセルと色を混ぜて滑らかにするため、ドット絵ではにじみになります。ドット絵はPoint (no filter)に変更してください。ピクセルの角がそのまま残ります。Compression: テクスチャ圧縮です。圧縮は写真的な画像には有効ですが、ドット絵では色化けや汚れの原因になります。ドット絵はNoneが基本です。
逆に、手描きイラスト系の高解像度画像ならBilinear+圧縮ありのデフォルトで問題ありません。「ドット絵ならPoint+None」 とセットで覚えてください。
Pixels Per Unit:大きさの基準を揃える
Pixels Per Unit(PPU)は、画像の何ピクセルをシーンの1ユニットとして扱うかの設定です(デフォルト100)。
たとえば32×32ピクセルのドット絵キャラは、PPU 100だとシーン上で0.32ユニットの小さな存在になります。PPUを32にすれば、ちょうど1ユニット=グリッド1マス分の大きさになります。
重要なのは値そのものより 「プロジェクト内で基準を統一する」 ことです。キャラは32、背景タイルは16、とバラバラにすると配置のたびにスケール調整が必要になります。ドット絵なら「タイル1枚のピクセル数=PPU」に揃えるのが定番です。物理演算も1ユニット=1メートル相当で計算されるため、PPUの統一は 2D物理 の挙動にも効いてきます。
スプライトシートとSprite Editor
キ ャラクターの歩き・ジャンプのような連続コマは、1コマ1ファイルではなく、1枚の画像にまとめた「スプライトシート」 で管理するのが基本です。
上はスライムのアニメーション用スプライトシートの実例です。この1枚をUnity上で個々のコマに分割するのがSprite Editorの仕事です。
Sprite Editorを使った分割方法
- Sprite Modeの変更: 画像を選択し、Inspectorで
Sprite ModeをSingleからMultipleに変更します。 - Sprite Editorを開く:
Sprite Editorボタンをクリックします。 - 自動分割 (Automatic): 左上の
SliceメニューでType: AutomaticのままSliceを実行すると、透明部分を解析して個々のスプライトを自動検出します。サイズがまちまちな素材向きです。 - グリッド分割 (Grid by Cell Size): コマが等間隔に並んでいるシートは、
Type: Grid by Cell Sizeで1コマのピクセルサイズ(例: 32×32)を指定して分割するほうが正確です。アニメーション用シートは基本こちらです。 - 手動調整: 矩形をドラッグで作成・修正できます。スプライト名やピボット(基準点)も個別に設定可能です。
- 適用: 右上の
Applyを忘れずに。押さないと分割情報が保存さ れません。
AutomaticとGrid by Cell Sizeは、素材の並び方で選ぶのがコツです。歩行や攻撃のように同じサイズのコマが等間隔に並んだアニメシートはGridが確実。エフェクトやアイテムをサイズ無視で1枚に詰め込んだ素材集は、透明部分を解析してくれるAutomaticが向いています。
Apply後、プロジェクトウィンドウでアセットの矢印を展開すると、分割された個々のスプライトが子アセットとして現れます。これをそのまま 2Dアニメーション のクリップ作成に使えます。
なぜスプライトシートを使うのか?
- パフォーマンス向上: 複数のSpriteが同じテクスチャを共有していると、Unityは1回の描画命令(ドローコール)にまとめて処理できます。画面に数百のスプライトが出る2Dゲームでは効果が大きい最適化です(詳細は ドローコールとバッチングの記事 参照)。
- 管理の容易さ: 関連画像が1ファイルにまとまり、アセット整理がシンプルになります。
- メモリ効率: 多数の小さい画像より1枚の大きい画像のほうがメモリ効率も良好です。
tips: 「別ファイルの画像たちを、Unity側で自動的に1枚にまとめる」公式機能がSprite Atlasです。素材を1枚に描き直さなくても同じ効果が得られます(おまけ参照)。
実践:歩行アニメ素材をシートから用意する
アクションの主人公の歩き、見下ろしRPGの4方向歩行、横スクロールの走り——2Dゲームの「キャラが動く」は、ほとんどが 1枚のスプライトシートを分割してアニメにする という同じ流れで作れます。ここまでのインポート設定を、実際の制作手順に落とし込んでみましょう。
- インポートと基本設定: 歩行コマが横に並んだPNGを インポートし、
Texture TypeをSprite (2D and UI)に。ドット絵ならFilter Mode: Point・Compression: Noneにして、PPUを1コマのピクセル数に合わせておきます(前半で解説した3点)。 - Multipleに切り替え:
Sprite ModeをSingleからMultipleへ変更します。 - Grid by Cell Sizeで分割:
Sprite Editorを開き、1コマのサイズ(例: 32×32)を入れてSlice→Apply。コマが等間隔ならAutomaticよりもGridのほうがズレません。 - アニメ化: 分割された子スプライトをプロジェクトウィンドウで 全選択し、シーンのオブジェクトへまとめてドラッグ。Unityが自動で
Animation ClipとAnimatorを生成してくれます(保存名をwalkなどに)。
ポイントは2つです。
- 分割方法は「素材の並び方」で決める: 等間隔のアニメシートは
Grid by Cell Size、大きさがまちまちなエフェクト集などはAutomatic。ここを間違えるとコマがずれて、再生時にアニメがガタつきます。 - コマのピボットを揃える: 各コマの基準点(ピボット)がバラバラだと、再生中にキャラが上下にブレます。Sprite Editorで全コマの
PivotをBottomに統一しておくと、足が地面についたまま滑らかに歩きます。
ここで作ったクリップの再生速度やループ、「歩き」と「待機」の切り替えは、2Dアニメーション入門 のAnimatorで制御します。状態を条件でつなぐところまで踏み込むと、実際にプレイヤー入力で動かせるキャラクターになります。
おまけ:先に知っておくと良いこと
- Sprite Atlas:
Create > 2D > Sprite Atlasで作成し、対象フォルダを登録するだけで複数スプライトを実行時に1枚へパッキングしてくれる公式機能です。UIアイコンなど「ファイルは別々に管理したいがドローコールは減らしたい」場面の定番です。 - 9スライス: ウィンドウ枠やボタンのように「角は固定・辺だけ伸ばす」画像は、Sprite EditorでBorderを設定し
Sprite RendererのDraw ModeをSlicedにすると、どんなサイズでも角が崩れません。 - ピボットの使いどころ: キャラの足元を
Bottomにしておくと、地面への配置や拡大縮小が直感的になります。回転の中心もピボットです。 - 描画順: 2Dの前後関係は
Sorting LayerとOrder in Layerで制御します。Z座標ではなくこちらを使うのが2Dの流儀です。
まとめ
- 2Dで使う画像は
Texture Type: Sprite (2D and UI)。 - ドット絵は
Filter Mode: Point+Compression: None。ぼやけの原因はほぼこれ。 - PPUはプロジェクトで統一(ドット絵はタイルサイズ=PPUが定番)。物理挙動にも影響する。
- 連続コマはスプライトシートにまとめ、
Sprite Mode: Multiple+Sprite Editorで分割。等間隔ならGrid by Cell Size。 - 同じテクスチャを共有するとドローコールが減る。まとめられない素材はSprite Atlasで。
インポート設定は地味ですが、2Dゲームの見た目の品質を最初に決める工程です。「Point・None・PPU統一」の3点を最初に済ませてから制作に入りましょう。