ノード一覧に戻る

レギオン境界トレース

region_boundary_trace

レギオンの境界線を、後段で加工できる線データ(PixelLine)として取り出します。線そのものを加工したい人向けで、単に境界の絵が欲しいだけなら「レギオン境界線」の方が手軽です

確認済み
解説あり

入力ポート

名前型説明
領域
regions
RegionMap
必須
境界をトレースする RegionMap です

出力ポート

名前型説明
ピクセル線
pixel_line
PixelLine
接続成分ごとにまとめた境界ピクセル座標列です
プレビュー
preview
Image
抽出した境界ピクセルの確認用画像です
概要
summary
Map
トレース数とループ情報です

パラメータ

名前型既定値範囲説明・選択肢
対象
target
Enum
All—

どの領域境界を抽出するかです

  • すべてAll
    すべての領域境界を抽出します
  • 領域IDRegionId
    指定IDに接する境界だけを抽出します
  • ID範囲IdRange
    指定ID範囲に接する境界だけを抽出します
  • 領域ペアPair
    指定した2領域の間の境界だけを抽出します
領域ID
region_id
Int
00–2147483647

領域ID対象で使うIDです

最小ID
min_id
Int
00–2147483647

ID範囲対象で使う最小IDです

最大ID
max_id
Int
2550–2147483647

ID範囲対象で使う最大IDです

ID範囲条件
id_range_match
Enum
BothInside—

ID範囲対象で境界ペアをどう判定するかです

  • 範囲内同士BothInside
    両方の領域IDが範囲内にある境界だけを抽出します
  • 範囲に接するTouching
    どちらか一方の領域IDが範囲内にある境界を抽出します
  • 範囲の外周Crossing
    範囲内と範囲外の間の境界だけを抽出します
ペアA
pair_a
Int
00–2147483647

領域ペア対象の1つ目のIDです

ペアB
pair_b
Int
10–2147483647

領域ペア対象の2つ目のIDです

近傍
connectivity
Enum
Four—

境界判定に使う近傍ルールです

  • 4近傍Four
    上下左右の境界を抽出します
  • 8近傍Eight
    斜め接触も含めます
配置
placement
Enum
ForwardSide—

境界のどちら側をピクセル線にするかです

  • 両側BothSides
    境界の両側を抽出します
  • 片側ForwardSide
    右・下方向を基準に片側だけ抽出します
  • 小さいID側LowerIdSide
    IDが小さい領域側だけ抽出します
  • 大きいID側HigherIdSide
    IDが大きい領域側だけ抽出します
最小長
min_length
Int
11–4294967295

この点数より短い線成分を除外します

角整理
cleanup_corners
Bool
false—

太い線を削らず、短い突起やノイズを整理します

角整理方式
cleanup_mode
Enum
Safe—

角整理をオンにした時の整理方式です

  • 安全Safe
    太い境界に付いた短い突起だけを控えめに整理します
  • 強めStrong
    塊や分岐を保護しつつ、少し長い突起まで整理します
  • 水平優先Horizontal
    Path Stroke の水平側除去に寄せます
  • 垂直優先Vertical
    Path Stroke の垂直側除去に寄せます
突起長
spur_length
Int
11–8

強め整理で消す短い突起の最大長です。安全では1ドットだけ整理します

色
color
Color
[1,1,1,1]—

プレビュー色です

概要

RegionMap の境界を線データ(PixelLine)として取り出す高機能版の境界 ノードです。region_border(即席の線画像)と違い、「どのIDの境界か」を 細かく選べて、突起の整理などピクセル線としての品位も整えられます。

  • カテゴリ: Generate / Region / Render
  • 用途: 境界線を後段で加工する、特定領域ペアの境界だけを取り出す、ピクセル線として整理する

使い方のポイント

  • 使い分け: とりあえず線を重ねたい→region_border、 「この領域とこの領域の間だけ」「線を後段でさらに加工したい」→こちら
  • Pair 指定が独自の強み: 「水と砂の境界だけ白い波線にする」のような ペア限定の演出が作れる
  • 角整理(Safe / Strong)でドット絵らしい1px線に整えられる

関連ノード

  • region_border — 手軽な画像版
  • region_fill — 線を重ねる下地
  • region_remap — ID指定を安定させる前処理

対象

値 説明
All すべての領域境界を抽出します。
RegionId 指定IDに接する境界だけを抽出します。
IdRange 指定ID範囲に接する境界だけを抽出します。
Pair 指定した2領域の間の境界だけを抽出します。

ID範囲条件

値 説明
BothInside 両方の領域IDが範囲内にある境界だけを抽出します。
Touching どちらか一方の領域IDが範囲内にある境界を抽出します。
Crossing 範囲内と範囲外の間の境界だけを抽出します。

配置

値 説明
BothSides 境界の両側を抽出します。
ForwardSide 右・下方向を基準に片側だけ抽出します。
LowerIdSide IDが小さい領域側だけを抽出します。
HigherIdSide IDが大きい領域側だけを抽出します。

角整理方式

値 説明
Safe 2x2以上の塊や分岐を保護し、太い境界に付いた短い突起だけを控えめに整理します。
Strong 突起長 を使って、少し長い短い突起まで整理します。塊・分岐・四方接続の中心は保護します。
Horizontal Path Stroke の RemoveHorizontal に寄せます。
Vertical Path Stroke の RemoveVertical に寄せます。

使い方

Region Cells.regions -> Region Boundary Trace.regions と接続します。

すぐ画像が欲しい場合は Region Border を使います。境界を線データとして後から加工したい場合、または特定の領域ペアだけを取り出したい場合は、このノードを使います。

入力 RegionMap が 左右ループ / 上下ループ を持っている場合、左右端・上下端の接触も境界として抽出します。タイル素材の継ぎ目にある境界も、同じ PixelLine として扱えます。

cleanup_corners は線幅2px以上の塊を無理に細くする機能ではありません。ドット絵で目立ちやすい短い突起や孤立気味のノイズを整理するための補助です。太い境界線を保ちたい場合はオフ、細かいヒゲだけ取りたい場合は Safe、より積極的に整理したい場合は Strong を使います。

ノード一覧に戻る
レギオン境界トレース — PixPipeline ノード解説