ノード一覧に戻る

パス配列

path_array

ベジェパスに沿って様々な配置モードでオブジェクトを配置します

確認済み
解説あり

入力ポート

名前型説明
パス
path
Path
必須
オブジェクトを配置するベジェパス
スタンプ
stamp
Image
各点に配置する画像(未接続時は1pxドット)

出力ポート

名前型説明
画像
output
Image
生成された配列画像

パラメータ

名前型既定値範囲説明・選択肢
幅
width
Int
641–1024

キャンバスの幅(ピクセル)

高さ
height
Int
641–1024

キャンバスの高さ(ピクセル)

対象サブパス
sub_path_scope
Enum
All—

すべてのサブパスに適用するか、1 本だけに適用するかを選びます

  • すべてAll
    すべてのサブパスに同じ設定で適用します
  • 個別Single
    選んだ 1 本のサブパスだけに適用します
使うサブパス
sub_path_index
Int
00–255

個別モード時に使うサブパスを選びます

数
count
Int
50–128

各サブパスに配置するオブジェクトの数。0なら何も配置しません

配置モード
mode
Enum
Equal—

オブジェクト配置の分布モード

  • 等間隔Equal
    パスに沿って等間隔で配置
  • 順次配置Fill
    始点から順次配置(ラインを描くように)
  • ランダムRandom
    パス上のランダムな位置に配置
  • 分散Scatter
    パスライン周辺にランダムに分散配置
  • 実距離間隔Distance
    パスに沿って、指定したピクセル間隔で繰り返し配置
配置間隔
spacing
Float
80.5–4096 / step 0.5

中心どうしの間隔(px)。まず鎖1コマや柵1区画の幅に合わせると自然につながります

開始位置
start_offset
Float
00–4096 / step 0.5

始点から最初の配置までの距離(px)。動かすと足跡や流れる光を前進させられます

末端の余り
remainder
Enum
Trim—

使い切れない長さの置き場所。柵柱やリベットを左右対称に見せたい時は「両端へ分ける」が便利です

  • 末端に残すTrim
    指定間隔を守り、余った長さは終端側に残します
  • 両端へ分けるCenter
    指定間隔を守り、余った長さを始端と終端へ半分ずつ分けます
スタンプの向き
orientation
Enum
None—

スタンプをパスへ沿わせます。小さいドット絵が自由回転で崩れる時は90度刻みを使います

  • 固定None
    すべて元画像の向きのまま配置します
  • パスに沿うFree
    パスの進行方向へ自由角度で回転します
  • 45度刻みSnap45
    進行方向に近い45度刻みへそろえます
  • 90度刻みSnap90
    進行方向に近い90度刻みへそろえ、ドットの崩れを抑えます
向きの補正
orientation_offset
Float
0-180–180 / step 1

追加する角度(度)。元画像が右向きでなく上向きなら、まず90前後で合わせます

シード
seed
Int
00–99999

ランダム/分散モード用の乱数シード

分散幅
spread
Int
40–64

パスからの最大分散距離(分散モードのみ)

分散側
scatter_side
Enum
Both—

分散モードでどちら側に散らすか

  • 両側Both
    パスの両側に分散配置
  • 内側Inside
    閉じたサブパスの内側にだけ分散配置
  • 外側Outside
    閉じたサブパスの外側にだけ分散配置
順次方向
fill_direction
Enum
Forward—

順次配置モードで使う配置方向

  • 順方向Forward
    始点から終点へ向かって配置
  • 逆方向Reverse
    終点から始点へ向かって逆順配置
順次ステップ
fill_step
Int
11–64

順次配置モードで何ピクセルおきに配置するか

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

ドットの色(スタンプ未接続時に使用)

ピクセルパーフェクト
pixel_perfect
Bool
false—

ベジェサンプリングの代わりにラスタライズ済みピクセル位置を使用

PP モード
pp_mode
Enum
RemoveCorner—

ピクセルパーフェクト補正でどちらの冗長ピクセルを削除するか

  • 対角優先Diagonal
    水平ステップを削除してより対角的なラインに
  • 直線優先Cardinal
    垂直ステップを削除してより水平/垂直的なラインに
  • 角削除RemoveCorner
    L字の角ピクセルを優先して削除
  • 角保持KeepCorner
    L字の角ピクセルを優先して保持
閉パス外積モード
pp_closed_cross
Bool
false—

閉じたサブパスに外積ベースの内/外エッジ削除を適用

閉パス削除側
pp_closed_side
Enum
Outer—

閉パスのどちら側のエッジを削除するか

  • 内側Inner
    内側のエッジを削除
  • 外側Outer
    外側のエッジを削除

概要

パスに沿って画像(スタンプ)やドットを並べる配置ノードです。 鎖・ボタン列・street の街灯・草むらの株分け——「線に沿って何かを繰り返す」表現を、 個数指定、固定px間隔、順次、ランダム、分散の各方式で作れます。

  • バージョン: 3
  • ジェネレーター: はい(is_generator: true)

使い方のポイント

  • stamp に小さな画像(リベット・草・石など)をつなぐのが本領。未接続だと1pxドット
  • モードの選び方: 個数を固定する装飾→Equal、鎖・柵・足跡→Distance、線を描く演出→Fill、 自然な散らばり(草・石)→Scatter(+seedでバリエーション)
  • Distance の spacing はスタンプ1個の幅を出発点にします。隙間が欲しければ1〜2px足します
  • 柵柱やリベットを左右対称に見せる時は remainder: Center、始点を固定したい時は Trim
  • 向きのある素材は orientation で接線へ沿わせます。小さいドット絵はまずSnap90、 斜めも必要ならSnap45、滑らかさ優先ならFreeを試します
  • 元画像が上向きなら orientation_offset は90度前後から合わせます。右向きなら0度が基準です
  • Scatter + 閉じたパス + scatter_side: Inside で「形の中に散らす」ができる (草地の中に花を撒く、など)
  • スタンプ側にもバリエーションが欲しい場合は、seed を変えた複数のPathArrayを blend で重ねる

よくある失敗

  • スタンプが切れる: 配置点はパス上でも、スタンプの大きさ分キャンバスが必要。 ラスタライズ先のキャンバスサイズと padding 的な余白を確認
  • 閉パスで始点と終点が重なる: Equal は自動回避する仕様。重なって見えるなら countが多すぎて間隔が詰まっている
  • Inside/Outsideが効かない: 開いたサブパスではBoth相当になる仕様。パスを閉じる
  • 配置を一時的に0個にしたい: count = 0 は正常な空出力です。手続き的なON/OFFに使えます
  • Inside/Outsideの候補が見つからない: 条件を満たせない配置は線上へ戻さずスキップし、 scatter_side にwarningを表示します

配置モード

モード 説明
Equal(等間隔) パスを均等分割して配置。閉じパスでは始点=終点の重複を自動回避
Fill(順次配置) ラスタライズ済みピクセル列を順に使用。fill_direction で向き、fill_step で間引き間隔を指定可能
Random(ランダム) パス上のランダムな位置に配置。シードで再現可能
Scatter(分散) パス周辺にランダムに分散配置。spread で偏差、scatter_side で両側 / 内側 / 外側を制御。開いたサブパスでは Inside / Outside を指定しても Both 相当で扱う
Distance(実距離間隔) spacing pxごとに配置。start_offsetで始点からずらし、余りを終端へ残すか両端へ分けるかを選択。閉パスのCenterは継ぎ目も均等化

ピクセルパーフェクトモード

  • オン: rasterize_subpath でラスタライズ済みピクセル座標列を基準に配置。パスストロークと同じPP補正オプション(対角優先/直線優先/角削除/角保持、閉パス外積/削除側)が使用可能
  • オフ: 共有弧長テーブルで曲線全体の実距離を基準に配置します。 Equal は見た目の距離が均等になり、最終配置時だけピクセル座標へ丸めます
  • Random は弧長上を一様に選びます。Scatter のオフセットは半径spread以内の円盤から選ぶため、 実距離が設定値を超えません

サブパスの扱い

  • 対象サブパス = すべて
    • 各サブパスに count 個ずつ同じルールで配置します
  • 対象サブパス = 個別
    • 指定した 1 本のサブパスだけに配置します
  • sub_path_index の上限は入力パスのサブパス数に合わせて UI が更新します

使用例

等間隔配置

[BezierPath] → path → [PathArray(mode:Equal, count:10)] → [Preview]

ランダム分散

[MultiPath] → path → [PathArray(mode:Scatter, count:20, spread:8, seed:42)] → [Preview]

ピクセルパーフェクト配置

[BezierPath] → path → [PathArray(pixel_perfect:ON, pp_mode:RemoveCorner)] → [Preview]

1 本だけ選んで配置

[MultiPath] → path → [PathArray(sub_path_scope:Single, sub_path_index:1)] → [Preview]

鎖・柵を8px間隔で経路へ沿わせる

[Path] ─────────────→ path  [PathArray(mode:Distance, spacing:8,
[Link Image] ───────→ stamp            orientation:Snap45)] → [Preview]

関連ノード

  • mask_scatter — パスではなくマスク領域への散布
  • path_sample — 配置ではなく「パス上の座標」を数値で取り出す
  • path_measure — 配置前に全長・選択長・開閉状態を数値で確認する
  • region_scatter — リージョンシステムでの散布
  • path_transform — 配置前のパス調整
ノード一覧に戻る
パス配列 — PixPipeline ノード解説