ノード一覧に戻る

シルエット補正

silhouette_cleanup

画像のアルファシルエットに対して、L 字コーナーを整理します

確認済み
解説あり

入力ポート

名前説明
画像
input
Image
必須
シルエット補正したい画像
補正許可範囲
permission_mask
Image
変更してよい角だけを指定する任意マスクです。白い所だけ補正し、黒または透明な所は入力を保護します。角の判定ではシルエット全体を参照します。

出力ポート

名前説明
画像
output
Image
補正後の画像

パラメータ

名前既定値範囲説明・選択肢
補正する側
editable_area
Enum
Inside

接続したマスクのどちら側を変更してよいか選びます。手足や装飾の一部だけ直すなら「白い範囲内」、顔など繊細な形を白く塗って守るなら「白い範囲外」が目安です。マスク未接続時は結果に影響しません。

  • 白い範囲内Inside
    補正許可範囲マスクが白く不透明な所の角だけを変更します
  • 白い範囲外Outside
    白い範囲を保護し、その外側の角だけを変更します
アルファしきい値
threshold
Float
0.50–1 / step 0.01

シルエットに含めるアルファ値の境目です。まず0.5を使い、薄い縁も形に含めたい時は下げ、淡い画素が不要な角を作る時は上げます。

補正モード
cleanup_side
Enum
OpaqueSide

塗り側の角を削るか、透明側の角欠けを埋めるかを選びます

  • 塗り側OpaqueSide
    画像の塗り側にある L 字コーナーを削って整えます
  • 透明側TransparentSide
    画像の透明側にある L 字の欠けを埋めて整えます

概要

シルエットのL字の段差(斜め線や角に出る出っ張り・欠け)を整えるノードです。 ドット絵の輪郭を「手で打ったような」滑らかさに近づける、仕上げ系の1つです。

使い方のポイント

  • 効くのはアルファの形だけ。絵の中の色の段差には作用しない (それは絵柄の問題なので手描き修正か減色系で)
  • OpaqueSide(出っ張りを削る)から試すのが基本。細りすぎたら TransparentSide(欠けを埋める)に切り替える
  • outline の前に挟むと輪郭線の乱れが減る
  • pixel_cleanup(孤立点・穴)と役割分担: あちらは点、こちらは角
  • 顔・目・武器先端など手を入れたくない場所は 補正許可範囲 で保護する。 一部だけ直すなら「白い範囲内」、白く塗った部位を守るなら「白い範囲外」を使う

関連ノード

  • pixel_cleanup — 孤立1px系の掃除
  • outline — 整えた後の輪郭線
  • path_stroke — パス由来なら最初からピクセルパーフェクト

どういう時に使う?

  • 1px の斜め線や角で、alpha シルエットの L 字っぽい段差を整理したい時
  • パス由来ではない画像のシルエットを、少しだけ削ったり埋めたりしたい時
  • Outline のような帯の内外指定ではなく、元画像シルエットそのものを整えたい時

注意

  • これは ベクタパス由来の厳密なピクセルパーフェクト ではありません。
  • 画像の alpha を 2 値化して、そのシルエットに対してラスタ補正をかけています。
  • そのため、一般画像に対する「真のピクセルパーフェクト」の代わりではありません。
  • つまり、中を別の色で塗るだけでは変化しません。alpha シルエットが変わった時だけ効きます。
  • 完全な四角や長方形のように L 字コーナーが無い形では、何も変化しないのが正常です。
  • 補正モード = 塗り側 は、塗りシルエットから飛び出した L 字を削ります。
  • 補正モード = 透明側 は、透明側にある角欠けを近傍色で埋めます。
  • 色境界ではなく、あくまで alpha シルエットベースの形状整理です。
  • 補正許可範囲は画像サイズへ最近傍で拡大・縮小され、明るさ × アルファ が0.5以上の 画素を白い範囲として扱います。マスク境界に接する角でも、判定自体はシルエット全体を 見るため、周囲を切り離した状態では判定しません。

使用例

  1. ドット絵キャラの角にだけ出る L 字のノイズを整理する
  2. Outline 前に元画像を整えて、輪郭の崩れを減らす
  3. 斜め線や丸みのある 1px シルエットを、よりドット絵らしく整える
  4. キャラクターの顔を保護し、手足や装飾の角だけを限定して整える
ノード一覧に戻る
シルエット補正 — PixPipeline ノード解説