概要
閉じたパスの内側をベタ塗りするラスタライザです。path_stroke が「線」なら
こちらは「塗り」。シルエット・ベース形状・マスク用の形を、描いたパスから
直接作れます。
- バージョン: 1
- ジェネレーター: はい(
is_generator: true)
使い方のポイント
- 「輪郭線+塗り」の完成形が欲しいだけなら、
path_strokeのfill_closed1ノードで 済む。線と塗りを別々に加工したい(塗りだけぼかす等)ときにこのノードで分離する - 白で塗ればそのままマスクになる(
path_maskと同等の使い方) surface出力+surface_heightで「盛り上がった塗り形状」としてライティングに渡せる
よくある失敗
- 塗られない: パスが閉じていない(開いたサブパスはスキップされる仕様)。
bezier_pathエディタの 🔒 で閉じる - 複雑な自己交差パスで塗りが暴れる: 行ごとの min〜max 塗りのため、C字・ドーナツ形は
凹み部分まで塗られることがある。形を分割するか
path_mask/mask_booleanで組む - このノードは高速な単純fillとして上記のmin〜max規則を維持します。穴や複数輪郭を
EvenOdd / NonZero規則で扱う用途は
path_maskとmask_booleanへ集約してください
関連ノード
path_stroke— 線側。fill_closed で線+塗り同時も可path_mask— マスク用途に特化した塗りbezier_path/multi_path_editor— 塗る形の供給源shape_generate— 定型図形なら描かずに済む
アルゴリズム
path_strokeと同じrasterize_subpathパイプラインでアウトライン座標列を生成(PP 補正は無効)- セグメント接合点での
.5,.5角ピクセル復元も自動的に適用
- セグメント接合点での
- アウトラインの各行(y ライン)で x の最小値・最大値を算出
- 各行の min_x から max_x まで全ピクセルを塗りつぶし(アウトラインを含む)
開いたサブパスはスキップされます(
closed: trueのサブパスのみ塗りつぶし)。
使用例
基本的な塗りつぶし
[BezierPath] → path → [PathFill] → output → [Preview]
ストロークと塗りつぶしの合成
[BezierPath] → path → [PathFill] → output → [Blend] → [Preview]
→ path → [PathStroke] → output ↗
サーフェースとして使う
[BezierPath] → path → [PathFill] → surface → [Surface Light Preview]
material_id を石や金属に変えると、同じ塗り形状でも素材ID付きのサーフェースとして扱えます。
注意事項
- アウトラインが3点未満のパスでは空画像を返します
- パス未接続時も空画像と空サーフェースを返します
- サーフェース関連のパラメータはインスペクターの「サーフェース関連」に折りたたまれます
.5,.5アンカーポイントの角ピクセル復元はrasterize_subpath内部で自動的に処理されるため、正方形・三角形等の形状で一貫した塗りつぶし結果が得られます