Back to Node List

Surface Curvature

surface_curvature

Generates a semantic curvature map for Surface edge highlighting and downstream masks.

Reviewed
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
サーフェース
surface
Surface
Required
法線または高さマップで凹凸が定義されたサーフェースです。

Output Ports

NameTypeDescription
サーフェース
surface
Surface
曲率マップだけを追加または更新したサーフェースです。
曲率
curvature
Image
曲率の確認画像です。0.5が平坦、明るい側が凸、暗い側が凹です。

Parameters

NameTypeDefaultRangeDescription / Options
見る範囲
radius
Int
11–16

法線の向きを比べる半径(px)です。くっきりしたドット絵の縁は1〜2、丸い大きな面は3〜6が目安です。

強さ
strength
Float
10–8 / step 0.05

平坦値0.5を中心にした曲率の強さです。まず1で、縁が真っ白・真っ黒に潰れる時は下げます。

左右ループ
wrap_x
Bool
false

左右端をまたいで法線を比べます。横につながるシームレスタイルでオンにします。

上下ループ
wrap_y
Bool
false

上下端をまたいで法線を比べます。縦につながるシームレスタイルでオンにします。

Overview

Adds a curvature map to Surfaces created from 2D images, using the same meaning as Solid and Model renders. Existing normals are preferred; otherwise temporary normals are derived from height. Albedo, height, normal, material ID, and other maps remain unchanged.

Usage tips

  • A common chain is image_to_surface → surface_rebuild_normal → surface_curvature → surface_edge_highlight, which gives 2D assets convex highlights and concave dark lines.
  • Radius 1–2px suits narrow bevels and pixel outlines; 3–6px suits round stones or broad surfaces. Larger values respond to wider shape changes instead of fine detail.
  • Start with Strength 1. If wide areas clip to white or black, lower it toward 0.5.
  • Curvature uses mid-gray 0.5 for flat, lighter for convex, and darker for concave. It does not color the asset directly; connect it to surface_edge_highlight or another consumer.
  • On tile assets, wrap only the axes that genuinely tile. Cross-edge normal comparison then prevents a curvature seam visible only after repetition.

Common mistakes

  • A warning appears and no curvature is added: the input Surface has neither normal nor height. Create height with height_from_image or add/rebuild a map upstream.
  • The outline is too thick: return Radius and Strength to 1 for pixel art.
  • Convex and concave appear reversed: this node follows the Surface view-space normal convention. Do not insert an external tangent normal as an untyped image; adapt it through relative height and rebuild the Surface normal.

Related nodes

  • surface_rebuild_normal — create a consistent normal from height
  • surface_edge_highlight — turn curvature into a visible bevel
  • surface_unpack — inspect the curvature image and other Surface maps
  • normal_to_relative_height — bring an external tangent normal into the 2D Surface route
Back to Node List
Surface Curvature — PixPipeline Node Reference