Paint Operators
- bpy.ops.paint.add_simple_uvs()
Add cube map UVs on mesh
- bpy.ops.paint.add_texture_paint_slot(type='BASE_COLOR', slot_type='IMAGE', name='Untitled', color=(0.0, 0.0, 0.0, 1.0), width=1024, height=1024, alpha=True, generated_type='BLANK', float=False, domain='POINT', data_type='COLOR')
Add a paint slot
- Parameters
type (enum in ['BASE_COLOR', 'SPECULAR', 'ROUGHNESS', 'METALLIC', 'NORMAL', 'BUMP', 'DISPLACEMENT'], (optional)) – Material Layer Type, Material layer type of new paint slot
slot_type (enum in ['IMAGE', 'COLOR_ATTRIBUTE'], (optional)) – Slot Type, Type of new paint slot
name (string, (optional, never None)) – Name, Name for new paint slot source
color (float array of 4 items in [0, inf], (optional)) – Color, Default fill color
width (int in [1, inf], (optional)) – Width, Image width
height (int in [1, inf], (optional)) – Height, Image height
alpha (boolean, (optional)) – Alpha, Create an image with an alpha channel
generated_type (enum in Image Generated Type Items, (optional)) – Generated Type, Fill the image with a grid for UV map testing
float (boolean, (optional)) – 32-bit Float, Create image with 32-bit floating-point bit depth
domain (enum in ['POINT', 'CORNER'], (optional)) – Domain, Type of element that attribute is stored on
data_type (enum in ['COLOR', 'BYTE_COLOR'], (optional)) – Data Type, Type of data stored in attribute
- bpy.ops.paint.brush_colors_flip()
Swap primary and secondary brush colors
- bpy.ops.paint.brush_select(sculpt_tool='DRAW', vertex_tool='DRAW', weight_tool='DRAW', image_tool='DRAW', gpencil_tool='DRAW', gpencil_vertex_tool='DRAW', gpencil_sculpt_tool='SMOOTH', gpencil_weight_tool='WEIGHT', curves_sculpt_tool='COMB', toggle=False, create_missing=False)
Select a paint mode’s brush by tool type
- Parameters
sculpt_tool (enum in Brush Sculpt Tool Items, (optional)) – sculpt_tool
vertex_tool (enum in Brush Vertex Tool Items, (optional)) – vertex_tool
weight_tool (enum in Brush Weight Tool Items, (optional)) – weight_tool
image_tool (enum in Brush Image Tool Items, (optional)) – image_tool
gpencil_tool (enum in Brush Gpencil Types Items, (optional)) – gpencil_tool
gpencil_vertex_tool (enum in Brush Gpencil Vertex Types Items, (optional)) – gpencil_vertex_tool
gpencil_sculpt_tool (enum in Brush Gpencil Sculpt Types Items, (optional)) – gpencil_sculpt_tool
gpencil_weight_tool (enum in Brush Gpencil Weight Types Items, (optional)) – gpencil_weight_tool
curves_sculpt_tool (enum in Brush Curves Sculpt Tool Items, (optional)) – curves_sculpt_tool
toggle (boolean, (optional)) – Toggle, Toggle between two brushes rather than cycling
create_missing (boolean, (optional)) – Create Missing, If the requested brush type does not exist, create a new brush
- bpy.ops.paint.face_select_all(action='TOGGLE')
Change selection for all faces
- Parameters
action (enum in ['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'], (optional)) –
Action, Selection action to execute
TOGGLE
Toggle – Toggle selection for all elements.SELECT
Select – Select all elements.DESELECT
Deselect – Deselect all elements.INVERT
Invert – Invert selection of all elements.
- bpy.ops.paint.face_select_hide(unselected=False)
Hide selected faces
- Parameters
unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected objects
- bpy.ops.paint.face_select_less(face_step=True)
Deselect Faces connected to existing selection
- Parameters
face_step (boolean, (optional)) – Face Step, Also deselect faces that only touch on a corner
- bpy.ops.paint.face_select_linked()
Select linked faces
- bpy.ops.paint.face_select_linked_pick(deselect=False)
Select linked faces under the cursor
- Parameters
deselect (boolean, (optional)) – Deselect, Deselect rather than select items
- bpy.ops.paint.face_select_more(face_step=True)
Select Faces connected to existing selection
- Parameters
face_step (boolean, (optional)) – Face Step, Also select faces that only touch on a corner
- bpy.ops.paint.face_vert_reveal(select=True)
Reveal hidden faces and vertices
- Parameters
select (boolean, (optional)) – Select, Specifies whether the newly revealed geometry should be selected
- bpy.ops.paint.grab_clone(delta=(0.0, 0.0))
Move the clone source image
- Parameters
delta (
mathutils.Vector
of 2 items in [-inf, inf], (optional)) – Delta, Delta offset of clone image in 0.0 to 1.0 coordinates
- bpy.ops.paint.hide_show(action='HIDE', area='INSIDE', xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True)
Hide/show some vertices
- Parameters
action (enum in ['HIDE', 'SHOW'], (optional)) –
Action, Whether to hide or show vertices
HIDE
Hide – Hide vertices.SHOW
Show – Show vertices.
area (enum in ['OUTSIDE', 'INSIDE', 'ALL', 'MASKED'], (optional)) –
Area, Which vertices to hide or show
OUTSIDE
Outside – Hide or show vertices outside the selection.INSIDE
Inside – Hide or show vertices inside the selection.ALL
All – Hide or show all vertices.MASKED
Masked – Hide or show vertices that are masked (minimum mask value of 0.5).
xmin (int in [-inf, inf], (optional)) – X Min
xmax (int in [-inf, inf], (optional)) – X Max
ymin (int in [-inf, inf], (optional)) – Y Min
ymax (int in [-inf, inf], (optional)) – Y Max
wait_for_input (boolean, (optional)) – Wait for Input
- bpy.ops.paint.image_from_view(filepath='')
Make an image from biggest 3D view for reprojection
- Parameters
filepath (string, (optional, never None)) – File Path, Name of the file
- bpy.ops.paint.image_paint(stroke=None, mode='NORMAL')
Paint a stroke into the image
- Parameters
stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Strokemode (enum in ['NORMAL', 'INVERT', 'SMOOTH'], (optional)) –
Stroke Mode, Action taken when a paint stroke is made
NORMAL
Regular – Apply brush normally.INVERT
Invert – Invert action of brush for duration of stroke.SMOOTH
Smooth – Switch brush to smooth mode for duration of stroke.
- bpy.ops.paint.mask_box_gesture(xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, use_front_faces_only=False, use_limit_to_segment=False, mode='VALUE', value=1.0)
Add mask within the box as you move the brush
- Parameters
xmin (int in [-inf, inf], (optional)) – X Min
xmax (int in [-inf, inf], (optional)) – X Max
ymin (int in [-inf, inf], (optional)) – Y Min
ymax (int in [-inf, inf], (optional)) – Y Max
wait_for_input (boolean, (optional)) – Wait for Input
use_front_faces_only (boolean, (optional)) – Front Faces Only, Affect only faces facing towards the view
use_limit_to_segment (boolean, (optional)) – Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
mode (enum in ['VALUE', 'VALUE_INVERSE', 'INVERT'], (optional)) –
Mode
VALUE
Value – Set mask to the level specified by the ‘value’ property.VALUE_INVERSE
Value Inverted – Set mask to the level specified by the inverted ‘value’ property.INVERT
Invert – Invert the mask.
value (float in [0, 1], (optional)) – Value, Mask level to use when mode is ‘Value’; zero means no masking and one is fully masked
- bpy.ops.paint.mask_flood_fill(mode='VALUE', value=0.0)
Fill the whole mask with a given value, or invert its values
- Parameters
mode (enum in ['VALUE', 'VALUE_INVERSE', 'INVERT'], (optional)) –
Mode
VALUE
Value – Set mask to the level specified by the ‘value’ property.VALUE_INVERSE
Value Inverted – Set mask to the level specified by the inverted ‘value’ property.INVERT
Invert – Invert the mask.
value (float in [0, 1], (optional)) – Value, Mask level to use when mode is ‘Value’; zero means no masking and one is fully masked
- bpy.ops.paint.mask_lasso_gesture(path=None, use_front_faces_only=False, use_limit_to_segment=False, mode='VALUE', value=1.0)
Add mask within the lasso as you move the brush
- Parameters
path (
bpy_prop_collection
ofOperatorMousePath
, (optional)) – Pathuse_front_faces_only (boolean, (optional)) – Front Faces Only, Affect only faces facing towards the view
use_limit_to_segment (boolean, (optional)) – Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
mode (enum in ['VALUE', 'VALUE_INVERSE', 'INVERT'], (optional)) –
Mode
VALUE
Value – Set mask to the level specified by the ‘value’ property.VALUE_INVERSE
Value Inverted – Set mask to the level specified by the inverted ‘value’ property.INVERT
Invert – Invert the mask.
value (float in [0, 1], (optional)) – Value, Mask level to use when mode is ‘Value’; zero means no masking and one is fully masked
- bpy.ops.paint.mask_line_gesture(xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5, use_front_faces_only=False, use_limit_to_segment=False, mode='VALUE', value=1.0)
Add mask to the right of a line as you move the brush
- Parameters
xstart (int in [-inf, inf], (optional)) – X Start
xend (int in [-inf, inf], (optional)) – X End
ystart (int in [-inf, inf], (optional)) – Y Start
yend (int in [-inf, inf], (optional)) – Y End
flip (boolean, (optional)) – Flip
cursor (int in [0, inf], (optional)) – Cursor, Mouse cursor style to use during the modal operator
use_front_faces_only (boolean, (optional)) – Front Faces Only, Affect only faces facing towards the view
use_limit_to_segment (boolean, (optional)) – Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
mode (enum in ['VALUE', 'VALUE_INVERSE', 'INVERT'], (optional)) –
Mode
VALUE
Value – Set mask to the level specified by the ‘value’ property.VALUE_INVERSE
Value Inverted – Set mask to the level specified by the inverted ‘value’ property.INVERT
Invert – Invert the mask.
value (float in [0, 1], (optional)) – Value, Mask level to use when mode is ‘Value’; zero means no masking and one is fully masked
- bpy.ops.paint.project_image(image='')
Project an edited render from the active camera back onto the object
- Parameters
image (enum in [], (optional)) – Image
- bpy.ops.paint.sample_color(location=(0, 0), merged=False, palette=False)
Use the mouse to sample a color in the image
- Parameters
location (int array of 2 items in [0, inf], (optional)) – Location
merged (boolean, (optional)) – Sample Merged, Sample the output display color
palette (boolean, (optional)) – Add to Palette
- bpy.ops.paint.texture_paint_toggle()
Toggle texture paint mode in 3D view
- bpy.ops.paint.vert_select_all(action='TOGGLE')
Change selection for all vertices
- Parameters
action (enum in ['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'], (optional)) –
Action, Selection action to execute
TOGGLE
Toggle – Toggle selection for all elements.SELECT
Select – Select all elements.DESELECT
Deselect – Deselect all elements.INVERT
Invert – Invert selection of all elements.
- bpy.ops.paint.vert_select_hide(unselected=False)
Hide selected vertices
- Parameters
unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected vertices
- bpy.ops.paint.vert_select_less(face_step=True)
Deselect Vertices connected to existing selection
- Parameters
face_step (boolean, (optional)) – Face Step, Also deselect faces that only touch on a corner
- bpy.ops.paint.vert_select_linked()
Select linked vertices
- bpy.ops.paint.vert_select_linked_pick(select=True)
Select linked vertices under the cursor
- Parameters
select (boolean, (optional)) – Select, Whether to select or deselect linked vertices under the cursor
- bpy.ops.paint.vert_select_more(face_step=True)
Select Vertices connected to existing selection
- Parameters
face_step (boolean, (optional)) – Face Step, Also select faces that only touch on a corner
- bpy.ops.paint.vert_select_ungrouped(extend=False)
Select vertices without a group
- Parameters
extend (boolean, (optional)) – Extend, Extend the selection
- bpy.ops.paint.vertex_color_brightness_contrast(brightness=0.0, contrast=0.0)
Adjust vertex color brightness/contrast
- Parameters
brightness (float in [-100, 100], (optional)) – Brightness
contrast (float in [-100, 100], (optional)) – Contrast
- bpy.ops.paint.vertex_color_dirt(blur_strength=1.0, blur_iterations=1, clean_angle=3.14159, dirt_angle=0.0, dirt_only=False, normalize=True)
Generate a dirt map gradient based on cavity
- Parameters
blur_strength (float in [0.01, 1], (optional)) – Blur Strength, Blur strength per iteration
blur_iterations (int in [0, 40], (optional)) – Blur Iterations, Number of times to blur the colors (higher blurs more)
clean_angle (float in [0, 3.14159], (optional)) – Highlight Angle, Less than 90 limits the angle used in the tonal range
dirt_angle (float in [0, 3.14159], (optional)) – Dirt Angle, Less than 90 limits the angle used in the tonal range
dirt_only (boolean, (optional)) – Dirt Only, Don’t calculate cleans for convex areas
normalize (boolean, (optional)) – Normalize, Normalize the colors, increasing the contrast
- File
- bpy.ops.paint.vertex_color_from_weight()
Convert active weight into gray scale vertex colors
- bpy.ops.paint.vertex_color_hsv(h=0.5, s=1.0, v=1.0)
Adjust vertex color Hue/Saturation/Value
- Parameters
h (float in [0, 1], (optional)) – Hue
s (float in [0, 2], (optional)) – Saturation
v (float in [0, 2], (optional)) – Value
- bpy.ops.paint.vertex_color_invert()
Invert RGB values
- bpy.ops.paint.vertex_color_levels(offset=0.0, gain=1.0)
Adjust levels of vertex colors
- Parameters
offset (float in [-1, 1], (optional)) – Offset, Value to add to colors
gain (float in [0, inf], (optional)) – Gain, Value to multiply colors by
- bpy.ops.paint.vertex_color_set()
Fill the active vertex color layer with the current paint color
- bpy.ops.paint.vertex_color_smooth()
Smooth colors across vertices
- bpy.ops.paint.vertex_paint(stroke=None, mode='NORMAL')
Paint a stroke in the active color attribute layer
- Parameters
stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Strokemode (enum in ['NORMAL', 'INVERT', 'SMOOTH'], (optional)) –
Stroke Mode, Action taken when a paint stroke is made
NORMAL
Regular – Apply brush normally.INVERT
Invert – Invert action of brush for duration of stroke.SMOOTH
Smooth – Switch brush to smooth mode for duration of stroke.
- bpy.ops.paint.vertex_paint_toggle()
Toggle the vertex paint mode in 3D view
- bpy.ops.paint.weight_from_bones(type='AUTOMATIC')
Set the weights of the groups matching the attached armature’s selected bones, using the distance between the vertices and the bones
- Parameters
type (enum in ['AUTOMATIC', 'ENVELOPES'], (optional)) –
Type, Method to use for assigning weights
AUTOMATIC
Automatic – Automatic weights from bones.ENVELOPES
From Envelopes – Weights from envelopes with user defined radius.
- bpy.ops.paint.weight_gradient(type='LINEAR', xstart=0, xend=0, ystart=0, yend=0, flip=False, cursor=5)
Draw a line to apply a weight gradient to selected vertices
- Parameters
type (enum in ['LINEAR', 'RADIAL'], (optional)) – Type
xstart (int in [-inf, inf], (optional)) – X Start
xend (int in [-inf, inf], (optional)) – X End
ystart (int in [-inf, inf], (optional)) – Y Start
yend (int in [-inf, inf], (optional)) – Y End
flip (boolean, (optional)) – Flip
cursor (int in [0, inf], (optional)) – Cursor, Mouse cursor style to use during the modal operator
- bpy.ops.paint.weight_paint(stroke=None, mode='NORMAL')
Paint a stroke in the current vertex group’s weights
- Parameters
stroke (
bpy_prop_collection
ofOperatorStrokeElement
, (optional)) – Strokemode (enum in ['NORMAL', 'INVERT', 'SMOOTH'], (optional)) –
Stroke Mode, Action taken when a paint stroke is made
NORMAL
Regular – Apply brush normally.INVERT
Invert – Invert action of brush for duration of stroke.SMOOTH
Smooth – Switch brush to smooth mode for duration of stroke.
- bpy.ops.paint.weight_paint_toggle()
Toggle weight paint mode in 3D view
- bpy.ops.paint.weight_sample()
Use the mouse to sample a weight in the 3D view
- bpy.ops.paint.weight_sample_group(group='')
Select one of the vertex groups available under current mouse position
- Parameters
group (enum in [], (optional)) – Group, Vertex group to set as active
- bpy.ops.paint.weight_set()
Fill the active vertex group with the current paint weight