概要
条件(ID・面積・ランダム・端接触)で領域を選別するノードです。 残らなかった場所は「外側」になります。「大きい島だけ残す」「端に触れる 領域を除く」「ランダムに間引いて模様にする」といった選択が RegionMap の まま行えます。
- カテゴリ: Generate / Region / Select
- 用途: 小さい領域だけ残す、端に接する領域を除く、ランダムに領域を間引く
使い方のポイント
Random間引きが表現として面白い: voronoi を間引くと「まばらな石」、 noise の島を間引くと「点在する茂み」になるlist_filterの Region 版と考えると覚えやすい(条件で要素を残す)- 出力は RegionMap なので後段の塗り・境界・距離ノードがそのまま使える。
白黒マスクだけ欲しいなら
region_maskが直接的
関連ノード
region_mask— マスク画像として取り出す版region_neighbor_select— 隣接関係ベースの選択region_grow_shrink— 選別後の外側の埋め戻しregion_merge_small— 除去ではなく統合したい場合
方式
| 値 | 説明 |
|---|---|
All |
すべての領域を残します。 |
Id |
指定したIDだけを残します。 |
IdRange |
指定したID範囲を残します。 |
AreaRange |
指定した面積範囲の領域を残します。 |
Random |
領域ごとの安定したランダム値で残します。 |
EdgeTouch |
画像端に接する領域を残します。 |
Interior |
画像端に接しない内側の領域を残します。 |
使い方
Region Cells.regions -> Region Filter.regions -> Region Fill.regions のように接続します。
小さすぎる領域を取り除きたい場合は、mode = AreaRange にして min_area を上げます。端に接する領域を除きたい場合は、mode = EdgeTouch、invert = true を使います。
入力 RegionMap が 左右ループ / 上下ループ を持っている場合、その方向の端は外側ではなく反対側とつながっているものとして扱います。たとえば上下左右ループのタイル素材では、端にあるだけの領域は EdgeTouch 扱いになりません。
compact_ids は必要な時だけオンにしてください。既定では元のIDを保持するため、前段のID指定と対応しやすくなります。
Region Mask との違いは出力型です。Region Filter は選択結果を RegionMap として返すため、後段でさらに Region Fill、Region Border、Region Distance などを使えます。通常画像のマスクだけ欲しい場合は Region Mask を使います。