|On this page|
In the viewer, choose the Paint SOP, select the surface you want to paint on and press RMB to finish the selection. Then you can move the brush over the surface and press the mouse buttons to paint.
You have two colors: the foreground (FG, LMB) and background (BG, MMB).
Use the controls on the operation controls toolbar to set the foreground color (FG), background color (BG), radius, and opacity.
Press RMB to show a menu of tool options. You can assign different operations to LMB and MMB (see the Operation parameter).
See the brush tools help for more information.
To paint an arbitrary attribute instead of color, turn on Override color and set the attribute name.
To see the surface colors without lighting affecting the colors, do the following:
Create a VEX Constant shader and assign it to the object.
In the parameter editor for the shader, click the Gear menu and choose Edit Rendering Parameters.
In the Render Properties tab, open
SHOP Options > OGLand drag the “Use Lighting” property over to the Existing Parameters side to add it to the shader’s interface.
In the shader’s parameter editor, turn off Use Lighting.
The operation used by Apply To All.
Paints your new color onto the geometry.
sets the foreground color to the color nearest the center of your brush.
Blends the colors of points under the brush.
Restores the colors under the brush to the pre-paint values.
This parameter only affects the flood fill options. To change the current paint mode, RMB in the viewport and select the operation for LMB or MMB.
How the color is to be applied to the surface.
The result is a blend between the original color and the brush color according to the brush alpha.
The scaled brush color is added to the original geometry color.
The scaled brush color is subtracted from the original geometry color.
The result of multiplying the brush color by the original geometry color is blended into the original color by the brush opacity.
The colors are mixed together in an additive manner that clamps at one. This only really works if the existing color and painted color are in the 0..1 range.
The hue of the original color is replaced by that of the brush color. The result is blended into the original color.
The saturation of the original color is changed to that of the brush color. The result is then blended into the original color.
The lightness of the original color is changed to the brush color. The result is then blended with the original color.
Replace only the red (first) channel.
Replace only the green (second) channel.
Replace only the blue (third) channel.
Does not use the brush color. Instead, does a replace operation with the inverse (1.0 - orig) of the original color.
When in custom mode, the brush color will be re-evaluated for every point. The evaluated color is then blended using replace semantics. Local variables are present, so you can paint with ($BBX, $BBY, $BBZ).
Accumulate To Stencil
See about accumulate to stencil . By default, the operation is applied and the stencil cleared after every brush stroke. When this option is on, Houdini does not apply the stencil until you click Apply and Clear Stencil.
Apply & Clear Stencil
Applies the operation and clears the stencil. This is equivalent to right-clicking in the viewport.
Colors to apply unless bitmap stamping is enabled. If Accumulate To Stencil is on, the left mouse does foreground and the middle mouse erases.
Stamp Bitmap Instead Of FG/BG Color
If set, the color channels of the bitmap are used directly rather than the brush color.
Apply To All
Paints all of the selected geometry.
Operation for All
Operation to use for Apply to All.
You can not use this parameter to switch the Paint SOP into other operations. You can only use the RMB in the viewport to set these operations.
For example, if you set this parameter to Erase Changes, but the RMB menu is set to Paint, this parameter will switch to Paint as soon as you click in the viewport.
Reset All Changes
Restores geometry to initial state.
Create Missing Color And Alpha Attributes
Alpha point attributes if not present
and not overridden and required.
When set gives a paint-on-glass effect. The painting on the surface will increase the alpha, so painted areas become visible. Note this has no effect on areas with alpha of one.
Alpha values are accumulated, so you probably want to reset
Alpha attribute to
0 using a
Point node before the Paint node.
If enabled, lets you paint values of the specified attribute
instead of the default
Cd (diffuse color).
Alpha affect the display of surfaces in the
viewport (and Transparency on the Misc tab of the
display options must be on to
Alpha). The Override color and Override Alpha
options let you paint alternate attributes, but they won’t
automatically show up as color and transparency in the
Alpha do. (You can use
Visualize attribute to show a non-color attribute as
If Accumulate alpha is on, this node will use the
attribute to accumulate alpha data (based on the opacity of the
brush). If enabled, this parameter stores the stroke opacity data
in the specified attribute instead of the default
similarly to Override color.
You could instead use Override color set to
paint directly into the Alpha channel. In that case, the value
of the color would be set as the alpha value, instead of the
opacity of the brush being accumulated.
Whether to do a false color visualization of the overridden attribute and what range to map to. See also visualizing attributes.
How to map the attribute value to a color.
The Paint SOP uses the
Cd attribute to store color data. The Override Color parameter lets you specify a different attribute to use for the color data. Similarly, if Accumulate Alpha is enabled, the Paint SOP will use the
Alpha attribute to accumulate alpha data. The Override Alpha parameter lets you specify a different attribute to use for the alpha data. Alpha values are accumulated so you often wish to initialize the Alpha value to 0.
If the geometry contains attributes named
Alpha, they will be used when rendering in the viewport. Overriding the names in the Paint SOP let you manipulate a different set of attributes but the viewport will only recognize
Alpha as having special meaning.
The basic shape of the brush: circle, square, or bitmap.
What bitmap to use. The alpha channel becomes the brush.
The radius of the brush when painting in the 3d viewport.
The radius of the brush when painting in the 2d viewport.
This controls how much effect the pressure of a stylus will have on the radius. A value of 1 means the radius will go from 0 to the amount in Radius. A value of 0 will mean the radius will always be constant, regardless of pressure. A value of 0.5 will mean the radius will be scaled between one half of Radius and Radius.
If set, this limits how far the brush will paint along its axis. This can be used if connectivity is disabled to limit the effect of the brush. The first parameter is how deep below the surface the brush should penetrate. The second is how high above the surface it should stop. These values can be negative.
How far to rotate the brush.
Amount to squash the brush in the y direction before rotation.
The amount to affect the stencil mask.
This controls the how much effect the pressure of a stylus will have on the opacity. It obeys the same scaling as the Radius Pressure.
A random noise in the brush’s opacity based upon the position on the brush.
A random noise on the object’s stencil mask based on the object position.
Percentage of the brush to be rolled off.
Which metaball kernel to use for the roll off.
Up Vector Type
How the brush should be oriented on the surface:
Oriented in the direction in which the brush moves.
Oriented as specified in the Up Vector field.
The fixed up vector to orient brush to.
If set, the brush will perform reflective symmetry. Any strokes will be mirrored along the plane of symmetry.
If set, the brush will perform rotational symmetry. Any strokes will be rotated around the axis of symmetry.
This defines the normal of the plane of symmetry for reflection and the axis of symmetry for rotation.
This defines the origin of the plane of symmetry for reflection and the origin of the axis of symmetry for rotation.
Number of Rotate
This defines the degree of rotational symmetry. A degree of 3 means the stroke will be applied 3 times at 120 degree separation. A value of 5 will perform the stroke 5 times with 72 degrees of separation.
This is the distance of the plane of symmetry from the origin of symmetry.
If set, the brush will reflect when brushing is done in the UV viewport.
The origin of the line of reflection in the UV viewport.
The angle of the line of reflection in the UV viewport. 0 will mirror about the U axis, 90 will mirror about the V axis.
Orient Brush To Surface
Switches between the brush being perpendicular to the surface or always oriented along the view direction. If you are having trouble with a shaky brush, try turning this off. Turn this off in order to brush on disconnected points, (point clouds).
If set, the tool will only affect points connected to the closest point to the intersection. This is usually a good thing, as it avoids accidentally painting through the geometry (but see the depth parameter), but can prevent smoothly painting across seams. This should usually be turned off in order to brush on disconnected points, (point clouds), since they are not connected to each other.
If set, the tool will only affect points facing in the same direction as the closet point to the intersection. This is usually good to avoid accidentally painting the backfacing parts of geometry, but if you want a pure depth brush can be turned off.
Set this to paint geometry as it’s deforming.
The current direction of the brush. If orient to surface is on, this is the normal direction of the surface hit by the brush. Otherwise, it is the direction from the eye to the surface.
The current location of the brush. This tracks the surface as the brush moves along it.
The primitive number of the primitive the current brush is centered at.
The location the current brush is on the current primitive. Note this is a parametric UV location, not the texture UV location.
The amount of force the brush is currently applying. This is only meaningful when a tablet interface that supports pressure is used.
The point closest to the current brush’s center.
Controls the current state of the brush. When it is on No-op, the values of the stroke tab are ignored and no updating of the geometry is done. Other values are set automatically as you brush the surface, allowing the SOP to update in response to your actions.
This example demonstrates how to use the Paint SOP to paint an attribute onto geometry, and then use the attribute to modify the geometry.
This example demonstrates how to paint color onto geometry using the Paint SOP.
This example demonstrates how to paint scattered points onto the surface of your geometry with a set number of points per area.