ノード一覧に戻る

サーフェースアウトライン

surface_outline

サーフェースの外形と、深度・面IDの不連続(内部の稜線)からドット絵らしいアウトラインを描きます。ソリッドレンダリングの後段に置く想定です。

確認済み
解説あり

入力ポート

名前説明
サーフェース
surface
Surface
必須
アウトラインを付けたいサーフェースです。深度・面IDがあると内部の稜線も検出できます。

出力ポート

名前説明
サーフェース
surface
Surface
加工後の見た目を持つサーフェースです。法線などの他のマップはそのまま通します。
画像
image
Image
加工後の見た目画像です。

パラメータ

名前既定値範囲説明・選択肢
外形の線
silhouette
Bool
true

外形(シルエット)に線を描きます。

深度の段差線
interior_depth
Bool
true

深度が大きく飛ぶ場所(手前の物が奥に重なる縁)に線を描きます。

深度のしきい値
depth_threshold
Float
0.080.01–0.5 / step 0.01

内部稜線とみなす深度の段差(0..1)です。

面の境界線
interior_face
Bool
false

面IDが変わる境界(天面と側面の継ぎ目など)に線を描きます。

線の位置
placement
Enum
Inside

外形の線をシルエットの内側に描くか外側に描くかです。

  • 内側Inside
    シルエットの内側の縁ピクセルを置き換えます。スプライトの寸法が変わりません。
  • 外側Outside
    シルエットの外側に線のピクセルを追加します。
色のつけ方
color_mode
Enum
Darken

線の色の決め方です。

  • 下地を暗くDarken
    下地の色を暗くした線にします(selout風。色になじみます)。
  • 単色Flat
    指定した1色で線を描きます。
線の色
color
Color
[0.07999999821186066,0.07999999821186066,0.11999999731779099,1]

単色モードでの線の色です。

暗くする量
darken_lightness
Float
282–60 / step 1

下地の色をどれだけ暗くするかです(OKLCH明度)。

概要

サーフェースにドット絵らしいアウトラインを描くノードです。普通の outline(シルエットのみ)と違い、深度・面IDを使って「立体の内部の稜線」—— 箱の辺、屋根と壁の境目——にも線を引けます。ソリッドレンダリングの後段の定番です。

使い方のポイント

  • 標準チェーンの一員: solid_render → surface_edge_highlight → surface_outline → surface_light_preview。3D由来の絵が一気に 「手打ちのドット絵」らしくなる
  • 外形線と内部線(深度線・面境界線)は個別に調整できる。まず外形だけで 試し、立体感が足りなければ内部線を足すのが迷わない順序
  • 画像しか無い素材の輪郭は通常の outline が担当。こちらは 深度・面IDを持つ Surface 専用

関連ノード

  • outline — 画像ベースの輪郭線

  • surface_edge_highlight — ベベル(前段の相方)

  • solid_render — Surface の供給元

  • surface_light_preview — 仕上がり確認

  • albedo だけを加工し、他のマップは透過する(Gバッファの正確さを保つ)

技術詳細

  • 外形: 不透明⇄透明の4近傍境界。Inside は不透明側の縁を置換、Outside は透明側に追加
  • 深度線: depth_map(白=手前)が threshold 以上飛ぶ隣接の手前側に描く
  • 面境界線: face_ids が変わる右・下方向の境界(二重線回避)
  • Outside で増えたピクセルには平坦法線と近傍の高さ・深度を補い、後段ライティングの破綻を防ぐ

使用例

ソリッドレンダリング → サーフェースアウトライン → サーフェース光プレビュー で輪郭付きのアイソメブロック。

ノード一覧に戻る
サーフェースアウトライン — PixPipeline ノード解説