Contents
The PxrStylizedLines filter allows you to add linework to your Stylized rendering. It can be used on its own for technical drawing looks or combined with toon and hatching for more creative looks. You can even layer a number of PxrStylizedLines filters on top of each other to create color, breakup, and width variation to emulate various traditional linework techniques.
Visualizer
Visualizer
Use these settings to preview certain AOVs to aid in the development of your creative linework.
Beauty
The Beauty AOV being rendered before the Stylized Looks filters are applied
Final Lines
View the output of the lines only.
Final Lines Invert
An inverted visualization of your lines
Final Lines + Beauty
This is the default visualizer and combines your linework with the beauty AOV
Final Lines Alpha
The alpha generated by the lines.
Line Thickness from Pattern
Visualize the thickness of your lines being generated from any patterns or textures plugged into the Line Thickness Input of your PxrStylized Control node.
Line Thickness from Lighting
Visualize the line thickness generated from the scene lighting
Diffuse Luminance
The luminance of the diffuse AOV
Diffuse Energy
The energy emitted by the Diffuse AOV
Z CamDist
Use this selection to visualize your CamDist
Light Signal AOV
The name of a color AOV to do line detection on.
Typically this would be diffuse, but you can also put a light AOV here to determine the transition between photoreal and stylized based on the light emission. This AOV has to be set up in Maya/Katana/Houdini or DisplayFilter will exit.
Diffuse Energy From
Under the hood a white shader approximation is created based off the Signal AOV to drive the Hatching. By default using average of RGB components of Signal AOV, but can also divide Signal AOV lighting results with a pure albedo from NPRalbedo AOV or albedo AOV. If NPRalbedo AOV chosen, must set Albedo Color in Stylized Controller Pattern node.
Light Mask Switch
Use light aov defined in signal_aov_string above as mask for previously daisy-chained Stylized shaders and/or physically based lighting
Line Type
aov - custom AOV defined below
outline - line on alpha of object
sections - line on random id
lineNZ - line on combination of X Y components of surface normal and Z depth, good for unit scale
curvature - line on change in surface normal
camdist - line on change in camera distance
Final Line Gamma
After line detection happens, runs gamma on final lines. When using the Curvature Line Type, you can use this parameter to control the curvature falloff to fine-tune your linework
Weight Type
During line detection weighting to get a variance
Different weight types graph (interactive graph https://www.desmos.com/calculator/q2pkrrwv8h):
Sigmoid Sharpness
See: https://www.desmos.com/calculator/g4jbxcvtqz and modify sharpness variable "a"
Sigmoid Offset
See: https://www.desmos.com/calculator/g4jbxcvtqz and modify offset variable "o"
Activation Function
During line detection weighting to get a variance
Line Thickness
The thickness of the lines, measured in pixels
Dilate Sort Group
Dilate Sort Switch
When turned on: dilates the signals that contributed to the lines (albedo color, thickness, z-depth, ...) to go off the geometry, since the line detection goes off the geometry. If Dilate Sort is off, there will be an undesirable double-line corresponding to the incorrect data off geometry. Also sorts to assign higher priority to objects closer to camera.
Dilate Sort Radius
The size of the radius, in pixels, to dilate the signals.
Dilate Depth Scale
Scale Z depth for sorting based on scene scale
Dilate Sort Weight Type
Same weight types as for Line thickness edge detection, but for Dilate Sort radius
Dilate Sort Use Alpha
If the object has an alpha channel: the zero alpha on camera depth will be incorrect. Instead, switch to ON to mix between camera depth of objet and Dilate_Sort_Max_depth based on alpha
Dilate Sort Max Depth
Max Depth to consider for outside of alpha
Line Thickness Scaling Group
PxrStylizedControl
Multiply Line Thickness by Line Thickness values on PxrStylizedControl per object
PxrStylizedControl Scale
Globally scale line thickness. If you have line thickness set per object and they are all different values, and you up the resolution of the render, use this global scale to increase or decrease line thicnkess of all lines, since they are based on pixel width
Zdepth
Multiply Line Thickness by Z Depth
Cam Dist Z Min
Remap camera distance: Linear step Min on Z (blue channel from lineNZ)
Cam Dist Z Max
Remap camera distance: Linear step Max on Z (blue channel from lineNZ)
Z Min Thickness Scale
At Cam Dist Z Min, scale line thickness by this amount
Z Max Thickness Scale
At Cam Dist Z Max, scale line thickness by this amount
Lighting
Multiply Line Thickness by Lighting signal (view Line Thickness From Lighting in Visualizer dropdown to see this signal)
Light Min Thickness Scale
Scale (multiply) Line Thickness by this value in shadows
Light Max Thickness Scale
Scale (multiply) Line Thickness by this value in light areas
Light Min Max Thick Invert
Invert min max above: so thicker in shadows
Light Thickness Gamma
Apply gamma curve to light response to drive thickness
Line Color Group
Line Color From
Offers a number of different functions to determine line color
Use Line Mask
Mult by line mask from pattern node in AOV NPRlineMask
Lines Inside
Mult by alpha for only inside lines from line detect, don't go off geo
Light Response
Color lines by lighting
Linework Tips
- To gain extra solidness to lines, try changing the Weight Type to Hermite or Double Sigmoid
- Add creative variety to your lines by breaking up and varying the width with a texture or pattern plugged into the Line Thickness input of your PxrStylizedControl node.
- Try experimenting with linework by layering up various PxrStylizedLines filters, each one with their own unique widths, colors, and thickness.