Tiled Wangセット書き出し · オートタイルシートから地形セット
TiledのWangセットをタイルごとに埋める作業は、Godotのピアリングビットと同じ手間です。Studioは認識した配置からWangセット(混合・辺・角、地形ごとに1色)を書き、Tiledルールで描いたサンプルマップを添えます。
Wangセットは、Tiled 1.5以降Terrain Setとして表示され、タイルの角や辺(または両方)に地形の色を付けて、Terrain Brushが合うタイルを選べるようにするものです。種類は絵に合わせて選びます。Corner SetとEdge Set(地形2つならそれぞれ16タイル)、Mixed Set(最大256、47タイルのブロブは縮小した混合セットとして使えます)。Nerulioは認識した配置から全タイルのWang IDを埋めた.tsxと、サンプルの.tmxを書き出します。Tiled 1.12.2で全IDが書いたとおりに読み戻されました。

- Tiled検証済み· Tiled 1.12.2
- Godot 4 TileSet検証済み· Godot 4.7.2
- Unity 6 Rule Tile検証済み· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
- LDtk一部検証· LDtk 1.5.3 schema + loader
Wang ID、セットの種類、空の地形
ファイルの中では、印を付けたタイルごとにWang IDがあります。上、右上、右、右下、下、左下、左、左上の順に並ぶ8つの色番号で、0は未設定、1が最初の色です(TMX形式のリファレンス)。Corner Setは4つの角だけ、Edge Setは4辺だけ、Mixed Setは8つすべてを使います。
Terrain Brushは塗る場所の周りの色を見てWang IDが合うタイルを選び、隣のタイルもつながるように変えます。Tiledのマニュアルによれば、2つの地形の間に直接の遷移がないときは遷移のある3つ目の地形を経由して塗り(土 → 砂 → 石畳)、Patternsビューはすでにタイルがある組み合わせを暗く表示します。
マニュアルは、「空」のための地形を別に作る必要はなく、何もない側への遷移は印を付けなければよいと説明しています。1色のブロブセットでは孤立タイルのIDが0,0,0,0,0,0,0,0になりますが、Tiledは読み込み時にすべて0のWangタイルを捨てるため、ブラシはそのタイルを置けません(私たちのTiledでの実行で確認)。
- Wangセット/Terrain Set
- タイルセットに付くTiledの地形ラベルのまとまり。1つのタイルセットに複数持てます。
- Wangカラー
- セット内の地形1つ(名前、色、任意のアイコンタイル、確率)。
- Wang ID
- タイルごとに上から時計回りに並ぶ8つの色番号。0は未設定。
- Corner / Edge / Mixed
- セットが使う位置:角、辺、または両方。
例:Nerulioが書くWang ID
順序:上、右上、右、右下、下、左下、左、左上
ブロブタイル N NE E SE S(マスク31) wangid="1,1,1,1,1,0,0,0" mixedセット
辺タイル N + S(縦の帯) wangid="1,0,0,0,1,0,0,0" edgeセット
角タイル NW + NE wangid="0,1,0,0,0,0,0,1" cornerセット
孤立ブロブタイル wangid="0,0,0,0,0,0,0,0" 書かない
wangtileの数 ブロブ47 → 46、辺16 → 15、角16 → 15
タイルid = 行 × 列数 + 列 (cr31の8 × 6シート:マスク31は1行4列 → id 12)サンプルマップも同じ完全一致のルールで塗ります。角セットは角の色が格子点に属するため、レイヤーに半タイル分マイナスのoffsetx/offsetyが入ります。
できること
- 配置に合ったWangセット種別の.tsx(ブロブは混合、辺16は辺、角16・デュアルグリッドは角)。
- sample.tmx:Tiledルールで描いたマップ。角セットは半タイルずらしたレイヤー。
- Tiled 1.12.2の--export-tileset・--export-mapでの読み込みとtmxrasterizer(ピクセル一致)で確認。
- 地形ブラシ自体は操作していません(WindowsではTiledのスクリプトがヘッドレスで動かないため)。
使い方
- タイルセットを入れて配置を適用。
- Tiledルールでテストマップを塗ってプレビュー。
- Tiledバンドルを書き出し。
- .tsxかsample.tmxをTiledで開く。
出力されるファイル
書き出しZIPのtiledフォルダーです。ファイル名は画像名に従います(ここではcave.png)。
| ファイル | 用途 |
|---|---|
cave.tsx | タイルセット:画像、タイルサイズ、余白、間隔、そして地形ごとの色と印付きタイルごとのwangtileを持つWangセット1つ(corner・edge・mixed)。設定した場合はタイルの確率も。 |
sample.tmx | このセットで描いた小さなマップ。自分で塗る前に動作を確認できます。 |
cave.png | タイルセット画像。相対パスで参照されます。 |
README.txt | セットの種類、色の数、Wang IDの順序。 |
TiledでWangセットを使う
tiledフォルダーを展開し、PNGを.tsxの隣に置きます(画像はファイル名で参照されます)。- Tiledで
sample.tmxを開くか、.tsxを開いて自分のマップで使います。 - ラベルを確認するには、タイルセットを開いてツールバーのTerrain Setsボタンを押します。各タイルに色の付いた角や辺が表示され、Patternsタブはまだタイルがない組み合わせを強調します。
- 地形モードを抜けてマップに戻り、Terrain Setsウィンドウでセットと地形を選んでTerrain Brush(T)で塗ります。Ctrlを押すと角や辺1つではなくタイル全体を、Shiftで直線を塗れます。
- 空のマップでは、マニュアルの助言どおり先に範囲を塗りつぶすかCtrlを押して、ブラシがつなげる隣を用意します。
- Godotへ持っていくなら、TiledのGodot 4エクスポーターでマップを書き出すか、地形を直接作ります。Godot 4のオートタイルを参照。
結果の確認
- Terrain Setsモードで、孤立タイル以外のすべてのタイルに色が表示されるはずです。角16のセットなら、Patternsビューで空以外の15パターンがすべて暗く表示されます。
- Ctrlを押しながら3 × 3の範囲を塗ります。縁がつながった異なるタイル9枚が出るはずです。
sample.tmxはStudioのテストマップをTiledルールで描いたものと同じに見えます。そのルールが空きと示したセルはTiledでも空のままです。
トラブルシューティング
| 症状 | 考えられる原因 | 確認方法 | 対処 |
|---|---|---|---|
| 最初にブラシが何も塗らない | マップが空で、セットに空への遷移がなく足がかりがない | マニュアルが新しいマップでのこのケースを説明している | 先に範囲を塗りつぶすか、Ctrlを押してタイル全体を塗る |
| 孤立した1セルが空のまま | 孤立タイルのWang IDがすべて0で、セットに含まれない | Terrain Setsモードでそのタイルに色がない | 必要な場所にStamp Brushで手で置く |
| サンプルマップが他のレイヤーと半タイルずれる | 角セットのサンプルは−½タイルのレイヤーオフセットで格子点に描かれる | レイヤーのプロパティのOffset X / Y | デュアルグリッド風にするならオフセットを維持、そうでなければ消して自分のレイヤーに塗る |
| あちこちで違うタイルや継ぎ目が出る | セットの種類が絵に合っていない(ブロブのシートをedgeセットにした等) | .tsxのwangsetのtype属性 | Studioで正しい配置を適用して書き出し直す |
| 2つの地形が混ざらない | 2色を一緒に持つタイルがない | Patternsビューに2色が混ざるパターンがない | 遷移タイルを描くか、ジェネレーターでAからBのタイルを生成 |
| 古いTiledで地形がまったく表示されない | Tiled 1.5以降の形式の地形情報は旧バージョンで読めない(マニュアルの警告) | Help › About Tiled | Tiledを更新 |
ほかの方法
| 方法 | こんなときに向いています |
|---|---|
| TiledのTerrain Setsモードで手作業で印を付ける(地形を選び、タイルの領域をクリック・ドラッグ) | セットが小さい、配置が特殊、または公開配置で表せない複数の地形が1タイルにあるとき。 |
| 代わりにLDtkのオートレイヤールールを使う:LDtkのオートタイルルール | IntGridで塗り、modulo・確率・反転で拡張できるルールが好みのとき。 |
| Godotの地形を直接作る:Godot 4のオートタイル | 対象がGodotだけで、Godotの中で塗りたいとき。 |
エンジン別の書き出しと検証方法
「検証済み」は、実際の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はブロブ・辺セットの塗った全セルで一致。
制限
- Terrain Brushそのものは私たちのチェックでは操作していません(WindowsではTiledのスクリプトがヘッドレスで動かないため)。ファイルの読み込みは検証済みです。
- 反転・回転のバリエーション(Tile Transformations)は書き出しません。
- 1回の書き出しにつきWangセットは1つです。
- Tiledの地形ブラシ、LDtkアプリ、Godotエディターでの塗りは操作していません。検証はエンジンの読み込み機能とset_cells_terrain_connectで行いました。
- Unityへはブロブ・辺タイルセットのみ。地形が複数あると、互いにつながらないRule Tileが複数になります。
- アイソメトリック・六角タイル、アニメーションタイル、オクルージョン・ナビゲーションレイヤーは対象外です。
- 既知の配置なしでビットを提案するには基準となる「塗りつぶし」タイルが必要です。辺だけの道テンプレートでは、そのタイルを選ぶまで推定を誤ることがあります。
バージョンと出典
Tiled 1.12.2自身のコマンドライン読み込み(--export-tileset、--export-map)で確認しました。全Wang IDが書いたとおりに戻り、全サンプルマップが正しいWangタイリングで、tmxrasterizerの描画は独立した描画とピクセル単位で一致しました。Wang IDの入れ替え、gidの変更、間隔+1ではこのチェックが失敗します。上のメニュー名はTiledの公式ドキュメントに基づきます。
参照した公式ドキュメント
よくある質問
Wangセットに孤立した「島」タイルがないのはなぜ?
TiledはIDがすべて0のWangタイルを捨てるため、単色ブロブセットの孤立タイルは書き込まれません。StudioのTiledルールはそのセルに印を付けます。
Phaserでサンプルマップを読めますか?
.tmxはTiledのマップです。Phaserはタイルセット埋め込みのTiled JSONを読むので、Tiledから書き出してください。
無料ですか?アカウントは必要ですか?
このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。
スプライトはアップロードされますか?
いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。
Asepriteやエンジンのプラグインは必要ですか?
いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。