Back to Node List

Region Split Islands

region_split_islands

Splits disconnected islands that share the same RegionMap id

Draft
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
領域
regions
RegionMap
Required
離れた島を分離する RegionMap です

Output Ports

NameTypeDescription
領域
regions
RegionMap
離れた島を別IDにした RegionMap です
プレビュー
preview
Image
島分離後の領域を色分けした確認用画像です
ラベル
labels
Map
Inspector に重ねるIDラベル位置です
概要
summary
Map
元ID数と分離後の島数です

Parameters

NameTypeDefaultRangeDescription / Options
接続判定
connection_mode
Enum
Visible

ループ端の接続を同じ島として扱うかです

  • 表示上Visible
    画面上で離れて見える島を分離します
  • ループ考慮Wrapped
    左右/上下ループで接続している島は同じIDとして扱います
ID順
id_order
Enum
SourceThenTopLeft

分離した島へIDを割り当てる順番です

  • 元ID優先SourceThenTopLeft
    元IDごとに、左上に近い島からIDを割り当てます
  • 左上からTopLeft
    左上に近い島から小さいIDを割り当てます
  • 右下からBottomRight
    右下に近い島から小さいIDを割り当てます
  • 面積昇順AreaAsc
    面積が小さい島から小さいIDを割り当てます
  • 面積降順AreaDesc
    面積が大きい島から小さいIDを割り当てます
  • ランダムRandom
    安定したランダム順でIDを割り当てます
シード
seed
Int
10–99999

ランダム順とプレビュー色に使うシードです

ID表示
show_ids
Bool
false

Inspector のプレビュー上に島IDラベルを表示します

  • カテゴリ: Generate / Region / Edit
  • 用途: ループや統合後に離れた島を個別マスク化する、表示上の島ごとにIDを振りたい、IDラベルと抽出結果を合わせやすくする

接続判定

説明
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 SmallRegion Remap の後に接続すると、同じIDのまま離れてしまった島を個別に扱えます。

タイル用にループ接続を保ちたい場合は 接続判定 = ループ考慮 を使います。見た目上の島を個別にマスク抽出したい場合は既定の 表示上 が向いています。

Region NoiseImage To Regions のように、同じIDが離れた場所へ複数出る生成結果と相性が良いノードです。Region Mask でIDごとに抜き出した時に複数箇所が同時に選ばれて困る場合、このノードで島ごとにIDを分けます。

summary は確認用のMapです。後段の領域処理へは regions、画像として確認する場合は preview を使います。

Back to Node List