概要
同じIDのまま離れて存在する島を、島ごとに別IDへ分けるノードです。
region_noise のような「同じ段階が複数箇所に出る」生成結果を、
1島=1IDにして個別に扱えるようにします。
- カテゴリ: Generate / Region / Edit
- 用途: ループや統合後に離れた島を個別マスク化する、表示上の島ごとにIDを振りたい、IDラベルと抽出結果を合わせやすくする
使い方のポイント
- 症状で覚える: 「
region_maskでID指定したら離れた場所まで一緒に 選ばれた」→ このノードを前に挟む region_noiseとほぼセット(段階IDは必ず複数の島に分かれるため)- タイル素材では
接続判定 = Wrappedにすると、端をまたいでつながる島が 1つの島として扱われる
関連ノード
region_noise— 島が発生しやすい代表的な生成元region_mask— 島単位の抽出先region_remap— ID順の整理(前後どちらでも)region_merge_small— 分けた後の小島整理
接続判定
| 値 | 説明 |
|---|---|
Visible |
画面上で離れて見える島を分離します。ループ端でつながっていても、表示上離れていれば別IDになります。 |
Wrapped |
入力 RegionMap の wrap_x / wrap_y を考慮します。左右端・上下端で接続している島は同じIDとして扱います。 |
ID順
| 値 | 説明 |
|---|---|
SourceThenTopLeft |
元IDごとに、左上に近い島からIDを割り当てます。 |
TopLeft |
左上に近い島から小さいIDを割り当てます。 |
BottomRight |
右下に近い島から小さいIDを割り当てます。 |
AreaAsc |
面積が小さい島から小さいIDを割り当てます。 |
AreaDesc |
面積が大きい島から小さいIDを割り当てます。 |
Random |
シードに基づく安定したランダム順でIDを割り当てます。 |
使い方
Region Merge Small や Region Remap の後に接続すると、同じIDのまま離れてしまった島を個別に扱えます。
タイル用にループ接続を保ちたい場合は 接続判定 = ループ考慮 を使います。見た目上の島を個別にマスク抽出したい場合は既定の 表示上 が向いています。
Region Noise や Image To Regions のように、同じIDが離れた場所へ複数出る生成結果と相性が良いノードです。Region Mask でIDごとに抜き出した時に複数箇所が同時に選ばれて困る場合、このノードで島ごとにIDを分けます。
summary は確認用のMapです。後段の領域処理へは regions、画像として確認する場合は preview を使います。