本文へスキップ

Godotのテレインで違うタイルが出る · 原因と直し方

Godot 4のテレインで縁の合わないタイルが置かれたりセルが空になったりする原因は、たいていその隣接パターン用のタイルがタイルセットにないか、ピアリングビットの設定ミスです。Godotは最も近いタイルで代用するかセルを空のままにし、塗る順番で結果が変わることもあります。

タイルセットやオートタイルのシート(PNG)をドロップ
空のStudioを開く
ブラウザ内で処理し、ファイルはアップロードされません。
Studio のタイル作業画面:Godotのルールで塗ったテストマップで、孤立タイルがないため1セルが空になり、チェックパネルがそれを示した画面
CC0アセット(OpenGameArt)を開いた実際のStudio画面です。
書き出し先
  • 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

できること

  • チェックパネルが地形ごとに「ある組み合わせ/必要な組み合わせ」を数え、足りないものをゴーストタイルで表示。何を描き足せばいいかが一目で分かります。
  • 同じビットのタイルが2枚ある重複はクリックできる一覧に。開いた辺の裏に角ビットがあるタイル(どのマップも要求しない組み合わせ)は別に数えます。
  • 絵とビットの照合は、各タイルの縁のピクセルとビットを比べます。コーパスでは入れ替えた2枚を過不足なく検出し、誤検出はありませんでした。
  • テストマップのGodot規則はset_cells_terrain_connectの移植で、Godot 4.7.2とセル単位で一致。空いたセルや代用されたセルは枠で示し、カーソルを乗せるとどのタイルがなぜ選ばれたかを表示。
  • 足りない組み合わせが多いときは、ジェネレーターが小さな元ブロック(ツクールのA2、Blobsmithベース、A4壁、5タイル、手続き的な縁)からブロブ47やデュアルグリッド16を丸ごと組み立てます。

使い方

  1. タイル作業画面にタイルセットのPNGを入れ、「このグリッドを使う」を押す。
  2. 認識されたレイアウトを適用。合うものがなければBでビットを塗る。
  3. チェックパネルで指摘されたビットを直し、ゴーストタイルの組み合わせを描くか生成する。
  4. Mでテストマップを開き、Godot規則のまま塗って枠付きのセルがなくなるまで確認。
  5. Godot 4向けに書き出し、nerulio_tileset_import.gdを実行して直したビットでTileSetを作り直す。

Godotのテレインの不具合:症状・原因・直し方

症状よくある原因Studioでの直し方
内角や分岐に縁の合わないタイルが出るその隣接パターンのタイルがなく、最も近いもので代用チェックパネルのゴーストタイルを描くか、ジェネレーターで作り直す
塗ったセルが空のままどのタイルも隣接パターンに合わないテストマップ(Godot規則)が空きを枠で示し、欠けた組み合わせを表示
同じ場所に2種類のタイルがランダムに出る同じビットのタイルが2枚あり、確率で選ばれる重複一覧で1枚に絞るか、バリエーションなら確率を設定
タイルがあるのに一度も使われない開いた辺の裏に角ビットがある3×3ビット編集で余分な角ビットを消す
ビットは正しそうなのに継ぎ目が見えるビットと絵が食い違う(2枚の入れ替わりなど)絵とビットの照合が両方を指摘。直すかレイアウトを再適用
塗る順番で結果が変わるGodotの照合が経路に依存地形ごとに1回、行順に塗る(テストマップと同じ方法)

コーパスでの結果:Godot 4.7.2はすべての試験セルをStudioの予測どおりに塗りました(ブロブ各セット485/485、4地形のデュアルグリッド251/251)。

エンジン別の書き出しと検証方法

「検証済み」は、実際のCC0アセットから書き出したファイルを本物のエンジン・ツールで読み込み、元データと比較したという意味です。読み込んでいない形式はそのように表示します。

書き出し先ファイル検証
Godot 4 TileSetPNG · 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 Tilenerulio-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で行いました。
  • Unityへはブロブ・辺タイルセットのみ。地形が複数あると、互いにつながらないRule Tileが複数になります。
  • アイソメトリック・六角タイル、アニメーションタイル、オクルージョン・ナビゲーションレイヤーは対象外です。
  • 既知の配置なしでビットを提案するには基準となる「塗りつぶし」タイルが必要です。辺だけの道テンプレートでは、そのタイルを選ぶまで推定を誤ることがあります。

よくある質問

タイルマップにテレインがまったく表示されないのはなぜ?

隣接パターンに合うタイルがないと、Godotはセルを空にします。広い範囲が空なら、マップが求める組み合わせの大半が欠けています。チェックパネルの組み合わせ数とテストマップの空きセル表示で確認できます。

手元のTileSetの.tresを開ける?

いいえ。タイルセットの画像から始めます。Godot 4向けに書き出すと、同梱のGDScriptが直した地形ビットでGodot内に新しいTileSetを作ります。比べ終わるまで元のリソースは残しておいてください。

デュアルグリッド(角)のセットがGodotで半マスずれる

Godotは角合わせのセットを格子点ではなくセルの上に描くため、デュアルグリッドにはTileMapDualのようなプラグインが必要です。Godot規則はGodotの描き方、Tiled規則は半マスずらすTiledの描き方で表示します。

Godotエディターのテレインブラシでも確認した?

いいえ。ブラシが内部で呼ぶset_cells_terrain_connectをGodot 4.7.2で実行し、全セルを比較しました。ブラシ自体は操作していません。

無料ですか?アカウントは必要ですか?

このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。

スプライトはアップロードされますか?

いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。

Asepriteやエンジンのプラグインは必要ですか?

いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。