| On this page | |
| Since | 22.0 |
This node paints on top of a layer or UV-mapped geometry. Wire either a layer into the canvas input or a geometry with a uv attribute into the uvgeo input to paint on. The canvas input layer is the background image on which you apply paint. If no canvas is connected, the node uses a default canvas made with the COP network context settings. If you have both a uvgeo and canvas input, the canvas remains the background while the uvgeo provides the surface on which to visualize the painted texture and project brush strokes.
In addition to regular parameters, this node also includes a preview of the brush and alpha strokes and the stack of layers (blend stack). When you use the sample or fill tools, the preview is of the paint tool.
Paint layers ¶
A paint layer has a color, alpha, and optional mask image. A paint layer is like a bundle of COP layers that are treated as a single layer. Paint layers are stored and output by the node as three distinct COP layers, all with the same resolution and COP layer properties (same resolution, same display and data window). The color layer can have 1, 2, or 3 channels, referred to by their COP type names: Mono, UV, and RGB. Typically, the color layer stores actual color. The alpha and mask layer are single-channel (Mono) COP layers.
The paint layers are output in the layers cable as individual wires. The name of the paint layer in the blend stack determines the names of the wires. For example, a paint layer named foo in the blend stack appears in the layers cable as foo.color, foo.alpha, and an optional foo.mask entry. Use a Cable Unpack COP to extract individual wires from this cable.
Notes ¶
-
Paint layers are identified by their names so these must be unique. If you try to rename a paint layer to have the same name as an existing paint layer, the node automatically appends a
#<integer>to the layer name. -
Color and alpha are stored as separate COP layers, but color is stored premultiplied by the associated alpha layer. This is because premultiplied representation is used internally to evaluate the blend stack, combined with the fact that while it’s possible to create 1- and 2-channel color layers, there are no COP layer types that semantically represent Mono+Alpha or UV+Alpha, that would be interpreted correctly by nodes like
Blend.
-
There is currently no support for painting geometries with multiple UV tiles (UDIMs). To work with these geometries, split the geometry by UV tile, shift the UV coordinates into the 0 to 1 range, and use a separate Paint 3D node to paint textures for each UV tile.
Blend Stack ¶
The blend stack determines how the paint layers and canvas input blend together. The Canvas is the bottom, background canvas layer. The other layers stack on top of each other from bottom to top.
The parameters in this section determine how a paint layer blends with the paint layer above and below.
-
Data Type: The data type of the layer.
-
Resolution: The resolution size of the layer.
-
Blend Mode: How the layer blends together with the other layers.
-
Opacity: The amount of the layer to mix in with the other layers.
Note
Blend stack evaluation is the non-interactive function of this COP. When you are not interacting with the node through its viewer state or panel, the behavior of this node is essentially equivalent to the Blend chain shown above.
Note
Regardless of the signature chosen for this node and the data types of the color images of the stored paint layers, the intermediate data type passed through this conceptual chain of blend nodes is RGBA. After the chain is evaluated, if the node’s signature is Mono, UV, or RGB, the color is divided by the alpha to disassociate it. When the node’s signature is RGBA or Metadata, in both cases the output type is RGBA, so the result of the conceptual blend chain is output directly. As a consequence, the final alpha channel is always computed, but is only output for these two signatures.
Alphas ¶
An alpha may be procedural (a circle or square with falloff) or a raster image. Preview the alpha output with the Alpha and Brush preview images.
When painting with a procedural alpha, the alpha is sampled with infinite precision, and so the precision of the brush is only limited by the resolution of the selected layer. You can use a raster image as the alpha by loading it from a file path. When you save a brush or alpha recipe that references such a raster image, the node embeds the raster as a PNG inside the generated recipe HDA.
Note
An alpha with too high of a resolution may impact a brush’s performance.
Brushes and tools ¶
You must select a tool and a paint layer to paint. This node includes the following tools:
-
Paint brush: Adds the FG Color paint on the image. This increases the alpha value.
-
Erase brush: Subtracts paint from the image. This decreases the alpha value.
-
Smooth brush: Blurs the paint on the image.
Note
This tool’s performance is more expensive.
-
Sample: Replaces the current FG Color with a color you pick in the image.
Note
When Write to Mask is on, this tool samples the mask value instead of the color and alpha.
-
Fill: Floodfills a region of the image. The tool applies the FG Color to a group of flooded texels.
See How to use Paint 3D for how to use and switch between the tools. The brush strokes are divided into stamps, so use the Stroke Spacing parameters to adjust whether the stamps overlap. Preview the brush output with the Alpha and Brush preview images.
Note
The parameters configure the local coordinate system of the stamps with respect to the world. The transformation between world-space and this local coordinate system is projective, and so can be orthographic or perspective.
-
When using Surface Stroke Alignment, the tangent plane and normal vector of the surface under the mouse is used to construct an orthographic stamp transform.
-
When using Screen Stroke Alignment, the projection of each stamp matches that of the viewport.
The brushes position their alpha image according to each stamp’s local coordinate system to determine how the effect of the stamp varies across the paintable surface.
With a paint layer selected, you are writing either to its color and alpha or its mask. This is set by the Write to Mask parameter, which you can also change by clicking on the corresponding thumbnail in the blend stack. Clicking the color thumbnail selects the color and alpha for writing, and clicking the mask thumbnail selects the mask.
Note
Which tool is active is stored as the value of the tool parm tuple, which is a virtual parameter representing the currently open tab of the Tools parameter folder, in the parameter dialog. This makes it possible to switch tools by opening the desired tool’s tab, and the currently open tool tab always reflects what tool is currently active.
How to use Paint 3D ¶
| To... | Do this |
|---|---|
|
Select tools |
In the viewer, press 1 (paint), 2 (erase), 3 (smooth), 4 (sample), or 5 (fill). or
In the viewer, press C to use the radial menu. or
Click a Tool tab in the parameter editor. Tip Hold ⇧ Shift to temporarily switch to the smooth tool or ⌃ Ctrl to temporarily switch to the erase tool. |
|
Use the paint, erase, and smooth brushes |
|
|
Sample an image |
|
|
Fill an image |
|
|
Add paint layers |
Click the |
|
Delete paint layers |
Tip Click Delete All to remove all layers. This reverts the node to its default state where it outputs the |
|
Duplicate paint layers |
|
|
Collapse paint layers into one layer |
|
|
View presets |
Click the first preview image to open the Alpha Brush Presets window or second preview image to open the Brush Stroke Presets window. The node’s parameters automatically update when you choose a preset. See Ramp Presets window for information about how to use the Presets window. |
|
Save recipes |
Note You can’t edit these recipes through the Recipe Manager. You must load them in a Paint 3D COP, configure the parameters, and resave the recipe. |
Parameters ¶
Note
These parameters don’t affect the paint and layers outputs. These outputs are configured through the blend stack.
Signature
The layer type that the canvas accepts.
For metadata and RGBA signatures, the alpha for the canvas is 0 and the paint output is RGBA. For RGB, mono, and UV signatures, the alpha for the canvas is 1 and the paint output matches the type of the canvas input.
See Signatures for more information.
Group
The group expression that sets the surface primitives on which to paint. You can paint on only this region of uvgeo.
Hide Rest
Displays only the set Group of uvgeo in the viewport. When off, the viewport displays all regions of uvgeo.
FG Color
The color with which to paint.
BG Color
The color to swap with the FG Color. Press X in the viewer to switch the colors.
FG Mask
The value to use for the mask.
BG Mask
The value to swap with the FG Mask. Press X in the viewer to switch the values.
Preferences ¶
2D Paint Mode
Paints on the 2D texture map instead of the input 3D geometry. Press F in the viewer to turn this on and off.
Stroke Alignment
How the stroke is positioned and oriented in 3D space while painting.
Surface
A ray is repeatedly cast from the mouse position to the input geometry. Where it hits, a local coordinate system is constructed for each stamp, with the surface normal as Z, either the stroke direction or tangent vector most closely directed toward Up Direction as Y, and the cross product of these as X. Each stamp can thus be thought of as a rectangular prism centred on this local coordinate system, whose depth (along the Z axis) is determined by the Depth Falloff.
Screen
Stamps are positioned along the screen-space stroke. For each stamp, a local coordinate system is constructed, with either the stroke direction or screenspace “up” as Y, the screen-space orthogonal direction as X, and the direction from the viewport camera toward the mouse’s screenspace position as Z. Because there is no notion of depth, Depth Falloff doesn’t apply in this mode and each stamp can be thought of as a rectangular pyramid extending to infinity.
Only Write to Visible
Brushes and tools apply to only texels visible by the viewport camera.
Lazy Mouse Radius
Trails the brush a distance (in viewport widths) behind the pointer. In the viewport, this looks like the brush is dragged by a string.
Write to Mask
Writes to the mask of the selected paint layer. Use the color or mask thumbnail of a paint layer in the blend stack to turn this on and off.
Visualize Mask
Visualizes the mask of the paint layer. This shows the mask as a tinted overlay on top of the final blended texture. Press G in the viewer to turn this on and off.
Mask Tint
The color of the mask overlay when Visualize Mask is on.
Mask Visibility
The visibility of the mask overlay when Visualize Mask is on. Set this to 1 to display only the mask.
Tip
When 1, set the Mask Tint to white (1,1,1) for easier visibility.
Up Direction
When the Stroke Alignment is Surface and Orient to is Up Direction, this is the direction toward which to orient the Y-axis of each stamp before the node applies rotation (static or dynamic).
Symmetry ¶
Tile Symmetry ¶
Tile Symmetry
Wraps paint near the edges of the canvas around to the other side when painting on a COP layer.
Visualize Tile Symmetry
Replaces the canvas with a 3-by-3 grid that displays how painted features wrap around the border of the canvas when painting on a COP layer.
Reflection ¶
Reflection
Turns on 3D reflection symmetry.
Origin
The origin of the reflection plane.
Direction
The direction of the reflection plane.
Offset
The amount to shift the Origin along the set Direction.
Tools ¶
Paint ¶
Save Brush as Recipe
Save the current brush as a partial node preset recipe. The node saves the recipe in the Brush Stroke Presets window (see View presets for how to open this window).
Brush Radius
The size of the brush. ⌃ Ctrl + ⇧ Shift + drag or
to adjust the radius in the viewer.
Opacity
The amount by which to multiply a layer’s Opacity parameter. A stroke can’t exceed this amount of alpha added to the layer.
Flow
The amount by which to multiply the paint brush’s flow, which is the rate at which alpha is added to the layer.
Stroke Spacing
The space between stamps, measured in stroke widths. A value of 0.01 removes any spaces between the stamps so they touch. A value of 0.5 means the left half of a stamp is completely overlapped by its left neighbor and its right half is completely overlapped by its right neighbor.
Adjust Flow to Compensate for Spacing
Adjusts the amount of flow to compensate for variable stroke spacing. When on, changing stroke spacing results in the overall alpha-applied-per-distance to remain constant, modulo quantisation due the starts and ends of stroke stamps.
Rotation
The amount in degrees to rotate each stamp.
Orient to
When Stroke Alignment is Screen, this indicates whether to orient the stamp’s Y-axis (up) along the stroke direction or to match the screen space “up” direction.
Orient to
When Stroke Alignment is Surface, this indicates whether to orient the stamp’s Y-axis (up) along the stroke direction or toward the specified Up Direction parameter as closely as possible. With surface alignment, stamps are always placed tangent to the surface at the brush cursor, so in most cases the world space up direction can’t exactly be aligned to the stamp’s up direction. However, there is typically a surface tangent direction most closely aligned with the worldspace up direction that’s used as the stamp up direction.
Alpha ¶
Save Alpha as Recipe
Save the current brush alpha as a partial node preset recipe.
If a raster image is being used as the current alpha, the saved partial node preset recipe HDA contains the raster image embedded as an HDA section to avoid the possibility of a brush recipe becoming unlinked from the image used to create it. If the current alpha is procedural (circle or square), a low resolution image is still saved as part of the preset recipe and is used as a thumbnail to display the recipe in the Alpha Catalogue.
Shape
The alpha image to use.
Square
Use an alpha image that’s in the shape of a square.
Circle
Use an alpha image that’s in the shape of a circle.
File Path
Use an alpha image from a file.
Catalog
Use an alpha image from the loaded recipe.
Soft Edge
When the Shape is Circle or Square, this is the amount of feathering around the edges of each stamp. This parameter is forwarded to Stamp Point’s Shape Falloff parameter.
File
When the Shape is File Path, this is the file in which the alpha image is stored.
Catalog File (hidden)
The HDA section in which an alpha image is stored, when a recipe is loaded from the asset catalogue.
Depth Falloff
When Stroke Alignment is Surface, this is the amount by which each brush stamp extends in 3D space along its normal axis. When using Surface stroke alignment, the node constructs a local coordinate system for each brush stamp on the input geometry surface at the location of the brush cursor, using two surface tangents and the surface normal. Since the painted surface is typically not completely flat, the node computes a “Z alpha” as a multiplier for the stamp’s alpha based on its distance to the stamp plane. This multiplier is computed as smoothstep(-z_falloff, 0, -abs(z_distance)). This parameter is forwarded to Stamp Point’s Z Falloff parameter.
Squish
The amount by which to shrink the alpha image along its horizontal axis. A value of 1 collapses the image into a line.
Flow Dynamics ¶
Flow Dynamics
Makes flow a dynamics output (driven by dynamics).
Distance Input ¶
Distance Input
Multiplies the flow by a value based on the screen-space accumulated stroke distance.
Max Distance
The accumulated screen-space stroke distance (measured in viewport widths) at which this flow dynamics input multiplier reaches its final value. The final value is 1 when Increase with Distance is on. The final value is the Min Flow Scale when Increase with Distance is off.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Distance
Makes the flow dynamics input multiplier increase as the accumulated screens-space stroke distance increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Pressure Input ¶
Pressure Input
Multiplies the flow by a value-based pen pressure.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Pressure
Makes the flow dynamics input multiplier increase as the pen pressure increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Random Input ¶
Random Input
Scales the flow of each brush stamp by a random amount.
Random Scale
The amount by which to randomize each brush stamp’s flow.
A value of x multiplies each stamp’s flow by a number that’s uniformly randomly selected between 1-x and 1+x. If the final flow surpasses 1, the node instead uses a flow of 1. 0 means there’s no randomisation.
Speed Input ¶
Speed Input
Scales the flow by a value based on the current stroke speed.
Max Speed
The speed (measured in viewport widths/second) at which this flow dynamics input multiplier reaches its final value. The final value is 1 when Increase with Speed is on. The final value is the Min Flow Scale when Increase with Speed is off.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Speed
Makes the flow dynamics input multiplier increase as the speed increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Radius Dynamics ¶
Radius Dynamics
Makes the brush radius a dynamics output (driven by dynamics).
Distance Input ¶
Distance Input
Multiplies the radius by a value based on the screen-space accumulated stroke distance.
Max Distance
The accumulated screen-space stroke distance (measured in viewport widths) at which this radius dynamics input multiplier reaches its final value. The final value is 1 when Increase with Distance is on. The final value is the Min Radius Scale when Increase with Distance is off.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Distance
Makes the radius dynamics input multiplier increase as the accumulated screens-space stroke distance increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Pressure Input ¶
Pressure Input
Multiplies the radius by a value-based pen pressure.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Pressure
Makes the radius dynamics input multiplier increase as the pen pressure increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Random Input ¶
Random Input
Scales the radius of each brush stamp by a random amount.
Random Scale
The amount by which to randomize each brush stamp’s radius.
A value of x multiplies each stamp’s radius by a number that’s uniformly randomly selected between 1-x and 1+x. 0 means there’s no randomisation.
Speed Input ¶
Speed Input
Scales the radius by a value based on the current stroke speed.
Max Speed
The speed (measured in viewport widths/second) at which this radius dynamics input multiplier reaches its final value. The final value is 1 when Increase with Speed is on. The final value is the Min Radius Scale when Increase with Speed is off.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Speed
Makes the radius dynamics input multiplier increase as the speed increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Rotation Dynamics ¶
Rotation Dynamics
Makes rotation a dynamics output (driven by dynamics).
Turns per Distance
Adds this amount of turns to the brush’s rotation for every viewport width of accumulated stroke distance.
Turns at Full Pressure
Adds this amount of turns to the brush’s rotation when at full pen pressure. This parameter has no effect on the brush’s rotation when at minimal pen pressure.
Random Offset
Rotates every brush stamp by this random amount. A value of x rotates each stamp by a value uniformly randomly selected between -x/2 and x/2.
Turns per Speed
Adds this amount of turns to the brush’s rotation for every viewport width/second of stroke speed.
Erase ¶
Save Brush as Recipe
Save the current brush as a partial node preset recipe. The node saves the recipe in the Brush Stroke Presets window (see View presets for how to open this window).
Brush Radius
The size of the brush. ⌃ Ctrl + ⇧ Shift + drag or
to adjust the radius in the viewer.
Opacity
The amount by which to multiply a layer’s Opacity parameter. A stroke can’t exceed this amount of alpha added to the layer.
Flow
The amount to multiply the erase brush’s flow, which is the rate at which alpha is removed from the layer.
Stroke Spacing
The space between stamps, measured in stroke widths. A value of 0.01 removes any spaces between the stamps so they touch. A value of 0.5 means the left half of a stamp is completely overlapped by its left neighbor and its right half is completely overlapped by its right neighbor.
Adjust Flow to Compensate for Spacing
Adjusts the amount of flow to compensate for variable stroke spacing. When on, changing stroke spacing results in the overall alpha-applied-per-distance to remain constant, modulo quantisation due the starts and ends of stroke stamps.
Rotation
The amount in degrees to rotate each stamp.
Orient to
When Stroke Alignment is Screen, this indicates whether to orient the stamp’s Y-axis (up) along the stroke direction or to match the screen space “up” direction.
Orient to
When Stroke Alignment is Surface, this indicates whether to orient the stamp’s Y-axis (up) along the stroke direction or toward the specified Up Direction parameter as closely as possible. With surface alignment, stamps are always placed tangent to the surface at the brush cursor, so in most cases the world space up direction can’t exactly be aligned to the stamp’s up direction. However, there is typically a surface tangent direction most closely aligned with the worldspace up direction that’s used as the stamp up direction.
Alpha ¶
Save Alpha as Recipe
Save the current brush alpha as a partial node preset recipe.
If a raster image is being used as the current alpha, the saved partial node preset recipe HDA contains the raster image embedded as an HDA section to avoid the possibility of a brush recipe becoming unlinked from the image used to create it. If the current alpha is procedural (circle or square), a low resolution image is still saved as part of the preset recipe and is used as a thumbnail to display the recipe in the Alpha Catalogue.
Shape
The alpha image to use.
Square
Use an alpha image that’s in the shape of a square.
Circle
Use an alpha image that’s in the shape of a circle.
File Path
Use an alpha image from a file.
Catalog
Use an alpha image from the loaded recipe.
Soft Edge
When the Shape is Circle or Square, this is the amount of feathering around the edges of each stamp. This parameter is forwarded to Stamp Point’s Shape Falloff parameter.
File
When the Shape is File Path, this is the file in which the alpha image is stored.
Catalog File (hidden)
The HDA section in which an alpha image is stored, when a recipe is loaded from the asset catalogue.
Depth Falloff
When Stroke Alignment is Surface, this is the amount by which each brush stamp extends in 3D space along its normal axis. When using Surface stroke alignment, the node constructs a local coordinate system for each brush stamp on the input geometry surface at the location of the brush cursor, using two surface tangents and the surface normal. Since the erased surface is typically not completely flat, the node computes a “Z alpha” as a multiplier for the stamp’s alpha based on its distance to the stamp plane. This multiplier is computed as smoothstep(-z_falloff, 0, -abs(z_distance)). This parameter is forwarded to Stamp Point’s Z Falloff parameter.
Squish
The amount by which to shrink the alpha image along its horizontal axis. A value of 1 collapses the image into a line.
Flow Dynamics ¶
Flow Dynamics
Makes flow a dynamics output (driven by dynamics).
Distance Input ¶
Distance Input
Multiplies the flow by a value based on the screen-space accumulated stroke distance.
Max Distance
The accumulated screen-space stroke distance (measured in viewport widths) at which this flow dynamics input multiplier reaches its final value. The final value is 1 when Increase with Distance is on. The final value is the Min Flow Scale when Increase with Distance is off.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Distance
Makes the flow dynamics input multiplier increase as the accumulated screens-space stroke distance increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Pressure Input ¶
Pressure Input
Multiplies the flow by a value-based pen pressure.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Pressure
Makes the flow dynamics input multiplier increase as the pen pressure increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Random Input ¶
Random Input
Scales the flow of each brush stamp by a random amount.
Random Scale
The amount by which to randomize each brush stamp’s flow.
A value of x multiplies each stamp’s flow by a number that’s uniformly randomly selected between 1-x and 1+x. If the final flow surpasses 1, the node instead uses a flow of 1. 0 means there’s no randomisation.
Speed Input ¶
Speed Input
Scales the flow by a value based on the current stroke speed.
Max Speed
The speed (measured in viewport widths/second) at which this flow dynamics input multiplier reaches its final value. The final value is 1 when Increase with Speed is on. The final value is the Min Flow Scale when Increase with Speed is off.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Speed
Makes the flow dynamics input multiplier increase as the speed increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Radius Dynamics ¶
Radius Dynamics
Makes the brush radius a dynamics output (driven by dynamics).
Distance Input ¶
Distance Input
Multiplies the radius by a value based on the screen-space accumulated stroke distance.
Max Distance
The accumulated screen-space stroke distance (measured in viewport widths) at which this radius dynamics input multiplier reaches its final value. The final value is 1 when Increase with Distance is on. The final value is the Min Radius Scale when Increase with Distance is off.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Distance
Makes the radius dynamics input multiplier increase as the accumulated screens-space stroke distance increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Pressure Input ¶
Pressure Input
Multiplies the radius by a value-based pen pressure.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Pressure
Makes the radius dynamics input multiplier increase as the pen pressure increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Random Input ¶
Random Input
Scales the radius of each brush stamp by a random amount.
Random Scale
The amount by which to randomize each brush stamp’s radius.
A value of x multiplies each stamp’s radius by a number that’s uniformly randomly selected between 1-x and 1+x. 0 means there’s no randomisation.
Speed Input ¶
Speed Input
Scales the radius by a value based on the current stroke speed.
Max Speed
The speed (measured in viewport widths/second) at which this radius dynamics input multiplier reaches its final value. The final value is 1 when Increase with Speed is on. The final value is the Min Radius Scale when Increase with Speed is off.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Speed
Makes the radius dynamics input multiplier increase as the speed increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Rotation Dynamics ¶
Rotation Dynamics
Makes rotation a dynamics output (driven by dynamics).
Rotation per Distance
Adds this amount of turns to the brush’s rotation for every viewport width of accumulated stroke distance.
Rotations at Full Pressure
Adds this amount of turns to the brush’s rotation when at full pen pressure. This parameter has no effect on the brush’s rotation when at minimal pen pressure.
Random Offset
Rotates every brush stamp by this random amount. A value of x rotates each stamp by a value uniformly randomly selected between -x/2 and x/2.
Rotations per Speed
Adds this amount of turns to the brush’s rotation for every viewport width/second of stroke speed.
Smooth ¶
Save Brush as Recipe
Save the current brush as a partial node preset recipe. The node saves the recipe in the Brush Stroke Presets window (see View presets for how to open this window).
Brush Radius
The size of the brush. ⌃ Ctrl + ⇧ Shift + drag or
to adjust the radius in the viewer.
Flow
The amount by which to multiply the smooth brush’s flow, which is the amount to locally blur the selected paint layer at the brush cursor.
Stroke Spacing
The space between stamps, measured in stroke widths. A value of 0.01 removes any spaces between the stamps so they touch. A value of 0.5 means the left half of a stamp is completely overlapped by its left neighbor and its right half is completely overlapped by its right neighbor.
Adjust Flow to Compensate for Spacing
Adjusts the amount of flow to compensate for variable stroke spacing. When on, changing stroke spacing results in the overall alpha-applied-per-distance to remain constant, modulo quantisation due the starts and ends of stroke stamps.
Rotation
The amount in degrees to rotate each stamp.
Orient to
When Stroke Alignment is Screen, this indicates whether to orient the stamp’s Y-axis (up) along the stroke direction or to match the screen space “up” direction.
Orient to
When Stroke Alignment is Surface, this indicates whether to orient the stamp’s Y-axis (up) along the stroke direction or toward the specified Up Direction parameter as closely as possible. With surface alignment, stamps are always placed tangent to the surface at the brush cursor, so in most cases the world space up direction can’t exactly be aligned to the stamp’s up direction. However, there is typically a surface tangent direction most closely aligned with the worldspace up direction that’s used as the stamp up direction.
Alpha ¶
Save Alpha as Recipe
Save the current brush alpha as a partial node preset recipe.
If a raster image is being used as the current alpha, the saved partial node preset recipe HDA contains the raster image embedded as an HDA section to avoid the possibility of a brush recipe becoming unlinked from the image used to create it. If the current alpha is procedural (circle or square), a low resolution image is still saved as part of the preset recipe and is used as a thumbnail to display the recipe in the Alpha Catalogue.
Shape
The alpha image to use.
Square
Use an alpha image that’s in the shape of a square.
Circle
Use an alpha image that’s in the shape of a circle.
File Path
Use an alpha image from a file.
Catalog
Use an alpha image from the loaded recipe.
Soft Edge
When the Shape is Circle or Square, this is the amount of feathering around the edges of each stamp.
File
When the Shape is File Path, this is the file in which the alpha image is stored.
Catalog File (hidden)
The HDA section in which an alpha image is stored, when a recipe is loaded from the asset catalogue.
Depth Falloff
When Stroke Alignment is Surface, this is the amount by which each brush stamp extends in 3D space along its normal axis. When using Surface stroke alignment, the node constructs a local coordinate system for each brush stamp on the input geometry surface at the location of the brush cursor, using two surface tangents and the surface normal. Since the smoothed surface is typically not completely flat, the node computes a “Z alpha” as a multiplier for the stamp’s alpha based on its distance to the stamp plane. This multiplier is computed as smoothstep(-z_falloff, 0, -abs(z_distance)).
Squish
The amount by which to shrink the alpha image along its horizontal axis. A value of 1 collapses the image into a line.
Flow Dynamics ¶
Flow Dynamics
Makes flow a dynamics output (driven by dynamics), where flow is interpreted as the local blur radius.
Distance Input ¶
Distance Input
Multiplies the flow by a value based on the screen-space accumulated stroke distance.
Max Distance
The accumulated screen-space stroke distance (measured in viewport widths) at which this flow dynamics input multiplier reaches its final value. The final value is 1 when Increase with Distance is on. The final value is the Min Flow Scale when Increase with Distance is off.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Distance
Makes the flow dynamics input multiplier increase as the accumulated screens-space stroke distance increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Pressure Input ¶
Pressure Input
Multiplies the flow by a value-based pen pressure.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Pressure
Makes the flow dynamics input multiplier increase as the pen pressure increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Random Input ¶
Random Input
Scales the flow of each brush stamp by a random amount.
Random Scale
The amount by which to randomize each brush stamp’s flow.
A value of x multiplies each stamp’s flow by a number that’s uniformly randomly selected between 1-x and 1+x. If the final flow surpasses 1, the node instead uses a flow of 1. 0 means there’s no randomisation.
Speed Input ¶
Speed Input
Scales the flow by a value based on the current stroke speed.
Max Speed
The speed (measured in viewport widths/second) at which this flow dynamics input multiplier reaches its final value. The final value is 1 when Increase with Speed is on. The final value is the Min Flow Scale when Increase with Speed is off.
Min Flow Scale
The minimum value of this flow dynamics input multiplier.
Increase with Speed
Makes the flow dynamics input multiplier increase as the speed increases. When off, the flow dynamics input multiplier decreases. Min Flow Scale to 1 or 1 to Min Flow Scale.
Radius Dynamics ¶
Radius Dynamics
Makes the brush radius a dynamics output (driven by dynamics).
Distance Input ¶
Distance Input
Multiplies the radius by a value based on the screen-space accumulated stroke distance.
Max Distance
The accumulated screen-space stroke distance (measured in viewport widths) at which this radius dynamics input multiplier reaches its final value. The final value is 1 when Increase with Distance is on. The final value is the Min Radius Scale when Increase with Distance is off.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Distance
Makes the radius dynamics input multiplier increase as the accumulated screens-space stroke distance increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Pressure Input ¶
Pressure Input
Multiplies the radius by a value-based pen pressure.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Pressure
Makes the radius dynamics input multiplier increase as the pen pressure increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Random Input ¶
Random Input
Scales the radius of each brush stamp by a random amount.
Random Scale
The amount by which to randomize each brush stamp’s radius.
A value of x multiplies each stamp’s radius by a number that’s uniformly randomly selected between 1-x and 1+x. 0 means there’s no randomisation.
Speed Input ¶
Speed Input
Scales the radius by a value based on the current stroke speed.
Max Speed
The speed (measured in viewport widths/second) at which this radius dynamics input multiplier reaches its final value. The final value is 1 when Increase with Speed is on. The final value is the Min Radius Scale when Increase with Speed is off.
Min Radius Scale
The minimum value of this radius dynamics input multiplier.
Increase with Speed
Makes the radius dynamics input multiplier increase as the speed increases. When off, the radius dynamics input multiplier decreases. Min Radius Scale to 1 or 1 to Min Radius Scale.
Rotation Dynamics ¶
Rotation Dynamics
Makes rotation a dynamics output (driven by dynamics).
Turns per Distance
Adds this amount of turns to the brush’s rotation for every viewport width of accumulated stroke distance.
Turns at Full Pressure
Adds this amount of turns to the brush’s rotation when at full pen pressure. This parameter has no effect on the brush’s rotation when at minimal pen pressure.
Random Offset
Rotates every brush stamp by this random amount. A value of x rotates each stamp by a value uniformly randomly selected between -x/2 and x/2.
Turns per Speed
Adds this amount of turns to the brush’s rotation for every viewport width/second of stroke speed.
Sample ¶
Sample All Visible Layers
Samples the result of evaluating the blend stack and stores the sampled result as the new foreground color. When off, this tool samples only the paint layer.
Fill ¶
Sample All Visible Layers
Uses the result of evaluating the blend stack to determine which texels to floodfill based on the Threshold. When off, this tool uses only the paint layer to determine the floodfilled area.
Opacity
The amount of transparency the foreground color has. A value of 1 shows only the foreground color in the filled area, with none of the previous layer visible.
Threshold
The maximum distance in Euclidean RGB-space at which floodfill proceeds from the color of the texel clicked on in the viewer state to every texel traversed while flood filling. Because the maximum distance between colors in an RGB cube is sqrt(3), this parameter is multiplied by this value to normalize the parameter to a [0,1] range. For example, if in the viewer state a red (1,0,0) texel is clicked and this parameter is set to x, floodfill proceeds so long as it can traverse texels whose color satisfies |(1,0,0) - (r,g,b)|_2 <= x/sqrt(3). This parameter is forwarded to Segment by Connectivity’s Threshold parameter.
To fill the entire paint layer with a single color, set this to 1 to ensure all texels get flooded.
Inputs ¶
canvas
An optional layer (background image) onto which every paint layer in the blend stack is repeatedly blended onto. If no canvas is connected, the node uses a default canvas made with the COP network context settings.
For RGB, mono, and UV signatures, a black color = (0,0,0), alpha = 1 canvas is used by default. For metadata and RGBA signatures, a transparent color = (0,0,0), alpha = 0 canvas is used by default.
uvgeo
An optional UV-mapped geometry on which to paint. This is output as visgeo with the paint output applied as its base color for visualization. The final alpha value acts as this geometry’s opacity.
Outputs ¶
paint
The result of evaluating the blend stack by repeatedly blending each paint layer onto the accumulation of layers from bottom to top. The canvas layer is the bottom.
visgeo
The geometry that visualizes the result of evaluating the blend stack while you paint in the viewer state.
layers
The cable that contains the paint layers as individual wires (color, alpha, and optional mask layers). The name of the paint layer in the blend stack determines the names of the wires.
Tip
Display visgeo when the Paint 3D’s display flag is on, and use the paint and layers outputs downstream in the network.
| See also |