Uv Operators
- bpy.ops.uv.align(axis='ALIGN_AUTO')
Align selected UV vertices to an axis
- Parameters
axis (enum in ['ALIGN_S', 'ALIGN_T', 'ALIGN_U', 'ALIGN_AUTO', 'ALIGN_X', 'ALIGN_Y'], (optional)) –
Axis, Axis to align UV locations on
ALIGN_S
Straighten – Align UVs along the line defined by the endpoints.ALIGN_T
Straighten X – Align UVs along the line defined by the endpoints along the X axis.ALIGN_U
Straighten Y – Align UVs along the line defined by the endpoints along the Y axis.ALIGN_AUTO
Align Auto – Automatically choose the axis on which there is most alignment already.ALIGN_X
Align X – Align UVs on X axis.ALIGN_Y
Align Y – Align UVs on Y axis.
- bpy.ops.uv.average_islands_scale()
Average the size of separate UV islands, based on their area in 3D space
- bpy.ops.uv.cube_project(cube_size=1.0, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)
Project the UV vertices of the mesh over the six faces of a cube
- Parameters
cube_size (float in [0, inf], (optional)) – Cube Size, Size of the cube to project on
correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account
clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping
scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping
- bpy.ops.uv.cursor_set(location=(0.0, 0.0))
Set 2D cursor location
- Parameters
location (float array of 2 items in [-inf, inf], (optional)) – Location, Cursor location in normalized (0.0 to 1.0) coordinates
- bpy.ops.uv.cylinder_project(direction='VIEW_ON_EQUATOR', align='POLAR_ZX', radius=1.0, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)
Project the UV vertices of the mesh over the curved wall of a cylinder
- Parameters
direction (enum in ['VIEW_ON_EQUATOR', 'VIEW_ON_POLES', 'ALIGN_TO_OBJECT'], (optional)) –
Direction, Direction of the sphere or cylinder
VIEW_ON_EQUATOR
View on Equator – 3D view is on the equator.VIEW_ON_POLES
View on Poles – 3D view is on the poles.ALIGN_TO_OBJECT
Align to Object – Align according to object transform.
align (enum in ['POLAR_ZX', 'POLAR_ZY'], (optional)) –
Align, How to determine rotation around the pole
POLAR_ZX
Polar ZX – Polar 0 is X.POLAR_ZY
Polar ZY – Polar 0 is Y.
radius (float in [0, inf], (optional)) – Radius, Radius of the sphere or cylinder
correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account
clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping
scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping
- bpy.ops.uv.export_layout(filepath='', export_all=False, modified=False, mode='PNG', size=(1024, 1024), opacity=0.25, check_existing=True)
Export UV layout to file
- Parameters
filepath (string, (optional, never None)) – filepath
export_all (boolean, (optional)) – All UVs, Export all UVs in this mesh (not just visible ones)
modified (boolean, (optional)) – Modified, Exports UVs from the modified mesh
mode (enum in ['SVG', 'EPS', 'PNG'], (optional)) –
Format, File format to export the UV layout to
SVG
Scalable Vector Graphic (.svg) – Export the UV layout to a vector SVG file.EPS
Encapsulate PostScript (.eps) – Export the UV layout to a vector EPS file.PNG
PNG Image (.png) – Export the UV layout to a bitmap image.
size (int array of 2 items in [8, 32768], (optional)) – size, Dimensions of the exported file
opacity (float in [0, 1], (optional)) – Fill Opacity, Set amount of opacity for exported UV layout
check_existing (boolean, (optional)) – check_existing
- File
- bpy.ops.uv.follow_active_quads(mode='LENGTH_AVERAGE')
Follow UVs from active quads along continuous face loops
- Parameters
mode (enum in ['EVEN', 'LENGTH', 'LENGTH_AVERAGE'], (optional)) –
Edge Length Mode, Method to space UV edge loops
EVEN
Even – Space all UVs evenly.LENGTH
Length – Average space UVs edge length of each loop.LENGTH_AVERAGE
Length Average – Average space UVs edge length of each loop.
- File
- bpy.ops.uv.hide(unselected=False)
Hide (un)selected UV vertices
- Parameters
unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected
- bpy.ops.uv.lightmap_pack(PREF_CONTEXT='SEL_FACES', PREF_PACK_IN_ONE=True, PREF_NEW_UVLAYER=False, PREF_APPLY_IMAGE=False, PREF_IMG_PX_SIZE=512, PREF_BOX_DIV=12, PREF_MARGIN_DIV=0.1)
Pack each faces UV’s into the UV bounds
- Parameters
PREF_CONTEXT (enum in ['SEL_FACES', 'ALL_FACES'], (optional)) –
Selection
SEL_FACES
Selected Faces – Space all UVs evenly.ALL_FACES
All Faces – Average space UVs edge length of each loop.
PREF_PACK_IN_ONE (boolean, (optional)) – Share Texture Space, Objects share texture space, map all objects into a single UV map
PREF_NEW_UVLAYER (boolean, (optional)) – New UV Map, Create a new UV map for every mesh packed
PREF_APPLY_IMAGE (boolean, (optional)) – New Image, Assign new images for every mesh (only one if Share Texture Space is enabled)
PREF_IMG_PX_SIZE (int in [64, 5000], (optional)) – Image Size, Width and height for the new image
PREF_BOX_DIV (int in [1, 48], (optional)) – Pack Quality, Pre-packing before the complex boxpack
PREF_MARGIN_DIV (float in [0.001, 1], (optional)) – Margin, Size of the margin as a division of the UV
- File
- bpy.ops.uv.mark_seam(clear=False)
Mark selected UV edges as seams
- Parameters
clear (boolean, (optional)) – Clear Seams, Clear instead of marking seams
- bpy.ops.uv.minimize_stretch(fill_holes=True, blend=0.0, iterations=0)
Reduce UV stretching by relaxing angles
- Parameters
fill_holes (boolean, (optional)) – Fill Holes, Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry
blend (float in [0, 1], (optional)) – Blend, Blend factor between stretch minimized and original
iterations (int in [0, inf], (optional)) – Iterations, Number of iterations to run, 0 is unlimited when run interactively
- bpy.ops.uv.pack_islands(udim_source='CLOSEST_UDIM', rotate=True, margin=0.001)
Transform all islands so that they fill up the UV/UDIM space as much as possible
- Parameters
udim_source (enum in ['CLOSEST_UDIM', 'ACTIVE_UDIM'], (optional)) –
Pack to
CLOSEST_UDIM
Closest UDIM – Pack islands to closest UDIM.ACTIVE_UDIM
Active UDIM – Pack islands to active UDIM image tile or UDIM grid tile where 2D cursor is located.
rotate (boolean, (optional)) – Rotate, Rotate islands for best fit
margin (float in [0, 1], (optional)) – Margin, Space between islands
- bpy.ops.uv.pin(clear=False)
Set/clear selected UV vertices as anchored between multiple unwrap operations
- Parameters
clear (boolean, (optional)) – Clear, Clear pinning for the selection instead of setting it
- bpy.ops.uv.project_from_view(orthographic=False, camera_bounds=True, correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)
Project the UV vertices of the mesh as seen in current 3D view
- Parameters
orthographic (boolean, (optional)) – Orthographic, Use orthographic projection
camera_bounds (boolean, (optional)) – Camera Bounds, Map UVs to the camera region taking resolution and aspect into account
correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account
clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping
scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping
- bpy.ops.uv.remove_doubles(threshold=0.02, use_unselected=False)
Selected UV vertices that are within a radius of each other are welded together
- Parameters
threshold (float in [0, 10], (optional)) – Merge Distance, Maximum distance between welded vertices
use_unselected (boolean, (optional)) – Unselected, Merge selected to other unselected vertices
- bpy.ops.uv.reset()
Reset UV projection
- bpy.ops.uv.reveal(select=True)
Reveal all hidden UV vertices
- Parameters
select (boolean, (optional)) – Select
- bpy.ops.uv.rip(mirror=False, release_confirm=False, use_accurate=False, location=(0.0, 0.0))
Rip selected vertices or a selected region
- Parameters
mirror (boolean, (optional)) – Mirror Editing
release_confirm (boolean, (optional)) – Confirm on Release, Always confirm operation when releasing button
use_accurate (boolean, (optional)) – Accurate, Use accurate transformation
location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
- bpy.ops.uv.rip_move(UV_OT_rip=None, TRANSFORM_OT_translate=None)
Unstitch UV’s and move the result
- Parameters
UV_OT_rip (
UV_OT_rip
, (optional)) – UV Rip, Rip selected vertices or a selected regionTRANSFORM_OT_translate (
TRANSFORM_OT_translate
, (optional)) – Move, Move selected items
- bpy.ops.uv.seams_from_islands(mark_seams=True, mark_sharp=False)
Set mesh seams according to island setup in the UV editor
- Parameters
mark_seams (boolean, (optional)) – Mark Seams, Mark boundary edges as seams
mark_sharp (boolean, (optional)) – Mark Sharp, Mark boundary edges as sharp
- bpy.ops.uv.select(extend=False, deselect_all=False, location=(0.0, 0.0))
Select UV vertices
- Parameters
extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection
deselect_all (boolean, (optional)) – Deselect On Nothing, Deselect all when nothing under the cursor
location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
- bpy.ops.uv.select_all(action='TOGGLE')
Change selection of all UV 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.uv.select_box(pinned=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET')
Select UV vertices using box selection
- Parameters
pinned (boolean, (optional)) – Pinned, Border select pinned UVs only
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
mode (enum in ['SET', 'ADD', 'SUB'], (optional)) –
Mode
SET
Set – Set a new selection.ADD
Extend – Extend existing selection.SUB
Subtract – Subtract existing selection.
- bpy.ops.uv.select_circle(x=0, y=0, radius=25, wait_for_input=True, mode='SET')
Select UV vertices using circle selection
- Parameters
x (int in [-inf, inf], (optional)) – X
y (int in [-inf, inf], (optional)) – Y
radius (int in [1, inf], (optional)) – Radius
wait_for_input (boolean, (optional)) – Wait for Input
mode (enum in ['SET', 'ADD', 'SUB'], (optional)) –
Mode
SET
Set – Set a new selection.ADD
Extend – Extend existing selection.SUB
Subtract – Subtract existing selection.
- bpy.ops.uv.select_edge_ring(extend=False, location=(0.0, 0.0))
Select an edge ring of connected UV vertices
- Parameters
extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection
location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
- bpy.ops.uv.select_lasso(path=None, mode='SET')
Select UVs using lasso selection
- Parameters
path (
bpy_prop_collection
ofOperatorMousePath
, (optional)) – Pathmode (enum in ['SET', 'ADD', 'SUB'], (optional)) –
Mode
SET
Set – Set a new selection.ADD
Extend – Extend existing selection.SUB
Subtract – Subtract existing selection.
- bpy.ops.uv.select_less()
Deselect UV vertices at the boundary of each selection region
- bpy.ops.uv.select_linked()
Select all UV vertices linked to the active UV map
- bpy.ops.uv.select_linked_pick(extend=False, deselect=False, location=(0.0, 0.0))
Select all UV vertices linked under the mouse
- Parameters
extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection
deselect (boolean, (optional)) – Deselect, Deselect linked UV vertices rather than selecting them
location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
- bpy.ops.uv.select_loop(extend=False, location=(0.0, 0.0))
Select a loop of connected UV vertices
- Parameters
extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection
location (float array of 2 items in [-inf, inf], (optional)) – Location, Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds
- bpy.ops.uv.select_more()
Select more UV vertices connected to initial selection
- bpy.ops.uv.select_overlap(extend=False)
Select all UV faces which overlap each other
- Parameters
extend (boolean, (optional)) – Extend, Extend selection rather than clearing the existing selection
- bpy.ops.uv.select_pinned()
Select all pinned UV vertices
- bpy.ops.uv.select_split()
Select only entirely selected faces
- bpy.ops.uv.shortest_path_pick(use_face_step=False, use_topology_distance=False, use_fill=False, skip=0, nth=1, offset=0, index=- 1)
Select shortest path between two selections
- Parameters
use_face_step (boolean, (optional)) – Face Stepping, Traverse connected faces (includes diagonals and edge-rings)
use_topology_distance (boolean, (optional)) – Topology Distance, Find the minimum number of steps, ignoring spatial distance
use_fill (boolean, (optional)) – Fill Region, Select all paths between the source/destination elements
skip (int in [0, inf], (optional)) – Deselected, Number of deselected elements in the repetitive sequence
nth (int in [1, inf], (optional)) – Selected, Number of selected elements in the repetitive sequence
offset (int in [-inf, inf], (optional)) – Offset, Offset from the starting point
- bpy.ops.uv.shortest_path_select(use_face_step=False, use_topology_distance=False, use_fill=False, skip=0, nth=1, offset=0)
Selected shortest path between two vertices/edges/faces
- Parameters
use_face_step (boolean, (optional)) – Face Stepping, Traverse connected faces (includes diagonals and edge-rings)
use_topology_distance (boolean, (optional)) – Topology Distance, Find the minimum number of steps, ignoring spatial distance
use_fill (boolean, (optional)) – Fill Region, Select all paths between the source/destination elements
skip (int in [0, inf], (optional)) – Deselected, Number of deselected elements in the repetitive sequence
nth (int in [1, inf], (optional)) – Selected, Number of selected elements in the repetitive sequence
offset (int in [-inf, inf], (optional)) – Offset, Offset from the starting point
- bpy.ops.uv.smart_project(angle_limit=1.15192, island_margin=0.0, area_weight=0.0, correct_aspect=True, scale_to_bounds=False)
Projection unwraps the selected faces of mesh objects
- Parameters
angle_limit (float in [0, 1.5708], (optional)) – Angle Limit, Lower for more projection groups, higher for less distortion
island_margin (float in [0, 1], (optional)) – Island Margin, Margin to reduce bleed from adjacent islands
area_weight (float in [0, 1], (optional)) – Area Weight, Weight projection’s vector by faces with larger areas
correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account
scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping
- bpy.ops.uv.snap_cursor(target='PIXELS')
Snap cursor to target type
- Parameters
target (enum in ['PIXELS', 'SELECTED'], (optional)) – Target, Target to snap the selected UVs to
- bpy.ops.uv.snap_selected(target='PIXELS')
Snap selected UV vertices to target type
- Parameters
target (enum in ['PIXELS', 'CURSOR', 'CURSOR_OFFSET', 'ADJACENT_UNSELECTED'], (optional)) – Target, Target to snap the selected UVs to
- bpy.ops.uv.sphere_project(direction='VIEW_ON_EQUATOR', align='POLAR_ZX', correct_aspect=True, clip_to_bounds=False, scale_to_bounds=False)
Project the UV vertices of the mesh over the curved surface of a sphere
- Parameters
direction (enum in ['VIEW_ON_EQUATOR', 'VIEW_ON_POLES', 'ALIGN_TO_OBJECT'], (optional)) –
Direction, Direction of the sphere or cylinder
VIEW_ON_EQUATOR
View on Equator – 3D view is on the equator.VIEW_ON_POLES
View on Poles – 3D view is on the poles.ALIGN_TO_OBJECT
Align to Object – Align according to object transform.
align (enum in ['POLAR_ZX', 'POLAR_ZY'], (optional)) –
Align, How to determine rotation around the pole
POLAR_ZX
Polar ZX – Polar 0 is X.POLAR_ZY
Polar ZY – Polar 0 is Y.
correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account
clip_to_bounds (boolean, (optional)) – Clip to Bounds, Clip UV coordinates to bounds after unwrapping
scale_to_bounds (boolean, (optional)) – Scale to Bounds, Scale UV coordinates to bounds after unwrapping
- bpy.ops.uv.stitch(use_limit=False, snap_islands=True, limit=0.01, static_island=0, active_object_index=0, midpoint_snap=False, clear_seams=True, mode='VERTEX', stored_mode='VERTEX', selection=None, objects_selection_count=(0, 0, 0, 0, 0, 0))
Stitch selected UV vertices by proximity
- Parameters
use_limit (boolean, (optional)) – Use Limit, Stitch UVs within a specified limit distance
snap_islands (boolean, (optional)) – Snap Islands, Snap islands together (on edge stitch mode, rotates the islands too)
limit (float in [0, inf], (optional)) – Limit, Limit distance in normalized coordinates
static_island (int in [0, inf], (optional)) – Static Island, Island that stays in place when stitching islands
active_object_index (int in [0, inf], (optional)) – Active Object, Index of the active object
midpoint_snap (boolean, (optional)) – Snap at Midpoint, UVs are stitched at midpoint instead of at static island
clear_seams (boolean, (optional)) – Clear Seams, Clear seams of stitched edges
mode (enum in ['VERTEX', 'EDGE'], (optional)) – Operation Mode, Use vertex or edge stitching
stored_mode (enum in ['VERTEX', 'EDGE'], (optional)) – Stored Operation Mode, Use vertex or edge stitching
selection (
bpy_prop_collection
ofSelectedUvElement
, (optional)) – Selectionobjects_selection_count (int array of 6 items in [0, inf], (optional)) – Objects Selection Count
- bpy.ops.uv.unwrap(method='ANGLE_BASED', fill_holes=True, correct_aspect=True, use_subsurf_data=False, margin=0.001)
Unwrap the mesh of the object being edited
- Parameters
method (enum in ['ANGLE_BASED', 'CONFORMAL'], (optional)) – Method, Unwrapping method (Angle Based usually gives better results than Conformal, while being somewhat slower)
fill_holes (boolean, (optional)) – Fill Holes, Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry
correct_aspect (boolean, (optional)) – Correct Aspect, Map UVs taking image aspect ratio into account
use_subsurf_data (boolean, (optional)) – Use Subdivision Surface, Map UVs taking vertex position after Subdivision Surface modifier has been applied
margin (float in [0, 1], (optional)) – Margin, Space between islands
- bpy.ops.uv.weld()
Weld selected UV vertices together