2Dゲームの地面や壁、洞窟、街並み——これらをSprite 1枚ずつ並べて作るのは、気が遠くなる作業です。そこで使うのが Tilemap 。小さなタイル(絵)を格子状に敷き詰めて、広いマップを効率よく組み立てる仕組みです。Spriteとスプライトシート は用意できたけれど、ステージをどう作ればいいか止まっていませんか?
この記 事では、Tilemapの 3つの部品(Grid・Tilemap・Tile Palette)から、タイルに 当たり判定 を付ける方法、地面と装飾を レイヤー に分けるコツ、境界タイルを 自動配置 するRule Tile、そして スクリプトからタイルを置く 方法まで、2Dステージ作りの土台をひととおり解説します。
この記事でわかること
- Grid・Tilemap・Tile Palette の関係(格子・地図・絵の具箱)
- タイルに 当たり判定 を付ける(Tilemap Collider 2D+Composite)
- 地面・装飾を 複数のTilemap に分ける(Sorting Layer)
- Rule Tile で境界タイルを自動配置する(2D Tilemap Extras)
- 実践:
SetTileでスクリプトからタイルを配置する
動作確認環境: Unity 2022.3 LTS / Unity 6
Grid・Tilemap・Tile Palette
Unityのタイルマップは、3つの部品でできています。まずこの関係を押さえると、この先が迷わず読めます。

| 部品 | 役割 |
|---|---|
| Grid | タイルを並べる格子を管理する親のGameObject。マス目の大きさを決める |
| Tilemap | その格子にタイルを実際に敷く子のコンポーネント。1枚の地図に相当 |
| Tile Palette | 使えるタイルを登録した絵の具箱。ここからタイルを選んで描く |
作る手順
- Hierarchyで右クリック →
2D Object > Tilemap > Rectangularを選ぶと、Grid+Tilemapが自動で作られます Window > 2D > Tile Paletteでパレットを開き、Create New Paletteで新規パレットを作成- スライス済みのスプライトシート(Spriteとスプライトシート で作ったもの)をパレットにドラッグ。各マスが「使えるタイル」として登録される
- パレットでタイルを選び、Sceneビューを筆でなぞるように描いていく
これだけで、広い地面や壁があっという間に敷けます。1マスずつSpriteを置く必要はありません。
補足: 1つのTile Palette(絵の具箱)は、複数のTilemap(地図)で共有できます。絵の具箱は1つ、地図は何枚でも、という使い方が基本です。
タイルに当たり判定を付ける
床の上をプレイヤーが歩き、壁で止まる——この 当たり判定 は、Tilemapにコンポーネントを足すだけで、敷いたタイル全体に一気に付きます。

- 地形のTilemapに
Tilemap Collider 2Dを追加する。これで、タイルが敷かれた場所すべてに自動で当たり判定が生まれる - さらに
Composite Collider 2Dを追加する(Rigidbody 2Dも一緒に付くので、その Body Type をStaticにする) - Tilemap Collider 2Dの
Used By Compositeにチェック を入れる
Composite Collider 2Dを足す理由は2つです。 タイルごとに分かれた当たり判定が1枚の輪郭に結合される ため、タイルの継ぎ目にプレイヤーが引っかかる不具合が消えます。さらに 当たり判定の数が激減して動作が軽くなる ため、広いマップでも軽快に動きます。プレイヤー(Rigidbody 2D+Collider 2D)は、この地形の上を歩けるようになります(Rigidbody2DとCollider2D 参照)。
複数のTilemapでレイヤー分け
マップは1枚のTilemapでも作れますが、 役割ごとにTilemapを分ける と管理がぐっと楽になります。Gridの下に、Tilemapを持つGameObjectを複数ぶら下げます。

Grid
├── Background (Tilemap) # 背景 (空・遠景)。当たり判定なし
├── Ground (Tilemap) # 地面・壁。Tilemap Collider 2D + Composite
└── Decoration (Tilemap) # 草・小物。地面の上に重ねる。当たり判定なし
- 前後関係(描画順) :各Tilemapの
Tilemap Rendererの Sorting Layer と Order in Layer で決めます。数字が大きいほど手前に描かれます。地面の上に草を重ねたいなら、DecorationのOrderをGroundより大きくします。 - 役割の分離 :当たり判定は
Groundだけに持たせ、BackgroundやDecoration(草・看板)は当たり判定なしにします。「当たる地面」と「飾りだけの装飾」を混ぜないのがコツです。
Sorting LayerはSprite全体で共通 です。プレイヤーのSpriteRendererのSorting Layer/Orderも同じ土俵で比較されるので、「プレイヤーを装飾の手前に出したい」といった調整もここで行います。詳しくは レイヤーとタグ も参考になります。
Rule Tileで境界を自動化する
草地と土の境目、壁の角、道の曲がり角——これらの 境界タイルを1枚ずつ選ぶのは大変 です。そこで使うのが Rule Tile 。周囲のタイルの状況を見て、エンジンが自動で適切なタイルを選んでくれる仕組みです。
