pymel.core.modeling.polyMultiLayoutUV¶
- polyMultiLayoutUV(*args, **kwargs)¶
place the UVs of the selected polygonal objects so that they do not overlap.
Flags:
Long Name / Short Name Argument Types Properties flipReversed / fr bool If this flag is turned on, the reversed UV pieces are fliped. gridU / gu int The U size of the grids. gridV / gv int The V size of the grids. layout / l int How to move the UV pieces, after cuts are applied: 0 No move is applied. 1 Layout the pieces along the U axis. 2 Layout the pieces in a square shape. 3 Layout the pieces in grids. 4 Layout the pieces in nearest regions. layoutMethod / lm int // -lm/layoutMethod layoutMethod integer// (C, E, Q) Which layout method to use: // 0 Block Stacking. // 1 Shape Stacking. offsetU / ou float Offset the layout in the U direction by the given value. offsetV / ov float Offset the layout in the V direction by the given value. percentageSpace / ps float When layout is set to square, this value is a percentage of the texture area which is added around each UV piece. It can be used to ensure each UV piece uses different pixels in the texture. Maximum value is 5 percent. prescale / psc int Prescale the shell before laying it out. 0 No scale is applied. 1 Object space scaling applied. 2 World space scaling applied. rotateForBestFit / rbf int How to rotate the pieces, before move: 0 No rotation is applied. 1 Only allow 90 degree rotations. 2 Allow free rotations. scale / sc int How to scale the pieces, after move: 0 No scale is applied. 1 Uniform scale to fit in unit square. 2 Non proportional scale to fit in unit square. sizeU / su float Scale the layout in the U direction by the given value. sizeV / sv float Scale the layout in the V direction by the given value. uvSetName / uvs unicode Specifies the name of the uv set to edit uvs on. If not specified will use the current uv set if it exists. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.polyMultiLayoutUV
Example:
import pymel.core as pm # Create 3 objects with overlapping UVs sphere = pm.polySphere() cylinder = pm.polyCylinder() torus = pm.polyTorus() pm.polyAutoProjection( sphere[0], ibd=1, cm=0, l=2, sc=1, o=1, p=4, ps=0.2 ) pm.polyAutoProjection( cylinder[0], ibd=1, cm=0, l=2, sc=1, o=1, p=4, ps=0.2 ) pm.polyAutoProjection( torus[0], ibd=1, cm=0, l=2, sc=1, o=1, p=4, ps=0.2 ) pm.select( sphere[0], cylinder[0], torus[0] ) # Layout the UVs in a square, allow free rotations, scale uniformly pm.polyMultiLayoutUV( scale=1, rotateForBestFit=2, layout=2 )