Skip to content

Nodes · Atelier

BS_LineArt

Atelierv1coreNeeds full inputForge

Overview

Ink lines where the render's id, depth or normal passes step (silhouettes, creases, occlusions - exact, never fooled by a shadow) and hatching along the picture's flow in the dark tones, anchored to the surface. The engraving look over paper; luma_edges draws plates with no passes.

How to

How-to

  1. Wire a render carrying id, depth and normal passes (a plate uses luma edges).
  2. Turn on the edge sources you want and set their thresholds; thickness and pressure shape the line.
  3. hatch adds tone-gated hatching on the painterly lattice; paper_colour and background set what the ink sits on.
  4. Start from a preset (Engraving, Ink sketch, Contours only); ⚒ Bake frames when done.

Inputs

InputWhat it takes
inthe image this node works on

Outputs

OutputType
outImage

Parameters

ParameterTypeDefaultWhat it does
id_edgesFloat1.0Contours where the object id changes — silhouettes, exact.
depth_edgesFloat0.8Contours where the depth steps — creases and occlusions.
normal_edgesFloat0.6Contours where the normal turns hard.
luma_edgesFloat0.0Contours from the picture's own luminance edges — for plates with no passes (fooled by shadows and texture, as any edge detector is).
depth_thresholdFloat0.04A depth step counts when it exceeds this fraction of the depth.
normal_thresholdFloat0.3A normal step counts when 1 − n·n′ exceeds this.
luma_thresholdFloat0.35The luminance gradient that reads as a full-strength line.
thicknessFloat1.5Line thickness, px.
pressureFloat0.35Pen-pressure variation along the line, seeded.
inkColor[0.02, 0.02, 0.03, 1.0]Ink colour.
ink_opacityFloat1.0Ink opacity.
hatchChoiceonHatching in the dark tones, along the picture's flow, anchored to the surface like the painterly strokes. onoff
hatch_level1Float0.35Luminance below which hatching begins (one direction).
hatch_level2Float0.18…below which it cross-hatches.
hatch_level3Float0.08…below which it hatches densely (a third, diagonal family).
hatch_spacingFloat6.0Screen spacing of hatch lines, px.
hatch_lengthFloat4.0Hatch line length as a multiple of the spacing.
hatch_cellFloat0.0The hatching lattice's world cell size (0 = auto, reported — set it to lock the hatching to the surface across the shot).
hatch_angleFloat0.0Offset from the flow direction, degrees.
hatch_widthFloat1.2Hatch line width, px.
grain_scaleFloat0.02The paper / pressure grain's feature size in world units (with a position pass).
grain_scale_pxFloat6.0…and in px without one.
paper_grainFloat0.5How much the paper's grain shows in the paper background.
bakedTextThe frames ⚒ Bake frames wrote; read instead of computed while set.
baked_hashTextThe look fingerprint the bake was made from.
statusTextWhat the node found in the stream — which passes drove the contours — and whether it plays from a ⚒ Bake.
backgroundChoicepaperWhat the ink lands on: paper (a flat colour with grain), the plate, or transparency. paperplatetransparent
paper_colourColor[0.92, 0.9, 0.85, 1.0]The paper's colour.
cadenceChoice1Stylize on ones, twos, threes or fours — the input is held at the stepped frame. 1234
seedInt3The random pattern's starting point. Change it for a different pattern of the same character; keep it to reproduce a frame exactly.
disabledBoolfalseBypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back.
labelTextA note shown under the node in the graph — what this node is FOR. Never affects the render or the cache.
hide_inputBoolfalseDraw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap).