オートタイル タイルセットエディター · Godot・Tiled・Unityの地形ビット
ピアリングビットの手作業はもう不要。シートを入れると、Studioが公開済みの12配置のどれかを認識し、全組み合わせがそろっているか確認し、Godotのルールどおりにテストマップを塗り、エンジンで読み込みを確認したファイルを書き出します。
オートタイルのシートは、各タイルがどの隣とつながるかが書かれるまではただの絵です。Godotはこれを地形のピアリングビット、TiledはWang ID、UnityはRule Tileの隣接ルールとして持ちます。タイル工房(Nerulio StudioのTileワークスペース)はPNGシートのグリッドを測り、タイル同士の継ぎ目から公開済みの12配置のどれかを見分けてビットを書き込み、足りない組み合わせを挙げ、GodotかTiledのルールでテストマップを塗ります。書き出したファイルはGodot 4.7.2、Tiled 1.12.2、Unity 6000.5.3f1で実際に読み込んで塗り、LDtkファイルは1.5.3のスキーマと公式ローダーで確認しました。

- Godot 4 TileSet検証済み· Godot 4.7.2
- Tiled検証済み· Tiled 1.12.2
- Unity 6 Rule Tile検証済み· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
- LDtk一部検証· LDtk 1.5.3 schema + loader
ピクセルから配置を見分ける仕組みと、失敗するケース
配置とは、シートのマスごとに「そのタイルがどの隣接マスクを表すか」を並べた表です。同じブロブ47枚でも、互換性のない並びが少なくとも5種類(cr31昇順8×6、wang blob 7×7、caeles、GameMaker、Godot 3の12×4テンプレート)あり、PNGの中にはどれなのか書かれていません。表を取り違えると、全タイルが違うルールに入ります。
そこでワークスペースは、表ごとに絵と照らし合わせます。ある配置が「Aは右がつながり、Bは左がつながる」と言うなら、AとBを並べても継ぎ目は見えないはずで、片方だけなら切れ目が見えるはずです。隣り合う全ペアで接する辺のピクセル差を測り(両端の角の区間と中央を別々に)、「滑らかなはずのペア」が「切れるはずのペア」より実際に滑らかである確率で採点します。これがROC AUCで、1.0は完全、0.5はピクセルから何もわからないという意味です。辺のピクセルだけを見るので、テンプレートに印刷された番号は影響しません。
小さいシートでは全位置で、400マスを超えるシートではその配置のブロック格子上だけで試し、まずサンプルで素早く測ってから、配置ごとに上位6か所だけを全ペアで測り直します。信頼度は、AUCが0.97以上・空きマスなし・次の別解釈に0.03以上の差があれば高、AUC 0.88以上で空きマスが1つ以下なら中、それ以外は低です。「適用」を押すまで何も書き込みません。
失敗する場面も決まっています。どの部品も同じに見える継ぎ目のない絵(RPGツクールA2の床は0.5)、質感の強い絵(64pxの洞窟セットは0.964でしたが47枚すべて正解)、一覧にない配置(Tilesetterの出力順は公開されていません)、そもそもオートタイルでないシートです。その場合はビットを自分で塗るか、ピクセルからビットを提案させてプレビューで確かめます。
- ピアリングビット
- Godot 4で、タイルが8方向の隣の位置ごとに期待する地形。Tiledは同じ考え方をWang IDで、UnityはRule Tileの隣接ルールで保存します。
- 配置(レイアウト)
- シートがタイルを並べる順番。どのマスにどの隣接マスクのタイルがあるか。
- 継ぎ目AUC
- 配置が「つながる」としたペアが「切れる」としたペアより、辺のピクセル差でどれだけはっきり小さいか。1.0は完全、0.5は情報なし。
- マッチモード
- どの隣を見るか:角と辺(ブロブ47)、辺のみ(辺タイル16)、角のみ(角・デュアルグリッド16)。
実在のシートでの判定結果
2026-09-23のコーパス実行(docs/STUDIO-TILE.md)。ヒントなしでピクセルだけからグリッドと配置を求めました。
シート 判定 信頼度 継ぎ目AUC 正しいビット
GameMaker 47テンプレート GameMaker 47 高 1.000 47/47
caelesテンプレート 7×7 caeles 7×7 高 1.000 49/49
Tiled wangblobサンプル wang blob 7×7 高 1.000 49/49
洞窟プラットフォーマー47(64px) GameMaker 47 中 0.964 47/47
Wang S-V2(角テンプレート) corner16 cr31 高 1.000 16/16
coolschool A2(継ぎ目のない床) ピクセルからは不明 低 0.5 サイズのヒント → 組み立て
Kenney tiny dungeon(非オートタイル) 低、または「シートの一部のみ:N枚中9枚」の警告付きの3×3ボックス
書き出したセットをGodot 4.7.2で塗った結果:各ブロブセットでテストセル485個中485個がStudioの予測と一致。洞窟セットが典型的な実例です。岩の質感で辺が荒くなりAUCが0.97を下回るため「中」と表示されますが、タイルはすべて正解でした。信頼度は「どれだけ念入りに確かめるか」の目安として読み、テストマップで確認してください。
できること
- 継ぎ目の連続性で配置を認識:ブロブ47(cr31、wang blob 7×7、caeles、GameMaker、Godot 3 12×4)、辺16、角16・デュアルグリッド、3×3ボックス、RPGツクールA2・A4素材。
- ビットツール、3×3ビットエディター、回転・反転、ビットのコピー・貼り付け、アルファからの衝突形状。
- 測定してから「完了」と言うチェック:足りない組み合わせを半透明タイルで表示、重複、絵とビットの矛盾。
- RPGツクールA2・A4や2×3の基本ブロックからブロブ47・デュアルグリッドを組み立てるジェネレーター。
使い方
- タイルセットをドロップ。
- 提案されたグリッドを使い、最良の配置候補を適用(Enter)。
- チェックパネルを読み、足りないものを直すか生成。テストマップ(M)を塗って確認。
- Godot 4・Tiled・Unity・LDtkへ書き出し(Ctrl+E)。
書き出す前に結果を確かめる
- チェックパネル:すべての組み合わせにタイルがあり、開いた辺の奥に角ビットを持つタイルがなく、絵とビットの照合を実際に測って問題がないときだけ「完了」と表示します。「測定できず」はチェックマークではなくそのまま表示されます。
- 足りない組み合わせはマスク付きの半透明タイルで表示されます。そのタイルだけを描くか、タイルセットジェネレーターで作ります。
- Mを押し、最初の島をGodotルールとTiledルールで見比べます。枠が付いたセルは、エンジンが空けるか別のタイルで代用する場所です(枠の意味)。
- 書き出し後、エンジンで同じ形を塗ります。Godot 4では同梱の
nerulio_tileset_import.gdを実行(File › Run)し、保存されたnerulio-tileset.tresをTileMapLayerに設定してTerrainsタブで塗ります。詳しくはGodot 4のオートタイル。
トラブルシューティング
| 症状 | 考えられる原因 | 確認方法 | 対処 |
|---|---|---|---|
| 最初の配置候補の信頼度が低い、または明らかに違う | 継ぎ目のない絵や質感の強い絵、または既知の12配置にない並び | 継ぎ目AUCと「シートの一部しか説明しない」という警告を読む | ビットツール(B)で自分で塗るか、全面タイルを選んでピクセルからビットを提案させ、プレビューを適用 |
| 候補のタイルサイズが実際の2倍や半分 | 本当のタイルの倍数でも同じ境界を説明できる(16×16が8枚で64×32のマス) | 点線のグリッドが描かれたタイルを横切る、または列×行が8×6・7×7・4×4・12×4でない | 配置と列×行が合う候補を選ぶか、タイルサイズを直接入力 |
| チェックに「開いた辺の奥の角ビット」が出る | 2辺のどちらかが開いている角にビットを塗った。そのタイルを使うマップは存在しない | 一覧のタイルをクリックすると3×3ビットエディターに角と開いた辺が見える | 角ビットを消すか辺をつなぐ。どちらも1クリック、取り消し1段階 |
| 絵の照合がちょうど2枚のタイルを指摘する | 配置と比べて、シート上で2枚が入れ替わっている | 絵の照合が2枚の位置を示す。どちらも描かれた縁が自分のビットと矛盾している | ビットを入れ替える(ビットのコピー・貼り付け)か、シートの並びを直して読み込み直す |
| RPGツクールのシートで配置が1つも出ない | A2・A4シートはタイルではなく、タイルを組み立てる部品を持つ。継ぎ目のない床は0.5 | サイズのヒントが出る(例:768×576 = 48pxのRPGツクールA2) | 「このブロックから組み立てる」を使う。RPGツクールのオートタイルをGodotへも参照 |
ほかの方法
| 方法 | こんなときに向いています |
|---|---|
| Godot自身のTileSetエディターで、Selectモードでタイルを選びTerrain Peering Bitsを手で設定 | 自分しか使わない変わった配置の小さなセットのとき。何も入れずに済み、GodotのUIを覚えるのにも向きます。 |
| Tiledの地形セットエディター | レベルをTiledで作り、どのみちそこでWangの色を付けるとき。書き出しの中身はTiledのWangセットにあります。 |
| LDtkのオートレイヤールール | レベルをLDtkで作り、タイルごとのビットよりIntGridレイヤーに掛けるルールエディターのほうが扱いやすいとき。LDtkのオートタイルルールを参照。 |
| Blobsmithのような基本ブロックのジェネレーター、またはNerulioのジェネレーター | まだ47枚を描いていないとき。2×3の基本ブロックだけ描いて残りを組み立てます(タイルセットジェネレーター)。 |
エンジン別の書き出しと検証方法
「検証済み」は、実際のCC0アセットから書き出したファイルを本物のエンジン・ツールで読み込み、元データと比較したという意味です。読み込んでいない形式はそのように表示します。
| 書き出し先 | ファイル | 検証 |
|---|---|---|
| Godot 4 TileSet | PNG · nerulio-tileset.json · nerulio_tileset_import.gd | 検証済み Godot 4.7.2同梱のインポートスクリプトが地形ピアリングビット付きのTileSetを作成。set_cells_terrain_connectで塗ったマップが、9つのコーパスシートの全セルでStudioのプレビューと一致。 |
| Tiled | .tsx Wang set · sample.tmx | 検証済み Tiled 1.12.2Tiled自身の読み込みで全Wang IDが記述どおりに読まれ、サンプルマップはピクセル単位で一致。地形ブラシ自体は操作していません。 |
| Unity 6 Rule Tile | nerulio-ruletile.json · Editor/NerulioRuleTileImporter.cs | 検証済み Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3ブロブ・辺タイルセット:塗ったTilemapの全セルが予測どおりのスプライト。角/デュアルグリッドはUnityへ書き出しません。 |
| LDtk | .ldtk (1.5.3) · rules · sample level | 一部検証 LDtk 1.5.3 schema + loaderLDtkのJSONスキーマと公式ローダーで受理され、ルールを再実行すると書き出したタイルと一致。LDtkアプリでは未確認。 |
検証の根拠
タイルコーパスでピクセルだけから配置を判定:ブロブ47テンプレート4つとWangテンプレート2つは高信頼度、実在の64px洞窟タイルセットは中信頼度で全タイルのビットが正解。Godot 4.7.2は全テストセルをStudioの予測どおりに塗りました(ブロブセットごとに485/485、4地形のデュアルグリッド251/251)。Tiled 1.12.2は全Wang IDを読み戻し、Unity 6000.5はブロブ・辺セットの塗った全セルで一致。
制限
- アイソメトリック・六角形のタイル、アニメーションタイル、代替タイル、オクルージョン・ナビゲーションのレイヤーは扱いません。
- Tiledの地形ブラシ、LDtkアプリ、Godotエディターの塗りツールは直接操作していません。確認はファイルの読み込みと
set_cells_terrain_connectで行いました。 - 3種類以上の地形が1点で出会うルールは、絵がそろっている範囲でしか完成しません。
- Tiledの地形ブラシ、LDtkアプリ、Godotエディターでの塗りは操作していません。検証はエンジンの読み込み機能とset_cells_terrain_connectで行いました。
- Unityへはブロブ・辺タイルセットのみ。地形が複数あると、互いにつながらないRule Tileが複数になります。
- アイソメトリック・六角タイル、アニメーションタイル、オクルージョン・ナビゲーションレイヤーは対象外です。
- 既知の配置なしでビットを提案するには基準となる「塗りつぶし」タイルが必要です。辺だけの道テンプレートでは、そのタイルを選ぶまで推定を誤ることがあります。
バージョンと出典
Nerulioの検証(docs/STUDIO-TILE.md、2026-09-23、Windows 11):Godot 4.7.2.stable.officialが同梱のインポートスクリプトでTileSetを作り、コーパスの全マップをStudioの予測どおりに塗りました。Tiled 1.12.2はすべてのWang IDを書いたとおりに読み、Unity 6000.5.3f1+2D Tilemap Extras 8.0.3はRule Tileを作って全セルが一致しました。LDtkは1.5.3のJSONスキーマと公式ローダーでのみ確認しています。上のエンジンの説明はリンク先の公式ドキュメントに基づきます。
参照した公式ドキュメント
従来のツール
シームレス確認、完成タイルセットの縁の拡張、タイルPNGのZIPは従来のタイルセット工房にあります。
従来のツールを開く →よくある質問
既知の配置ではないシートも使えますか?
はい。ビットツールで塗るか、Studioにピクセルからビットを提案させ(プレビュー)、受け入れてください。
Godotの書き出しに地形ピアリングビットは入りますか?
はい。同梱のインポートスクリプトが全タイルの地形ピアリングビット付きTileSetを作成し、その結果をGodot 4.7.2で塗って確認しました。
無料ですか?アカウントは必要ですか?
このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。
スプライトはアップロードされますか?
いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。
Asepriteやエンジンのプラグインは必要ですか?
いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。